From 299202fd51960d8460e74525f4555c8851774625 Mon Sep 17 00:00:00 2001 From: "mula.liu" Date: Fri, 11 Apr 2025 10:39:32 +0800 Subject: [PATCH] v1.0.1 --- .DS_Store | Bin 0 -> 6148 bytes pom.xml | 11 +- ruoyi-admin/.DS_Store | Bin 0 -> 6148 bytes ruoyi-admin/pom.xml | 5 + ruoyi-admin/src/.DS_Store | Bin 0 -> 6148 bytes ruoyi-admin/src/main/.DS_Store | Bin 0 -> 6148 bytes ruoyi-admin/src/main/resources/.DS_Store | Bin 0 -> 8196 bytes .../src/main/resources/application-druid.yml | 4 +- .../src/main/resources/application.yml | 4 +- ruoyi-admin/src/main/resources/logback.xml | 2 +- .../src/main/resources/templates/.DS_Store | Bin 0 -> 6148 bytes .../main/resources/templates/manage/.DS_Store | Bin 0 -> 6148 bytes .../templates/manage/delivery/add.html | 146 ++ .../templates/manage/delivery/delivery.html | 136 ++ .../templates/manage/delivery/edit.html | 147 ++ .../resources/templates/manage/order/add.html | 273 ++++ .../templates/manage/order/edit.html | 283 ++++ .../templates/manage/order/order.html | 129 ++ .../main/resources/templates/system/.DS_Store | Bin 0 -> 6148 bytes .../templates/system/product/add.html | 85 ++ .../templates/system/product/edit.html | 66 + .../templates/system/product/product.html | 114 ++ ruoyi-sip/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/.mvn/jvm.config | 0 ruoyi-sip/.mvn/maven.config | 0 ruoyi-sip/pom.xml | 31 + ruoyi-sip/src/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/src/main/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/src/main/java/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/src/main/java/com/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/src/main/java/com/ruoyi/.DS_Store | Bin 0 -> 6148 bytes .../src/main/java/com/ruoyi/sip/.DS_Store | Bin 0 -> 6148 bytes .../controller/OrderDeliveryController.java | 128 ++ .../sip/controller/OrderInfoController.java | 128 ++ .../sip/controller/ProductInfoController.java | 128 ++ .../com/ruoyi/sip/domain/OrderDelivery.java | 242 ++++ .../java/com/ruoyi/sip/domain/OrderInfo.java | 287 ++++ .../java/com/ruoyi/sip/domain/OrderList.java | 156 +++ .../com/ruoyi/sip/domain/ProductInfo.java | 144 ++ .../ruoyi/sip/mapper/OrderDeliveryMapper.java | 61 + .../com/ruoyi/sip/mapper/OrderInfoMapper.java | 87 ++ .../ruoyi/sip/mapper/ProductInfoMapper.java | 61 + .../main/java/com/ruoyi/sip/service/.DS_Store | Bin 0 -> 6148 bytes .../sip/service/IOrderDeliveryService.java | 61 + .../ruoyi/sip/service/IOrderInfoService.java | 61 + .../sip/service/IProductInfoService.java | 61 + .../impl/OrderDeliveryServiceImpl.java | 94 ++ .../service/impl/OrderInfoServiceImpl.java | 132 ++ .../service/impl/ProductInfoServiceImpl.java | 94 ++ ruoyi-sip/src/main/resources/.DS_Store | Bin 0 -> 6148 bytes ruoyi-sip/src/main/resources/mapper/.DS_Store | Bin 0 -> 6148 bytes .../mapper/manage/OrderDeliveryMapper.xml | 118 ++ .../mapper/manage/OrderInfoMapper.xml | 161 +++ .../mapper/system/ProductInfoMapper.xml | 84 ++ .../2025/04/11/blob_20250411032004A001.png | Bin 0 -> 170876 bytes sql/unis_pms_20250410.sql | 963 +++++++++++++ sql/unis_pms_20250411.sql | 1248 +++++++++++++++++ 57 files changed, 5928 insertions(+), 7 deletions(-) create mode 100644 .DS_Store create mode 100644 ruoyi-admin/.DS_Store create mode 100644 ruoyi-admin/src/.DS_Store create mode 100644 ruoyi-admin/src/main/.DS_Store create mode 100644 ruoyi-admin/src/main/resources/.DS_Store create mode 100644 ruoyi-admin/src/main/resources/templates/.DS_Store create mode 100644 ruoyi-admin/src/main/resources/templates/manage/.DS_Store create mode 100644 ruoyi-admin/src/main/resources/templates/manage/delivery/add.html create mode 100644 ruoyi-admin/src/main/resources/templates/manage/delivery/delivery.html create mode 100644 ruoyi-admin/src/main/resources/templates/manage/delivery/edit.html create mode 100644 ruoyi-admin/src/main/resources/templates/manage/order/add.html create mode 100644 ruoyi-admin/src/main/resources/templates/manage/order/edit.html create mode 100644 ruoyi-admin/src/main/resources/templates/manage/order/order.html create mode 100644 ruoyi-admin/src/main/resources/templates/system/.DS_Store create mode 100644 ruoyi-admin/src/main/resources/templates/system/product/add.html create mode 100644 ruoyi-admin/src/main/resources/templates/system/product/edit.html create mode 100644 ruoyi-admin/src/main/resources/templates/system/product/product.html create mode 100644 ruoyi-sip/.DS_Store create mode 100644 ruoyi-sip/.mvn/jvm.config create mode 100644 ruoyi-sip/.mvn/maven.config create mode 100644 ruoyi-sip/pom.xml create mode 100644 ruoyi-sip/src/.DS_Store create mode 100644 ruoyi-sip/src/main/.DS_Store create mode 100644 ruoyi-sip/src/main/java/.DS_Store create mode 100644 ruoyi-sip/src/main/java/com/.DS_Store create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/.DS_Store create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/.DS_Store create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderDeliveryController.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProductInfoController.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderDelivery.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderInfo.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/domain/ProductInfo.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderDeliveryMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/.DS_Store create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderDeliveryService.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/IProductInfoService.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderDeliveryServiceImpl.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java create mode 100644 ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProductInfoServiceImpl.java create mode 100644 ruoyi-sip/src/main/resources/.DS_Store create mode 100644 ruoyi-sip/src/main/resources/mapper/.DS_Store create mode 100644 ruoyi-sip/src/main/resources/mapper/manage/OrderDeliveryMapper.xml create mode 100644 ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml create mode 100644 ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml create mode 100644 ruoyi/uploadPath/avatar/2025/04/11/blob_20250411032004A001.png create mode 100644 sql/unis_pms_20250410.sql create mode 100644 sql/unis_pms_20250411.sql diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..055f2cf7909cdee77e5312e1328522b373ff87a8 GIT binary patch literal 6148 zcmeHKF;2rk5S%3`g3_c+c^{zQ2d5~!ARmBW2}LqC#7ZPOcYK@Ky^SC`Xep9iX>aVk znX^2F*9$;ahvptw0GKfq@u^E4y02NqjaMc_u`_nK!xI|3Vpp+$FQ|5oJr3ycLDjdu zYli1`+xIPx#_btpAo1;cK;2rI8v+vrzdtpUI5#c~M5DtU`;XpW0JK#NXHm|p$ z5)Om|SMGp*9}-hBJB|hI)4|0?0OFKo3trnSK}=d8X2-E0D-0=8Vv&lE7*gb{C+B6y zv0#xyeE1N5viO7|_H>?~j1I{KV+{wwfpZ6R_GT=!|35JQnE#a%5e|d{7wUja*PHc< zFXz3rdQI)MiTTJp1-VA&Vy&2Ht(Z63ikCllNw2w|9mj$uXWit)_z_TFBEo_HaNr9b CU?7PA literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 9e7ce6ff..c3c58e56 100644 --- a/pom.xml +++ b/pom.xml @@ -8,8 +8,8 @@ 4.8.0 ruoyi - http://www.ruoyi.vip - 若依管理系统 + http://sip.unissens.tech + 汇智SIP管理系统 4.8.0 @@ -229,6 +229,12 @@ ${ruoyi.version} + + com.ruoyi + ruoyi-sip + ${ruoyi.version} + + @@ -239,6 +245,7 @@ ruoyi-quartz ruoyi-generator ruoyi-common + ruoyi-sip pom diff --git a/ruoyi-admin/.DS_Store b/ruoyi-admin/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9a874b5768f336915163bb88cd434575b859f936 GIT binary patch literal 6148 zcmeH~Jr2S!425ml0g0s}V-^m;4I%_5-~tF3k&vj^b9A16778<}(6eNJu~Vz<8=6`~ zboab&MFtUB!i}=AFfm2m$tVxGT*u4pe81nUlA49C} z?O@64YO)2RT{MRe%{!}2F))pG(Sih~)xkgosK7*lF7m<7{{#Hn{6A@7N(HFEpDCdI z{ruoyi-generator + + com.ruoyi + ruoyi-sip + + diff --git a/ruoyi-admin/src/.DS_Store b/ruoyi-admin/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..7b0d36729e2ee777a660f9e8c6709dd97bc2fb68 GIT binary patch literal 6148 zcmeH~F>V4u3`M`g7D#EfOgRk)$PGpaPQV2S&>%r5BKkQx-ySzvsH0W%E!l7ES!;KH zv9ktX>-*^w7y&HlPOLmk%$N_j;tOYdpMH*)!|itQBJHgMp3+B5_H$d10#ZNMM4T9irw zDe%t}uwk>?toc%Twm!X{*Y{cVb)%DUIm54?049DEf6&9YUwlE5gg5S?}0Mj{k^Xd%aiUJZ5P5D2{pH>I~yqLLii;!2TeMHFq&M}05`o!dW@ zUy|R`H@oYQVD}nKnSt52yEC&|y%jqeB2tq!J0KbmQ2=G^g=jVi+gaD7=V$srW!Gq_ zqDz`l{o!oQTPC)V0Y1ABr-m~lLl4gH)2OYR3f4Y-q=c^FvC%V~*EeZlQdn=(nAPj6d1OD0y z_O^VVvOQry7ivm&|V#AYzYA5-$*Oyb1lI!+GFIga|jDWxlo`BRldYf zE*$gP`$Zl*hc29yFFurivho#*vQNkQ+Pag997-z;2m_B9*m1)F=l}QruKyng$w(Lw z2L3AsRR1(So#2&xZe4ph&b1o)9m>Lfox}SObZjbyFQ?*ts1?j>?f@f?okPq(lV_ literal 0 HcmV?d00001 diff --git a/ruoyi-admin/src/main/resources/.DS_Store b/ruoyi-admin/src/main/resources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..113aba2fe2104d0db53f87cf37ab33a886459060 GIT binary patch literal 8196 zcmeHMU2GIp6u#fIz>FPWS}7D{*_8z((AsSa2o!Pq!%w9ZWLx?}vF`2+?Z|Yd?#yoa zNwvgi{7d{d@rkJDBT=IfV<762i4vn}NFvfD(F~(%-oN8q>Owsr}?>96lkjx+o(r3(KY34D5xtY-$R)>Nx z0$~Kg2!s&`BM?SlIz)i(Y~JLX-1}lS9K#5N5%^z5fPWui)HzKCbX-vX(?Nq@0uU`F zvES&K>HuFS7SLos#|8CO$)>0t5U3(3F(A}wKE{_5O$KyaP@&Es)ER=E5mYGfcPG7= zznmc{XgG!u2qSP~1bFSP_%-`58@aZAcSkaolcCv@nGwr$y+q|DZGiS-O8Lxf~gy{q`%v=b!W8M$=kZ? z>!!qntjNlMR(0gan)fvFg~74fToY*qVlQV`GY38Lw^JJ#fGpww-5%GYCEi zZ1#1|JvX&yx|_8!bW*N1h2xf6Xc3N=q>7H8D>|;+R;JF5bocc3sr@}>*0EFOVPim> z>yr0v#O}%&1@gK(>sa|=+a1u#vuP`vx6+=`WLbPM$>zG*oMTzL9M|+r$L{U%jDud$ z(4?uJKG(^4Exxe$vT-7OB>B(ozNAsq4NQ=v|*dwwuuE^R){W=}8!_m1#-Jgj>mfj`H zd%3(NXV56bYGidaDWp4H3Q%y&M4h5&Zs!5Y6QQcET_-D=-esjTh82i5Hj-#ZcR_d_ z2rKWCm7c6KJWS5GLKbOhm1XVAhxo?rY1i91V%S%X)UsWc``n>)&e%ChSz6R+mu3IO zlANn-(M`|E`O$b_X(ZCiO*QGdp_9{#suos6QjsoM`;K%p(=M2V3wjp<9&$X{GVZ^V zcyg6^H*rB2^JA>cE3yIQcVUFBVC(7b>ty?x!;Z4&*)jGZJH<}3Gwduo&n~dv*d_Km z`-5FZ2~<>IF_xhQwMd{28_|eO*o+KlTg9ETI33S^;{LG((7eDj;?6^K_eLSj5qFn?HdRGUe_5$x({O;nQzuYyfP>s76U(5U#jYoj%)23as0)J9b+C0q)2 zv${mpm?D_wXlqpCD3kx`eE*i6V?R>9Uu2gs6J^j4#Y)_b^_1URu^nw_M+fD24|=f| z{V*_yAv{7E@1cNE9KvBdfhQ^7pT;wI8L#3sypCgdld}Fe-l3d-5AWjxe2P;zjnDA8 zpZyc~0YBmA>+-o{az5kY)cIUU3JrV-m;2>7(JTKjq~};Lmkj8*pfp46 WU;iQCmj2Nl-v8nK&)omQ{r@+HDv>|{ literal 0 HcmV?d00001 diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index a69d8feb..1f967466 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,9 +6,9 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://localhost:3306/unis_pms?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root - password: password + password: sagacity # 从库数据源 slave: # 从数据源开关/默认关闭 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index ffb65e8b..da4aee84 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -9,14 +9,14 @@ ruoyi: # 实例演示开关 demoEnabled: true # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) - profile: D:/ruoyi/uploadPath + profile: ruoyi/uploadPath # 获取ip地址开关 addressEnabled: false # 开发环境配置 server: # 服务器的HTTP端口,默认为80 - port: 80 + port: 8080 servlet: # 应用的访问路径 context-path: / diff --git a/ruoyi-admin/src/main/resources/logback.xml b/ruoyi-admin/src/main/resources/logback.xml index d69a5720..860080b7 100644 --- a/ruoyi-admin/src/main/resources/logback.xml +++ b/ruoyi-admin/src/main/resources/logback.xml @@ -1,7 +1,7 @@ - + diff --git a/ruoyi-admin/src/main/resources/templates/.DS_Store b/ruoyi-admin/src/main/resources/templates/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..34b552f0ab0eaf8571277ebb994b79303681847e GIT binary patch literal 6148 zcmeHK%}T>S5T0#on<7FFDjpZS7OX!M#7n641&ruHr6wk5FwK@GwMZ%Cs4wKB_&m<+ zZiP_2iAb4&*>87tzD@T_+06ie=uN_XfEEBa=!BIfHs2V{lP_7tMrw#cukip;FwI6m zqJpJt4*W+2=-t&}2tK6f<@fg~kpwpH|hu!(S>1^%potzJzl3}V|jf?{SaoRR4F5nG2r5%OYeG=d=BtmK8*&C;c zN*^$8<}!GJ404EIxF9W7Wn=|d0ajp@6tE|#v%X53;=Ql}tiZ1*K<9%*Cv+_q2KCW_ zjV=KY=`&Ir_NkU2j$EObYz90v`n*8!rF= literal 0 HcmV?d00001 diff --git a/ruoyi-admin/src/main/resources/templates/manage/delivery/add.html b/ruoyi-admin/src/main/resources/templates/manage/delivery/add.html new file mode 100644 index 00000000..7efc5f73 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/delivery/add.html @@ -0,0 +1,146 @@ + + + + + + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/manage/delivery/delivery.html b/ruoyi-admin/src/main/resources/templates/manage/delivery/delivery.html new file mode 100644 index 00000000..1e2c67f0 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/delivery/delivery.html @@ -0,0 +1,136 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/manage/delivery/edit.html b/ruoyi-admin/src/main/resources/templates/manage/delivery/edit.html new file mode 100644 index 00000000..72341514 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/delivery/edit.html @@ -0,0 +1,147 @@ + + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/manage/order/add.html b/ruoyi-admin/src/main/resources/templates/manage/order/add.html new file mode 100644 index 00000000..7cb986b4 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/order/add.html @@ -0,0 +1,273 @@ + + + + + + + +
+
+

合同档案信息

+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+

合同清单列表

+
+
+ + +
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/manage/order/edit.html b/ruoyi-admin/src/main/resources/templates/manage/order/edit.html new file mode 100644 index 00000000..cd28b573 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/order/edit.html @@ -0,0 +1,283 @@ + + + + + + + +
+
+

合同档案信息

+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ + +
+
+
+
+
+
+ +
+ +
+
+
+

合同清单列表

+
+
+ + +
+
+
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/manage/order/order.html b/ruoyi-admin/src/main/resources/templates/manage/order/order.html new file mode 100644 index 00000000..1fe2ab9f --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/manage/order/order.html @@ -0,0 +1,129 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/.DS_Store b/ruoyi-admin/src/main/resources/templates/system/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..b4a6171494d9bf38d0e268e30a5601aff396b50a GIT binary patch literal 6148 zcmeHKyGjH>5Ukb(4@@pJoL}${hU5GKe?Yu7TUb#q-^lOs)2x0V9(#g`iBv;R&GdB5 zFcoZX1F+q3yal!ZHgre4`>;0OcVF2>MI0^8IO2e}@%1o0&a3S60q0)f884VI;v0XS zoG`@3gr__-gXd3DR0>D|DIf);fE4(R0<76?o9jf4Qa}nwfiDI8`_Sl)y>Lm4PX~u+ z0f+;`VVp-VL2Mo%_QEBR5t=2Hm{hA4!;;Q;tGr&gBqkjeH}jmj*{VaaxSjD9>9C%t zQ3^KhQnrgYL$8P&h<6 kCPq2t!preZBxPRnIrn?vk{EQxgHF`Xfa@ZY0)MT*Cl=BgwEzGB literal 0 HcmV?d00001 diff --git a/ruoyi-admin/src/main/resources/templates/system/product/add.html b/ruoyi-admin/src/main/resources/templates/system/product/add.html new file mode 100644 index 00000000..ffd60041 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/product/add.html @@ -0,0 +1,85 @@ + + + + + + + +
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/product/edit.html b/ruoyi-admin/src/main/resources/templates/system/product/edit.html new file mode 100644 index 00000000..36269754 --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/product/edit.html @@ -0,0 +1,66 @@ + + + + + + +
+
+ +
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ +
+ +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/templates/system/product/product.html b/ruoyi-admin/src/main/resources/templates/system/product/product.html new file mode 100644 index 00000000..cc02df4c --- /dev/null +++ b/ruoyi-admin/src/main/resources/templates/system/product/product.html @@ -0,0 +1,114 @@ + + + + + + +
+
+
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
  • +  搜索 +  重置 +
  • +
+
+
+
+ + +
+
+
+
+
+ + + + \ No newline at end of file diff --git a/ruoyi-sip/.DS_Store b/ruoyi-sip/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..4154364b222b266cc8b6e717467765559fec10cb GIT binary patch literal 6148 zcmeHKPfNov6i?iA9Yg3rVaI^if%}Iryp%e>fE7Kc%yu1Gtj%aUdl-YB^$Yn){5-yw zq~LG|Pa^I;NPaKxPn!IoNgiX2yNj^Ln9UfopdoTpHVB$Gx^_%(4Upp;**u740HgO{ zZhU_oaP2jgv6M}N;_Le3D9gLu557~Y@9s6MhSjp}yhmAhxt}jG*H3S7bSY&VRJtEr zMYCdJADqb~_oHN%s)Q(%2h25FE_1ix2t`*Skp`l=0i3$klYmWdJ;5pJ( ePVE<{L!4u<)QGd7U8MukLqHKi9Wn3=415Cp8%`qt literal 0 HcmV?d00001 diff --git a/ruoyi-sip/.mvn/jvm.config b/ruoyi-sip/.mvn/jvm.config new file mode 100644 index 00000000..e69de29b diff --git a/ruoyi-sip/.mvn/maven.config b/ruoyi-sip/.mvn/maven.config new file mode 100644 index 00000000..e69de29b diff --git a/ruoyi-sip/pom.xml b/ruoyi-sip/pom.xml new file mode 100644 index 00000000..09febd07 --- /dev/null +++ b/ruoyi-sip/pom.xml @@ -0,0 +1,31 @@ + + + + + ruoyi + com.ruoyi + 4.8.0 + + 4.0.0 + + ruoyi-sip + war + + ruoyi-sip Maven Webapp + + http://www.example.com + + + UTF-8 + 8 + 8 + + + + + com.ruoyi + ruoyi-common + + + diff --git a/ruoyi-sip/src/.DS_Store b/ruoyi-sip/src/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..909f7b5ce521ef72f9ab1dd613a09bf8d6dcd7a2 GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8-B5%a6nb3nTCjfz#Y?F51&ruHr6#6mFwIKS+CwSitS{t~_&m<+ zZi-R`Pa<{(X1>kr%qH_C>}D8ayg!RtjJb?40g701znQ_rTqB%kk71%h zxPD!WCdXf70N-7Ojak5AmVSJH;bRhK(`NIHm&%o`?W(AXnz;7w)!d&3(^=LJCYN}1 zrc@FZ;~+ebNAsb(d#uuF5T~PwPKcusgj`+3X{6?THA|yR=lW(sIKmma^~IvwZZ%}5 z*I72?qStOVWVds;TsmTJ|KR9!_>hcK^=wGw@V#l-u~@(h3|93-*=-WS^I`DH`Q%U1 zM5TA&D;6n|35fw>fEd^i2JH4HY8z57l}QW`13zZ~_Xi1z=vmAS>a7EeZUF!*;MM|T z>?JTqTJ$XD24Mz-n^ZuP%596mO*;6cjq@z#22DESw)x=p&fIn=T;CnmmpYtr&mdW1 zfEf790QP<$E}s7<-}nDIhzv164E#?9cxB)Z`cRuaTi2?@vsQxMfTCbrZg7H~{o4<_5t7LO%kU1~SCJuQKos3|LP` literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/.DS_Store b/ruoyi-sip/src/main/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5ddc54c0b0a5c61f749a35677d4fec0a87b20577 GIT binary patch literal 6148 zcmeHKJ5B>Z41Ihw+$ZCa@h6X)Lo@aaP z8SN|9V*s`}A0B}EG1^C)retP&UmZ5UN|LYIV^7GId!wugko_!<1Nx*JyEL| z5Cd}tZqr?R|9_(XGXKwu@UIxKVf(z@@RO>yEH1@V-^m;4I%_5-~tF3K^+i#j?VMXLSaS~dY0@jc51bKLsN^0 z?w;4J$RHv;+$b9h6I0}!Tx68{^>MkK$MI$*w?)zl@IfZ~xlK?3DnJFO02QDDGg2TA z@_sd=XX2w!0V*&L1?>A!;KrJ4LH~3h_y_tMAK>5S|49o|DnJGPOaWc) zkNX{7D$mxB*R%R5tF~@%&@V@L`w2i|NAVi&hW%m-uqIm&6&Qa6Tm}Xz@KXg|*oF~o literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/java/com/.DS_Store b/ruoyi-sip/src/main/java/com/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5c654ad5e34f9a7fdd1ae97f6308b8c6a1224ab6 GIT binary patch literal 6148 zcmeH~J&pn~427Q;kXG7;k}?ek;06(5PrwBb&>$g=w1{H69DSc1Hw;^&5qg%K7d!F% ze8pr8z_$1E23P|4q`PA6!^n*B0zbH8z%MT6+v$27hO4LXk$XL$^BRxqxhxR@5fA|p z5CIXG5P>+vdH#P*=$Z5=A|L|OAmHDJLU*mHt!sQbI7ACToiiQAdGr$0;t6U^ZC#n6 zS#}SWr50_7=cAlja$iktU3)n!n-9x7n|CoZ>*cV*fMzvBg9wPgh`_AJOF#d=>Hqcr zqY{N8AOdejz~;OCZp)X-v-RoqJb%cn&l{Z@+c`Y^1TgTUctsE6dhrRhrnauk(DWk^ L7&M5$O9}h|u8tF@ literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/java/com/ruoyi/.DS_Store b/ruoyi-sip/src/main/java/com/ruoyi/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..504b44ca356392bca80b169bb6a55d0fa7f6c14e GIT binary patch literal 6148 zcmeH~Jqp4=5QS&dB4Cr!avKle4VIuM@B*SXf}kMwdvxFYG)8L)@&;zUo!JaYUXjg+ zhz`&5Mx+;!4sMjSg^?-pxjf_|_w(a)J>G6tE4j^*R)F_1+Rtr*3Qz$mKn17(6_}6$ zd60L@2|W`Zg$huCX((XdhXOa&WDEMI1HnfCaDlQL);>#s#R_0ewje4njaD#P)yEL4 zdplV2x|(dkXcx`lL-WpRQw&U_U9=#9X>~AA0V*(3U>4=ZT=s%Fr@-i;LjA$ z#dg0P@KSlUe!QO54_UQ!gM)rK!rM;(5<7}la5wB1TYxp$f~dgwBj7SHP=TK+@B$87 B5qSUr literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/.DS_Store b/ruoyi-sip/src/main/java/com/ruoyi/sip/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..fa44b655d6fc1d2eabe901fe271cf5f2d7544292 GIT binary patch literal 6148 zcmeHKyH3ME5S)bwB4|=l-Y@V6rzm^@KLFS%kW7pcpmxV^Gy5R2<hN=B9BSGdl~ list = orderDeliveryService.selectOrderDeliveryList(orderDelivery); + return getDataTable(list); + } + + /** + * 导出发货记录列表 + */ + @RequiresPermissions("manage:delivery:export") + @Log(title = "发货记录", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(OrderDelivery orderDelivery) + { + List list = orderDeliveryService.selectOrderDeliveryList(orderDelivery); + ExcelUtil util = new ExcelUtil(OrderDelivery.class); + return util.exportExcel(list, "发货记录数据"); + } + + /** + * 新增发货记录 + */ + @RequiresPermissions("manage:delivery:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存发货记录 + */ + @RequiresPermissions("manage:delivery:add") + @Log(title = "发货记录", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(OrderDelivery orderDelivery) + { + return toAjax(orderDeliveryService.insertOrderDelivery(orderDelivery)); + } + + /** + * 修改发货记录 + */ + @RequiresPermissions("manage:delivery:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + OrderDelivery orderDelivery = orderDeliveryService.selectOrderDeliveryById(id); + mmap.put("orderDelivery", orderDelivery); + return prefix + "/edit"; + } + + /** + * 修改保存发货记录 + */ + @RequiresPermissions("manage:delivery:edit") + @Log(title = "发货记录", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(OrderDelivery orderDelivery) + { + return toAjax(orderDeliveryService.updateOrderDelivery(orderDelivery)); + } + + /** + * 删除发货记录 + */ + @RequiresPermissions("manage:delivery:remove") + @Log(title = "发货记录", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(orderDeliveryService.deleteOrderDeliveryByIds(ids)); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java new file mode 100644 index 00000000..7847c867 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/OrderInfoController.java @@ -0,0 +1,128 @@ +package com.ruoyi.sip.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.sip.domain.OrderInfo; +import com.ruoyi.sip.service.IOrderInfoService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 合同档案Controller + * + * @author mula + * @date 2025-04-11 + */ +@Controller +@RequestMapping("/manage/order") +public class OrderInfoController extends BaseController +{ + private String prefix = "manage/order"; + + @Autowired + private IOrderInfoService orderInfoService; + + @RequiresPermissions("manage:order:view") + @GetMapping() + public String order() + { + return prefix + "/order"; + } + + /** + * 查询合同档案列表 + */ + @RequiresPermissions("manage:order:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(OrderInfo orderInfo) + { + startPage(); + List list = orderInfoService.selectOrderInfoList(orderInfo); + return getDataTable(list); + } + + /** + * 导出合同档案列表 + */ + @RequiresPermissions("manage:order:export") + @Log(title = "合同档案", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(OrderInfo orderInfo) + { + List list = orderInfoService.selectOrderInfoList(orderInfo); + ExcelUtil util = new ExcelUtil(OrderInfo.class); + return util.exportExcel(list, "合同档案数据"); + } + + /** + * 新增合同档案 + */ + @RequiresPermissions("manage:order:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存合同档案 + */ + @RequiresPermissions("manage:order:add") + @Log(title = "合同档案", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(OrderInfo orderInfo) + { + return toAjax(orderInfoService.insertOrderInfo(orderInfo)); + } + + /** + * 修改合同档案 + */ + @RequiresPermissions("manage:order:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + OrderInfo orderInfo = orderInfoService.selectOrderInfoById(id); + mmap.put("orderInfo", orderInfo); + return prefix + "/edit"; + } + + /** + * 修改保存合同档案 + */ + @RequiresPermissions("manage:order:edit") + @Log(title = "合同档案", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(OrderInfo orderInfo) + { + return toAjax(orderInfoService.updateOrderInfo(orderInfo)); + } + + /** + * 删除合同档案 + */ + @RequiresPermissions("manage:order:remove") + @Log(title = "合同档案", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(orderInfoService.deleteOrderInfoByIds(ids)); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProductInfoController.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProductInfoController.java new file mode 100644 index 00000000..b5e6d43e --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/controller/ProductInfoController.java @@ -0,0 +1,128 @@ +package com.ruoyi.sip.controller; + +import java.util.List; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.sip.domain.ProductInfo; +import com.ruoyi.sip.service.IProductInfoService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 产品管理Controller + * + * @author mula + * @date 2025-04-11 + */ +@Controller +@RequestMapping("/system/product") +public class ProductInfoController extends BaseController +{ + private String prefix = "system/product"; + + @Autowired + private IProductInfoService productInfoService; + + @RequiresPermissions("system:product:view") + @GetMapping() + public String product() + { + return prefix + "/product"; + } + + /** + * 查询产品管理列表 + */ + @RequiresPermissions("system:product:list") + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(ProductInfo productInfo) + { + startPage(); + List list = productInfoService.selectProductInfoList(productInfo); + return getDataTable(list); + } + + /** + * 导出产品管理列表 + */ + @RequiresPermissions("system:product:export") + @Log(title = "产品管理", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ResponseBody + public AjaxResult export(ProductInfo productInfo) + { + List list = productInfoService.selectProductInfoList(productInfo); + ExcelUtil util = new ExcelUtil(ProductInfo.class); + return util.exportExcel(list, "产品管理数据"); + } + + /** + * 新增产品管理 + */ + @RequiresPermissions("system:product:add") + @GetMapping("/add") + public String add() + { + return prefix + "/add"; + } + + /** + * 新增保存产品管理 + */ + @RequiresPermissions("system:product:add") + @Log(title = "产品管理", businessType = BusinessType.INSERT) + @PostMapping("/add") + @ResponseBody + public AjaxResult addSave(ProductInfo productInfo) + { + return toAjax(productInfoService.insertProductInfo(productInfo)); + } + + /** + * 修改产品管理 + */ + @RequiresPermissions("system:product:edit") + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Long id, ModelMap mmap) + { + ProductInfo productInfo = productInfoService.selectProductInfoById(id); + mmap.put("productInfo", productInfo); + return prefix + "/edit"; + } + + /** + * 修改保存产品管理 + */ + @RequiresPermissions("system:product:edit") + @Log(title = "产品管理", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(ProductInfo productInfo) + { + return toAjax(productInfoService.updateProductInfo(productInfo)); + } + + /** + * 删除产品管理 + */ + @RequiresPermissions("system:product:remove") + @Log(title = "产品管理", businessType = BusinessType.DELETE) + @PostMapping( "/remove") + @ResponseBody + public AjaxResult remove(String ids) + { + return toAjax(productInfoService.deleteProductInfoByIds(ids)); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderDelivery.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderDelivery.java new file mode 100644 index 00000000..8149a56f --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderDelivery.java @@ -0,0 +1,242 @@ +package com.ruoyi.sip.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 发货记录对象 order_delivery + * + * @author mula + * @date 2025-04-11 + */ +public class OrderDelivery extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键,自增 */ + private Long id; + + /** 关联合同id */ + @Excel(name = "关联合同id") + private Long orderId; + + /** 发货单号 */ + @Excel(name = "发货单号") + private String deliveryCode; + + /** 发货日期 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "发货日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date deliveryDate; + + /** 发货方式 */ + @Excel(name = "发货方式") + private String deliveryType; + + /** 物流公司 */ + private String logisticsCompany; + + /** 物流单号 */ + private String logisticsCode; + + /** 收货人姓名 */ + private String receiverName; + + /** 收货人电话 */ + private String receiverPhone; + + /** 收货地址 */ + private String receiverAddress; + + /** 发货状态 */ + @Excel(name = "发货状态") + private String deliveryStatus; + + /** 签收时间 */ + private Date signTime; + + /** 创建时间 */ + private Date createdAt; + + /** 更新时间 */ + private Date updatedAt; + + /** 删除时间 */ + private Date deletedAt; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setOrderId(Long orderId) + { + this.orderId = orderId; + } + + public Long getOrderId() + { + return orderId; + } + + public void setDeliveryCode(String deliveryCode) + { + this.deliveryCode = deliveryCode; + } + + public String getDeliveryCode() + { + return deliveryCode; + } + + public void setDeliveryDate(Date deliveryDate) + { + this.deliveryDate = deliveryDate; + } + + public Date getDeliveryDate() + { + return deliveryDate; + } + + public void setDeliveryType(String deliveryType) + { + this.deliveryType = deliveryType; + } + + public String getDeliveryType() + { + return deliveryType; + } + + public void setLogisticsCompany(String logisticsCompany) + { + this.logisticsCompany = logisticsCompany; + } + + public String getLogisticsCompany() + { + return logisticsCompany; + } + + public void setLogisticsCode(String logisticsCode) + { + this.logisticsCode = logisticsCode; + } + + public String getLogisticsCode() + { + return logisticsCode; + } + + public void setReceiverName(String receiverName) + { + this.receiverName = receiverName; + } + + public String getReceiverName() + { + return receiverName; + } + + public void setReceiverPhone(String receiverPhone) + { + this.receiverPhone = receiverPhone; + } + + public String getReceiverPhone() + { + return receiverPhone; + } + + public void setReceiverAddress(String receiverAddress) + { + this.receiverAddress = receiverAddress; + } + + public String getReceiverAddress() + { + return receiverAddress; + } + + public void setDeliveryStatus(String deliveryStatus) + { + this.deliveryStatus = deliveryStatus; + } + + public String getDeliveryStatus() + { + return deliveryStatus; + } + + public void setSignTime(Date signTime) + { + this.signTime = signTime; + } + + public Date getSignTime() + { + return signTime; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setDeletedAt(Date deletedAt) + { + this.deletedAt = deletedAt; + } + + public Date getDeletedAt() + { + return deletedAt; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("orderId", getOrderId()) + .append("deliveryCode", getDeliveryCode()) + .append("deliveryDate", getDeliveryDate()) + .append("deliveryType", getDeliveryType()) + .append("logisticsCompany", getLogisticsCompany()) + .append("logisticsCode", getLogisticsCode()) + .append("receiverName", getReceiverName()) + .append("receiverPhone", getReceiverPhone()) + .append("receiverAddress", getReceiverAddress()) + .append("deliveryStatus", getDeliveryStatus()) + .append("signTime", getSignTime()) + .append("remark", getRemark()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .append("deletedAt", getDeletedAt()) + .toString(); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderInfo.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderInfo.java new file mode 100644 index 00000000..1f022a56 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderInfo.java @@ -0,0 +1,287 @@ +package com.ruoyi.sip.domain; + +import java.util.List; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 合同档案对象 order_info + * + * @author mula + * @date 2025-04-11 + */ +public class OrderInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键,自增 */ + private Long id; + + /** 关联项目编号 */ + private String projectCode; + + /** 合同编号,唯一 */ + @Excel(name = "合同编号,唯一") + private String orderCode; + + /** 版本号 */ + @Excel(name = "版本号") + private String versionCode; + + /** 合同名称 */ + @Excel(name = "合同名称") + private String orderName; + + /** 客户名称 */ + @Excel(name = "客户名称") + private String customerName; + + /** 客户联系人 */ + private String customerContact; + + /** 客户联系电话 */ + private String customerPhone; + + /** 客户邮箱 */ + private String customerEmail; + + /** 合同类型:1-直签合同,2-代理商合同 */ + @Excel(name = "合同类型:1-直签合同,2-代理商合同") + private String orderType; + + /** 代表处编码 */ + private Long orderDept; + + /** 代理商编码 */ + private Long partenerDept; + + /** 合同签定日期 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "合同签定日期", width = 30, dateFormat = "yyyy-MM-dd") + private Date orderDate; + + /** 合同状态:0-有效,1-无效 */ + @Excel(name = "合同状态:0-有效,1-无效") + private Long status; + + /** 创建时间 */ + private Date createdAt; + + /** 更新时间 */ + private Date updatedAt; + + /** 删除时间,软删除 */ + private Date deletedAt; + + /** 合同清单信息 */ + private List orderListList; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setProjectCode(String projectCode) + { + this.projectCode = projectCode; + } + + public String getProjectCode() + { + return projectCode; + } + + public void setOrderCode(String orderCode) + { + this.orderCode = orderCode; + } + + public String getOrderCode() + { + return orderCode; + } + + public void setVersionCode(String versionCode) + { + this.versionCode = versionCode; + } + + public String getVersionCode() + { + return versionCode; + } + + public void setOrderName(String orderName) + { + this.orderName = orderName; + } + + public String getOrderName() + { + return orderName; + } + + public void setCustomerName(String customerName) + { + this.customerName = customerName; + } + + public String getCustomerName() + { + return customerName; + } + + public void setCustomerContact(String customerContact) + { + this.customerContact = customerContact; + } + + public String getCustomerContact() + { + return customerContact; + } + + public void setCustomerPhone(String customerPhone) + { + this.customerPhone = customerPhone; + } + + public String getCustomerPhone() + { + return customerPhone; + } + + public void setCustomerEmail(String customerEmail) + { + this.customerEmail = customerEmail; + } + + public String getCustomerEmail() + { + return customerEmail; + } + + public void setOrderType(String orderType) + { + this.orderType = orderType; + } + + public String getOrderType() + { + return orderType; + } + + public void setOrderDept(Long orderDept) + { + this.orderDept = orderDept; + } + + public Long getOrderDept() + { + return orderDept; + } + + public void setPartenerDept(Long partenerDept) + { + this.partenerDept = partenerDept; + } + + public Long getPartenerDept() + { + return partenerDept; + } + + public void setOrderDate(Date orderDate) + { + this.orderDate = orderDate; + } + + public Date getOrderDate() + { + return orderDate; + } + + public void setStatus(Long status) + { + this.status = status; + } + + public Long getStatus() + { + return status; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setDeletedAt(Date deletedAt) + { + this.deletedAt = deletedAt; + } + + public Date getDeletedAt() + { + return deletedAt; + } + + public List getOrderListList() + { + return orderListList; + } + + public void setOrderListList(List orderListList) + { + this.orderListList = orderListList; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("projectCode", getProjectCode()) + .append("orderCode", getOrderCode()) + .append("versionCode", getVersionCode()) + .append("orderName", getOrderName()) + .append("customerName", getCustomerName()) + .append("customerContact", getCustomerContact()) + .append("customerPhone", getCustomerPhone()) + .append("customerEmail", getCustomerEmail()) + .append("orderType", getOrderType()) + .append("orderDept", getOrderDept()) + .append("partenerDept", getPartenerDept()) + .append("orderDate", getOrderDate()) + .append("status", getStatus()) + .append("remark", getRemark()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .append("deletedAt", getDeletedAt()) + .append("orderListList", getOrderListList()) + .toString(); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java new file mode 100644 index 00000000..9db2f958 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/OrderList.java @@ -0,0 +1,156 @@ +package com.ruoyi.sip.domain; + +import java.math.BigDecimal; +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 合同清单对象 order_list + * + * @author mula + * @date 2025-04-11 + */ +public class OrderList extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 主键,自增 */ + private Long id; + + /** 关联合同ID */ + @Excel(name = "关联合同ID") + private Long orderId; + + /** 产品编码,关联产品编码表 */ + @Excel(name = "产品编码,关联产品编码表") + private Long productId; + + /** 数量 */ + @Excel(name = "数量") + private Long quantity; + + /** 单价 */ + @Excel(name = "单价") + private BigDecimal price; + + /** 总价 */ + @Excel(name = "总价") + private BigDecimal amount; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 更新时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date updatedAt; + + /** 删除时间,软删除 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "删除时间,软删除", width = 30, dateFormat = "yyyy-MM-dd") + private Date deletedAt; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + public void setOrderId(Long orderId) + { + this.orderId = orderId; + } + + public Long getOrderId() + { + return orderId; + } + public void setProductId(Long productId) + { + this.productId = productId; + } + + public Long getProductId() + { + return productId; + } + public void setQuantity(Long quantity) + { + this.quantity = quantity; + } + + public Long getQuantity() + { + return quantity; + } + public void setPrice(BigDecimal price) + { + this.price = price; + } + + public BigDecimal getPrice() + { + return price; + } + public void setAmount(BigDecimal amount) + { + this.amount = amount; + } + + public BigDecimal getAmount() + { + return amount; + } + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + public void setDeletedAt(Date deletedAt) + { + this.deletedAt = deletedAt; + } + + public Date getDeletedAt() + { + return deletedAt; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("orderId", getOrderId()) + .append("productId", getProductId()) + .append("quantity", getQuantity()) + .append("price", getPrice()) + .append("amount", getAmount()) + .append("remark", getRemark()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .append("deletedAt", getDeletedAt()) + .toString(); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/ProductInfo.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/ProductInfo.java new file mode 100644 index 00000000..e9b86544 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/domain/ProductInfo.java @@ -0,0 +1,144 @@ +package com.ruoyi.sip.domain; + +import java.util.Date; +import com.fasterxml.jackson.annotation.JsonFormat; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 产品管理对象 product_info + * + * @author mula + * @date 2025-04-11 + */ +public class ProductInfo extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** ID */ + private Long id; + + /** 产品编码 */ + @Excel(name = "产品编码") + private String productCode; + + /** 产品名称 */ + @Excel(name = "产品名称") + private String productName; + + /** 产品代码 */ + @Excel(name = "产品代码") + private String model; + + /** 产品描述 */ + @Excel(name = "产品描述") + private String description; + + /** 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + private Date createdAt; + + /** 更新时间 */ + private Date updatedAt; + + /** 删除时间 */ + private Date deletedAt; + + public void setId(Long id) + { + this.id = id; + } + + public Long getId() + { + return id; + } + + public void setProductCode(String productCode) + { + this.productCode = productCode; + } + + public String getProductCode() + { + return productCode; + } + + public void setProductName(String productName) + { + this.productName = productName; + } + + public String getProductName() + { + return productName; + } + + public void setModel(String model) + { + this.model = model; + } + + public String getModel() + { + return model; + } + + public void setDescription(String description) + { + this.description = description; + } + + public String getDescription() + { + return description; + } + + public void setCreatedAt(Date createdAt) + { + this.createdAt = createdAt; + } + + public Date getCreatedAt() + { + return createdAt; + } + + public void setUpdatedAt(Date updatedAt) + { + this.updatedAt = updatedAt; + } + + public Date getUpdatedAt() + { + return updatedAt; + } + + public void setDeletedAt(Date deletedAt) + { + this.deletedAt = deletedAt; + } + + public Date getDeletedAt() + { + return deletedAt; + } + + @Override + public String toString() { + return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) + .append("id", getId()) + .append("productCode", getProductCode()) + .append("productName", getProductName()) + .append("model", getModel()) + .append("description", getDescription()) + .append("remark", getRemark()) + .append("createdAt", getCreatedAt()) + .append("updatedAt", getUpdatedAt()) + .append("deletedAt", getDeletedAt()) + .toString(); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderDeliveryMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderDeliveryMapper.java new file mode 100644 index 00000000..5eb24800 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderDeliveryMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.sip.mapper; + +import java.util.List; +import com.ruoyi.sip.domain.OrderDelivery; + +/** + * 发货记录Mapper接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface OrderDeliveryMapper +{ + /** + * 查询发货记录 + * + * @param id 发货记录主键 + * @return 发货记录 + */ + public OrderDelivery selectOrderDeliveryById(Long id); + + /** + * 查询发货记录列表 + * + * @param orderDelivery 发货记录 + * @return 发货记录集合 + */ + public List selectOrderDeliveryList(OrderDelivery orderDelivery); + + /** + * 新增发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + public int insertOrderDelivery(OrderDelivery orderDelivery); + + /** + * 修改发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + public int updateOrderDelivery(OrderDelivery orderDelivery); + + /** + * 删除发货记录 + * + * @param id 发货记录主键 + * @return 结果 + */ + public int deleteOrderDeliveryById(Long id); + + /** + * 批量删除发货记录 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOrderDeliveryByIds(String[] ids); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java new file mode 100644 index 00000000..deae9a35 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/OrderInfoMapper.java @@ -0,0 +1,87 @@ +package com.ruoyi.sip.mapper; + +import java.util.List; +import com.ruoyi.sip.domain.OrderInfo; +import com.ruoyi.sip.domain.OrderList; + +/** + * 合同档案Mapper接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface OrderInfoMapper +{ + /** + * 查询合同档案 + * + * @param id 合同档案主键 + * @return 合同档案 + */ + public OrderInfo selectOrderInfoById(Long id); + + /** + * 查询合同档案列表 + * + * @param orderInfo 合同档案 + * @return 合同档案集合 + */ + public List selectOrderInfoList(OrderInfo orderInfo); + + /** + * 新增合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + public int insertOrderInfo(OrderInfo orderInfo); + + /** + * 修改合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + public int updateOrderInfo(OrderInfo orderInfo); + + /** + * 删除合同档案 + * + * @param id 合同档案主键 + * @return 结果 + */ + public int deleteOrderInfoById(Long id); + + /** + * 批量删除合同档案 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOrderInfoByIds(String[] ids); + + /** + * 批量删除合同清单 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteOrderListByOrderIds(String[] ids); + + /** + * 批量新增合同清单 + * + * @param orderListList 合同清单列表 + * @return 结果 + */ + public int batchOrderList(List orderListList); + + + /** + * 通过合同档案主键删除合同清单信息 + * + * @param id 合同档案ID + * @return 结果 + */ + public int deleteOrderListByOrderId(Long id); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java new file mode 100644 index 00000000..3322f7f9 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/mapper/ProductInfoMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.sip.mapper; + +import java.util.List; +import com.ruoyi.sip.domain.ProductInfo; + +/** + * 产品管理Mapper接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface ProductInfoMapper +{ + /** + * 查询产品管理 + * + * @param id 产品管理主键 + * @return 产品管理 + */ + public ProductInfo selectProductInfoById(Long id); + + /** + * 查询产品管理列表 + * + * @param productInfo 产品管理 + * @return 产品管理集合 + */ + public List selectProductInfoList(ProductInfo productInfo); + + /** + * 新增产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + public int insertProductInfo(ProductInfo productInfo); + + /** + * 修改产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + public int updateProductInfo(ProductInfo productInfo); + + /** + * 删除产品管理 + * + * @param id 产品管理主键 + * @return 结果 + */ + public int deleteProductInfoById(Long id); + + /** + * 批量删除产品管理 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteProductInfoByIds(String[] ids); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/.DS_Store b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d320a78a65b829e58dbffc0533da404be46a91ab GIT binary patch literal 6148 zcmeH~J!-^2427kv3qu;0TTZhF$PEVLJ;7dJ*|-TfI1tj$(ev~}AhW4M2u~n=Bh3io zS9mND(fMP25}8C~gd62#p)*B3$cwznn{4a*^LE?!Ezdk8?F@X9Za=pPDnJFO02QDD zRNxOOVD~m`d<-&D0V+TRz7(+ULxCG>vIYIqf#4$mIH2r?wa*e@u>x3=Er<$CqZN!+ z^)bZi-VT;LSCcIm?V>q+Xg*nOih*ggixwm>tquk%Km|Gl4v|lG|DWMM&Hr5sQz}3O z{+R+gESF`*OXb~q_j*>pX4TdW4*GF~Z$AM@>?%IO-LPM50oG&-q5|WOfXl!@1%6e5 EPf1`BwEzGB literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderDeliveryService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderDeliveryService.java new file mode 100644 index 00000000..5fa692db --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderDeliveryService.java @@ -0,0 +1,61 @@ +package com.ruoyi.sip.service; + +import java.util.List; +import com.ruoyi.sip.domain.OrderDelivery; + +/** + * 发货记录Service接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface IOrderDeliveryService +{ + /** + * 查询发货记录 + * + * @param id 发货记录主键 + * @return 发货记录 + */ + public OrderDelivery selectOrderDeliveryById(Long id); + + /** + * 查询发货记录列表 + * + * @param orderDelivery 发货记录 + * @return 发货记录集合 + */ + public List selectOrderDeliveryList(OrderDelivery orderDelivery); + + /** + * 新增发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + public int insertOrderDelivery(OrderDelivery orderDelivery); + + /** + * 修改发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + public int updateOrderDelivery(OrderDelivery orderDelivery); + + /** + * 批量删除发货记录 + * + * @param ids 需要删除的发货记录主键集合 + * @return 结果 + */ + public int deleteOrderDeliveryByIds(String ids); + + /** + * 删除发货记录信息 + * + * @param id 发货记录主键 + * @return 结果 + */ + public int deleteOrderDeliveryById(Long id); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java new file mode 100644 index 00000000..18ae4371 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IOrderInfoService.java @@ -0,0 +1,61 @@ +package com.ruoyi.sip.service; + +import java.util.List; +import com.ruoyi.sip.domain.OrderInfo; + +/** + * 合同档案Service接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface IOrderInfoService +{ + /** + * 查询合同档案 + * + * @param id 合同档案主键 + * @return 合同档案 + */ + public OrderInfo selectOrderInfoById(Long id); + + /** + * 查询合同档案列表 + * + * @param orderInfo 合同档案 + * @return 合同档案集合 + */ + public List selectOrderInfoList(OrderInfo orderInfo); + + /** + * 新增合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + public int insertOrderInfo(OrderInfo orderInfo); + + /** + * 修改合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + public int updateOrderInfo(OrderInfo orderInfo); + + /** + * 批量删除合同档案 + * + * @param ids 需要删除的合同档案主键集合 + * @return 结果 + */ + public int deleteOrderInfoByIds(String ids); + + /** + * 删除合同档案信息 + * + * @param id 合同档案主键 + * @return 结果 + */ + public int deleteOrderInfoById(Long id); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IProductInfoService.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IProductInfoService.java new file mode 100644 index 00000000..94647976 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/IProductInfoService.java @@ -0,0 +1,61 @@ +package com.ruoyi.sip.service; + +import java.util.List; +import com.ruoyi.sip.domain.ProductInfo; + +/** + * 产品管理Service接口 + * + * @author mula + * @date 2025-04-11 + */ +public interface IProductInfoService +{ + /** + * 查询产品管理 + * + * @param id 产品管理主键 + * @return 产品管理 + */ + public ProductInfo selectProductInfoById(Long id); + + /** + * 查询产品管理列表 + * + * @param productInfo 产品管理 + * @return 产品管理集合 + */ + public List selectProductInfoList(ProductInfo productInfo); + + /** + * 新增产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + public int insertProductInfo(ProductInfo productInfo); + + /** + * 修改产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + public int updateProductInfo(ProductInfo productInfo); + + /** + * 批量删除产品管理 + * + * @param ids 需要删除的产品管理主键集合 + * @return 结果 + */ + public int deleteProductInfoByIds(String ids); + + /** + * 删除产品管理信息 + * + * @param id 产品管理主键 + * @return 结果 + */ + public int deleteProductInfoById(Long id); +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderDeliveryServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderDeliveryServiceImpl.java new file mode 100644 index 00000000..0fa9c9bc --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderDeliveryServiceImpl.java @@ -0,0 +1,94 @@ +package com.ruoyi.sip.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.sip.mapper.OrderDeliveryMapper; +import com.ruoyi.sip.domain.OrderDelivery; +import com.ruoyi.sip.service.IOrderDeliveryService; +import com.ruoyi.common.core.text.Convert; + +/** + * 发货记录Service业务层处理 + * + * @author mula + * @date 2025-04-11 + */ +@Service +public class OrderDeliveryServiceImpl implements IOrderDeliveryService +{ + @Autowired + private OrderDeliveryMapper orderDeliveryMapper; + + /** + * 查询发货记录 + * + * @param id 发货记录主键 + * @return 发货记录 + */ + @Override + public OrderDelivery selectOrderDeliveryById(Long id) + { + return orderDeliveryMapper.selectOrderDeliveryById(id); + } + + /** + * 查询发货记录列表 + * + * @param orderDelivery 发货记录 + * @return 发货记录 + */ + @Override + public List selectOrderDeliveryList(OrderDelivery orderDelivery) + { + return orderDeliveryMapper.selectOrderDeliveryList(orderDelivery); + } + + /** + * 新增发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + @Override + public int insertOrderDelivery(OrderDelivery orderDelivery) + { + return orderDeliveryMapper.insertOrderDelivery(orderDelivery); + } + + /** + * 修改发货记录 + * + * @param orderDelivery 发货记录 + * @return 结果 + */ + @Override + public int updateOrderDelivery(OrderDelivery orderDelivery) + { + return orderDeliveryMapper.updateOrderDelivery(orderDelivery); + } + + /** + * 批量删除发货记录 + * + * @param ids 需要删除的发货记录主键 + * @return 结果 + */ + @Override + public int deleteOrderDeliveryByIds(String ids) + { + return orderDeliveryMapper.deleteOrderDeliveryByIds(Convert.toStrArray(ids)); + } + + /** + * 删除发货记录信息 + * + * @param id 发货记录主键 + * @return 结果 + */ + @Override + public int deleteOrderDeliveryById(Long id) + { + return orderDeliveryMapper.deleteOrderDeliveryById(id); + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java new file mode 100644 index 00000000..51bb3137 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/OrderInfoServiceImpl.java @@ -0,0 +1,132 @@ +package com.ruoyi.sip.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import java.util.ArrayList; +import com.ruoyi.common.utils.StringUtils; +import org.springframework.transaction.annotation.Transactional; +import com.ruoyi.sip.domain.OrderList; +import com.ruoyi.sip.mapper.OrderInfoMapper; +import com.ruoyi.sip.domain.OrderInfo; +import com.ruoyi.sip.service.IOrderInfoService; +import com.ruoyi.common.core.text.Convert; + +/** + * 合同档案Service业务层处理 + * + * @author mula + * @date 2025-04-11 + */ +@Service +public class OrderInfoServiceImpl implements IOrderInfoService +{ + @Autowired + private OrderInfoMapper orderInfoMapper; + + /** + * 查询合同档案 + * + * @param id 合同档案主键 + * @return 合同档案 + */ + @Override + public OrderInfo selectOrderInfoById(Long id) + { + return orderInfoMapper.selectOrderInfoById(id); + } + + /** + * 查询合同档案列表 + * + * @param orderInfo 合同档案 + * @return 合同档案 + */ + @Override + public List selectOrderInfoList(OrderInfo orderInfo) + { + return orderInfoMapper.selectOrderInfoList(orderInfo); + } + + /** + * 新增合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + @Transactional + @Override + public int insertOrderInfo(OrderInfo orderInfo) + { + int rows = orderInfoMapper.insertOrderInfo(orderInfo); + insertOrderList(orderInfo); + return rows; + } + + /** + * 修改合同档案 + * + * @param orderInfo 合同档案 + * @return 结果 + */ + @Transactional + @Override + public int updateOrderInfo(OrderInfo orderInfo) + { + orderInfoMapper.deleteOrderListByOrderId(orderInfo.getId()); + insertOrderList(orderInfo); + return orderInfoMapper.updateOrderInfo(orderInfo); + } + + /** + * 批量删除合同档案 + * + * @param ids 需要删除的合同档案主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteOrderInfoByIds(String ids) + { + orderInfoMapper.deleteOrderListByOrderIds(Convert.toStrArray(ids)); + return orderInfoMapper.deleteOrderInfoByIds(Convert.toStrArray(ids)); + } + + /** + * 删除合同档案信息 + * + * @param id 合同档案主键 + * @return 结果 + */ + @Transactional + @Override + public int deleteOrderInfoById(Long id) + { + orderInfoMapper.deleteOrderListByOrderId(id); + return orderInfoMapper.deleteOrderInfoById(id); + } + + /** + * 新增合同清单信息 + * + * @param orderInfo 合同档案对象 + */ + public void insertOrderList(OrderInfo orderInfo) + { + List orderListList = orderInfo.getOrderListList(); + Long id = orderInfo.getId(); + if (StringUtils.isNotNull(orderListList)) + { + List list = new ArrayList(); + for (OrderList orderList : orderListList) + { + orderList.setOrderId(id); + list.add(orderList); + } + if (list.size() > 0) + { + orderInfoMapper.batchOrderList(list); + } + } + } +} diff --git a/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProductInfoServiceImpl.java b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProductInfoServiceImpl.java new file mode 100644 index 00000000..1b666037 --- /dev/null +++ b/ruoyi-sip/src/main/java/com/ruoyi/sip/service/impl/ProductInfoServiceImpl.java @@ -0,0 +1,94 @@ +package com.ruoyi.sip.service.impl; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.sip.mapper.ProductInfoMapper; +import com.ruoyi.sip.domain.ProductInfo; +import com.ruoyi.sip.service.IProductInfoService; +import com.ruoyi.common.core.text.Convert; + +/** + * 产品管理Service业务层处理 + * + * @author mula + * @date 2025-04-11 + */ +@Service +public class ProductInfoServiceImpl implements IProductInfoService +{ + @Autowired + private ProductInfoMapper productInfoMapper; + + /** + * 查询产品管理 + * + * @param id 产品管理主键 + * @return 产品管理 + */ + @Override + public ProductInfo selectProductInfoById(Long id) + { + return productInfoMapper.selectProductInfoById(id); + } + + /** + * 查询产品管理列表 + * + * @param productInfo 产品管理 + * @return 产品管理 + */ + @Override + public List selectProductInfoList(ProductInfo productInfo) + { + return productInfoMapper.selectProductInfoList(productInfo); + } + + /** + * 新增产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + @Override + public int insertProductInfo(ProductInfo productInfo) + { + return productInfoMapper.insertProductInfo(productInfo); + } + + /** + * 修改产品管理 + * + * @param productInfo 产品管理 + * @return 结果 + */ + @Override + public int updateProductInfo(ProductInfo productInfo) + { + return productInfoMapper.updateProductInfo(productInfo); + } + + /** + * 批量删除产品管理 + * + * @param ids 需要删除的产品管理主键 + * @return 结果 + */ + @Override + public int deleteProductInfoByIds(String ids) + { + return productInfoMapper.deleteProductInfoByIds(Convert.toStrArray(ids)); + } + + /** + * 删除产品管理信息 + * + * @param id 产品管理主键 + * @return 结果 + */ + @Override + public int deleteProductInfoById(Long id) + { + return productInfoMapper.deleteProductInfoById(id); + } +} diff --git a/ruoyi-sip/src/main/resources/.DS_Store b/ruoyi-sip/src/main/resources/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..d7aec65292c48499160a994e822fb75efc0290c3 GIT binary patch literal 6148 zcmeHKyG{c^474FaiD*(%?l15Mt0;T{Kfoh&7X=aMuj0G-w9MG12nS6hnrM9T&aT(9 ztDE9{HZxy+Y;Mh#W;TZt?UTdQxKE$hMMa1nXS~?kX8$}q?RLW?`}Y93SGKiBd&TpE zzp!_Nw%8bu!1@0Bc-$wG0#ZN1g(Mtdu1HfK5CL#j!qym%b)na(k5pR{(3&+Hyo5#&Kr*8J@P&{r&yhXZs zPt+&{q`=>LyNT1f#Za8?TVY<<68;gzbkPF{|+w!t6Z%=v=TFb@ib lD96Ak$5^l&-$YX8HO{f$3&+HuBOY|1eg>$EObYzB0teH29Kiqp literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/resources/mapper/.DS_Store b/ruoyi-sip/src/main/resources/mapper/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..553c9e11b7ee8f6f2e6bc93f39fe47bd857ea3ab GIT binary patch literal 6148 zcmeHKJ5EC}5S)bwMM{&B(pTUHRuoRa1^6VQNk|bW(!GjvakR{Skcb{Mk!Ye>X+8FO z$Cjsf`xbyLK2~?Y9Ke+Bh)*BJ=KJm=yQ+wz#Tl>DyEAO)m=6p#W^;9Lc&l1^vm9w43+kOCL0fPWtv-LV%AiSg;+ z5G??4!f+Vp(Mu4U2Z+6JNMwX&NhK!Ls>QIRGu|q%7Y>O@hsDi2r*5|DP%Lg|yhS>! zCu)=eQs7j9>s-#g{@>I8=>JbiT1f#Za8U}_WcjdM@JUr$N00Mb+vtyU&-tReaUK*7 mQI3gGj=Au1d>cub*L=?XUN|HMo$;U(^)ukQ$fUr3D{uq_!5eM> literal 0 HcmV?d00001 diff --git a/ruoyi-sip/src/main/resources/mapper/manage/OrderDeliveryMapper.xml b/ruoyi-sip/src/main/resources/mapper/manage/OrderDeliveryMapper.xml new file mode 100644 index 00000000..9c131480 --- /dev/null +++ b/ruoyi-sip/src/main/resources/mapper/manage/OrderDeliveryMapper.xml @@ -0,0 +1,118 @@ + + + + + + + + + + + + + + + + + + + + + + + + + select id, order_id, delivery_code, delivery_date, delivery_type, logistics_company, logistics_code, receiver_name, receiver_phone, receiver_address, delivery_status, sign_time, remark, created_at, updated_at, deleted_at from order_delivery + + + + + + + + insert into order_delivery + + order_id, + delivery_code, + delivery_date, + delivery_type, + logistics_company, + logistics_code, + receiver_name, + receiver_phone, + receiver_address, + delivery_status, + sign_time, + remark, + created_at, + updated_at, + deleted_at, + + + #{orderId}, + #{deliveryCode}, + #{deliveryDate}, + #{deliveryType}, + #{logisticsCompany}, + #{logisticsCode}, + #{receiverName}, + #{receiverPhone}, + #{receiverAddress}, + #{deliveryStatus}, + #{signTime}, + #{remark}, + #{createdAt}, + #{updatedAt}, + #{deletedAt}, + + + + + update order_delivery + + order_id = #{orderId}, + delivery_code = #{deliveryCode}, + delivery_date = #{deliveryDate}, + delivery_type = #{deliveryType}, + logistics_company = #{logisticsCompany}, + logistics_code = #{logisticsCode}, + receiver_name = #{receiverName}, + receiver_phone = #{receiverPhone}, + receiver_address = #{receiverAddress}, + delivery_status = #{deliveryStatus}, + sign_time = #{signTime}, + remark = #{remark}, + created_at = #{createdAt}, + updated_at = #{updatedAt}, + deleted_at = #{deletedAt}, + + where id = #{id} + + + + delete from order_delivery where id = #{id} + + + + delete from order_delivery where id in + + #{id} + + + + \ No newline at end of file diff --git a/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml new file mode 100644 index 00000000..787afc66 --- /dev/null +++ b/ruoyi-sip/src/main/resources/mapper/manage/OrderInfoMapper.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select id, project_code, order_code, version_code, order_name, customer_name, customer_contact, customer_phone, customer_email, order_type, order_dept, partener_dept, order_date, status, remark, created_at, updated_at, deleted_at from order_info + + + + + + + + + + insert into order_info + + project_code, + order_code, + version_code, + order_name, + customer_name, + customer_contact, + customer_phone, + customer_email, + order_type, + order_dept, + partener_dept, + order_date, + status, + remark, + created_at,status, + + + #{projectCode}, + #{orderCode}, + #{versionCode}, + #{orderName}, + #{customerName}, + #{customerContact}, + #{customerPhone}, + #{customerEmail}, + #{orderType}, + #{orderDept}, + #{partenerDept}, + #{orderDate}, + #{status}, + #{remark}, + NOW(),0 + + + + + update order_info + + project_code = #{projectCode}, + order_code = #{orderCode}, + version_code = #{versionCode}, + order_name = #{orderName}, + customer_name = #{customerName}, + customer_contact = #{customerContact}, + customer_phone = #{customerPhone}, + customer_email = #{customerEmail}, + order_type = #{orderType}, + order_dept = #{orderDept}, + partener_dept = #{partenerDept}, + order_date = #{orderDate}, + status = #{status}, + remark = #{remark}, + updated_at = NOW(), + + where id = #{id} + + + + update order_info set deleted_at=NOW(), status=1 where id = #{id} + + + + update order_info set deleted_at=NOW(), status=1 where id in + + #{id} + + + + + delete from order_list where order_id in + + #{orderId} + + + + + delete from order_list where order_id = #{orderId} + + + + insert into order_list( id, order_id, product_id, quantity, price, amount, remark, created_at, updated_at, deleted_at) values + + ( #{item.id}, #{item.orderId}, #{item.productId}, #{item.quantity}, #{item.price}, #{item.amount}, #{item.remark}, #{item.createdAt}, #{item.updatedAt}, #{item.deletedAt}) + + + + \ No newline at end of file diff --git a/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml b/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml new file mode 100644 index 00000000..34de38d6 --- /dev/null +++ b/ruoyi-sip/src/main/resources/mapper/system/ProductInfoMapper.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + select id, product_code, product_name, model, description, remark, created_at, updated_at, deleted_at from product_info + + + + + + + + insert into product_info + + product_code, + product_name, + model, + description, + remark, + created_at, + + + #{productCode}, + #{productName}, + #{model}, + #{description}, + #{remark}, + NOW(), + + + + + update product_info + + product_code = #{productCode}, + product_name = #{productName}, + model = #{model}, + description = #{description}, + remark = #{remark}, + created_at = #{createdAt}, + updated_at = NOW(), + deleted_at = #{deletedAt}, + + where id = #{id} + + + + delete from product_info where id = #{id} + + + + delete from product_info where id in + + #{id} + + + + \ No newline at end of file diff --git a/ruoyi/uploadPath/avatar/2025/04/11/blob_20250411032004A001.png b/ruoyi/uploadPath/avatar/2025/04/11/blob_20250411032004A001.png new file mode 100644 index 0000000000000000000000000000000000000000..759387c5f24b3e9bb61cceb3b0235db39aeecb72 GIT binary patch literal 170876 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 XMopgp3 z>D6;5N4;@=W(X8bHTi85vd)&_a^mlglXTP_(+Y{OA9Ud|{>!&%yy4Y5 zEfSJTdiS1_+V$8Yw*RFUqTf+?%yMFSJV|+CSm^!H{qpS3-m;q?o{Ii5L*6cTWXOiR zSkH|xz2*MsQ{IZ`(kY5P1-`dNe^4RerC8_7E9One_P_Qm+xf_eSPvPY#<^C2?{zWP zcs^hKf|8zj+#Ul`)GYq2eP-~r4^9WrUw!vvI86Y~)~g20LVpy-xdijX_rGP2{q6T{ z$9)G{`v3*}g-W{j$?955eru1!JpXT!|fUnmm5Y9*dEI6)1|5T#5@1r-qOI+>AX3NVLT_f9^27y(M zgk&#LTAZD>#ko1IGoXM@MoOO4vdi2h$QNiA5HP6;uqI%J=R(zmd*|M5bJ{`PsgZdk z-U5jH`~dA8vq7WduSRi+cfzAW!9(!jeLL;JAHQM8-h6?HrS*CF>i>B1_sTn`?9|`? z!tR{D2x^)@rU^qG8EOT6MlbPT_(9OH9DvPQw2*Xd-E93M!=aa-8=s7R`f*%Q9)1W_ znuh!xMM|JyI0PfXzAx1sp}tWkPWJKv)goD|ynE4X#XyUTmozipg71?gQ^Ufu?~%On zxLy`&(ct9GqsJZvEt!yQ^4;L{l_=(ML;(g6giI0nf@l)vfUj|Qn$apRNdZFsxHd3G+w z=nZd%XCKj))Ilt}N35$I#R5MaEW{9Pc4}<@Ec)xSZ4aNY1FyXpR8#%4VJ*p5L;A*2 zN`ieS!r=zWpnyikX`2hb{J_rq?00tO%S)JrEN6+yZa7b52z;8<%BqbX*kcd>_3QS) zzkby=?cBDGL<$#E#(L2yqGzb4Z(y{mLBgk+A5ytL@k)gcH9i=~T?pE(Fz?OV&t z+>rAPVW@cASw>2coQ>AO{JdrY2lBO>nu+?9L=t@JELqYoTG{HnJnWt^flaB`-7w=CJLkmcRg~DRoXEz= zq@JMQBCc5r24CU1Z;1H?WVum5$Ho}Ud7HmIX|tE^*z|>)HgoZo&EK4`6_3D|+&E#; z)t2XevEet>Jdz^*-doy<5Ni~G{7pwfs}2_d_OG+Wu|J^7Cku?Z;KjMhL)WGUSRrv0 zVDFqg`M<`o3yfOd`Gy;132>vfRE9iAt#r^vOLMcKvhm>?nyZNfpQ3MfYx$URBj7y6 zlMC#1AJNYW(m5L$vRzM{u;V{`#r8e*K=ix8_cSjGn*BbTxiw}N-ul44{MjFD>hjHa z2PQ1R7-oA{Q5GKF^?LRS^DA|rK^-cv2>Z%LU1i=Ru(z}ja3G-fF6*xW%JE-$>rU-N z>Am+`A$3D;8iO)WOeZ=hKr}$V_-FFEYrJR{P#Wv%Nf?=nc&u z_4Wuc(P{~O@ZGy#ShS&S+ic$p&)SZMA3$+fC$cQwd=G~Y?_|}+&tD3#A3u9Bx?g&m z0iT!Z+I4|DZc%f#lBf2lwhVbmEjAPX(c-z!Z1nzPw(sTVY|DXtX}dczv#;=K8_mPD zkO0$DiB&*JJFnw>`6Vx}*u=#fcK+Az+xcJpF+>F`Atq2?8YE=1(`rOFwI>9?E@tWu z4%)tFAF;>&r|;YT=N^W`5-#lqMJV+;i;ZhS>Yf|1o*m4dSM8T!TzG9O^NY4LJsSZREP&BL9n#tEt znIQSP;L(Fu09J!kp9{f6FEy{N`B>r6)8d59XM;2~Npl6rw)+p;@jv?$JLnQfFSv5A zC_Ku3TbQ1+Tc4h@bN}+LU4Q>`Tb!It6-xv7(jl^ruqzLdt|)R3%pG9kDKaX>Kz*yx z1|kd-yDh??3RGLcngCzMATW`|QsCF=@oU^2J8}k~@ESo05oA(L1DZw#rquz6e`nEi zp_ZVLZyvh>MU1!<*b7uCwXA*ZlkO2U)2N>~mqPUb1lbDNg-d;|T(L|J0bPXH5JyBrkR3jpb*uTC%H;vfg?>uXd{N0mfaZM#Xk=Wx7v2Mkx~<_b__sG^yFMc%$6b zp43b;sCq+;%3QQ1Z~HJlWAnErZT{xC&0W81^EbvLD)85%#fxa^RJOGagXt!x5%BxY zs7e%0)RExfr1X-G4(SRMLp|CnF)i?H?SmEr*ZVmVF0padN^YFJ7>j+qZ3{r*U7hm!$Zz%ZI{l7Gaq@`T%+~BXbXb z+wo(z?}g{kE_egEWv^4Oh}2KkCBs+W``E7h{(W1TnYAI;*Y^)_($i{q`JmZav0J0R znrsBrMWR`DdhHt=vfWQVW_zA}EOSyDVOlHF>2ZO3sL^W902%#pKW6WY+uZn+jcnaw zTYR>|&_H5HFzt?#)+AGME@NcP9Xe;q&|$B~zNR5lfg4(vuS8

(r$O zJ~^m!xJ0UOaQ)4zW(XdpR%xaRsLVI0?+TO1o$5FOA>vEfV0>hGNav)WCr4dh!w5+X4GB?MN_15Ft_1 zFp(FMP*);;kG8!yaQwnGyZ*uFcKw4dZ2IOM+j0D$?R(d*D*rEbDY`_IL5sOoEHh1H$O`p4Ilb>C-ne*3eVQkt~+1N2z z3w}AsW!{{~?{GhaXaD-^P2!&+u)v?ZCbI|OEd)qmaREGe=-}*UK(X}psoahm;N)$@qCk%O3#_zo2oR^ z+hyK>_dNidmM+ehUc8KadfWl91WaEv(#?nZ0VDBJ#wwQ=s!a0aTv!MzTCo(Hmt_?# zjSD1MnG1>LjU~j}rg+xd3_a@}PqN+J&3We``fDu@}ihN;FevLqoz_koQ=tNgEjRh*C$O z#}cwk4YuH;N@I}=kUVPilxdR1HnUX&lyM!|&xh9~Bjw+oR#^#JHQw^?ZvEg$Wt9@h=169XKQ98F6Od=yix`Yo9iC6OD0_0dKtvE_r`f8vm z$fxvDbdP|W^ip=XbmNgD3+qHIe3w%`l6WF190O1xTXV1{-QqN$C!e<+yU%vq|DX+Q z-h`r*rDa>3nzH$^F`K_TW(yOOw&*n*^9z*0l5_U=2H3Y@C*ce%F59MEyKVmq&)9Y! zM_B$euup{A7-0MQg8sPt+xP6|r=LaA&S{*OUgi9K851cwN0AXWHf4EA60%x2nx8HB zOox8k{p6#zH^AO|)+EBL@4DX85Ukq#7;w|WcT&y^rz-Yo1DAkEZJQ$j%^HdrJ?gaDiNp5r-@a+bUVA1KI+?@J zPA{O_f#|iEygsh4d9@4Z9V05>sK&h*w)MUs3>j`BoIH18mX>Yy(rvr*&KbM&-kE65 z=5v;j#KxQJeNCsM3-&x{0U^;Hnb-g+C&!%0A%u{w#95f}3R;(^HB%F(ORg6mFP~>} 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 M07*qoM6N<$g2wORWdHyG literal 0 HcmV?d00001 diff --git a/sql/unis_pms_20250410.sql b/sql/unis_pms_20250410.sql new file mode 100644 index 00000000..b3a12dd2 --- /dev/null +++ b/sql/unis_pms_20250410.sql @@ -0,0 +1,963 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost + Source Server Type : MySQL + Source Server Version : 80034 (8.0.34) + Source Host : localhost:3306 + Source Schema : unis_pms + + Target Server Type : MySQL + Target Server Version : 80034 (8.0.34) + File Encoding : 65001 + + Date: 11/04/2025 00:27:55 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作 sub主子表操作)', + `package_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成功能作者', + `form_col_num` int DEFAULT '1' COMMENT '表单布局(单列 双列 三列)', + `gen_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成业务表'; + +-- ---------------------------- +-- Records of gen_table +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'product_info', '产品编码', '', NULL, 'ProductInfo', 'crud', 'com.unissene.sip.system', 'system', 'product', '产品管理', 'mula', 1, '0', '/', '{\"parentMenuId\":\"1\",\"treeName\":\"\",\"treeParentCode\":\"\",\"parentMenuName\":\"系统管理\",\"treeCode\":\"\"}', 'admin', '2025-04-10 16:09:53', '', '2025-04-10 16:26:18', ''); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` bigint DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- Records of gen_table_column +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1, 1, 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (2, 1, 'product_code', '产品编码', 'varchar(64)', 'String', 'productCode', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (3, 1, 'product_name', '产品名称', 'varchar(128)', 'String', 'productName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (4, 1, 'model', '产品代码', 'varchar(64)', 'String', 'model', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (5, 1, 'description', '产品描述', 'text', 'String', 'description', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'textarea', '', 5, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (6, 1, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 6, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (7, 1, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', NULL, '1', NULL, '1', NULL, 'EQ', 'datetime', '', 7, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (8, 1, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (9, 1, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, '1', NULL, NULL, NULL, 'EQ', 'datetime', '', 9, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 16:26:18'); +COMMIT; + +-- ---------------------------- +-- Table structure for order_info +-- ---------------------------- +DROP TABLE IF EXISTS `order_info`; +CREATE TABLE `order_info` ( + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键,自增', + `project_code` varchar(32) NOT NULL COMMENT '关联项目编号', + `order_code` varchar(32) NOT NULL COMMENT '合同编号,唯一', + `order_name` varchar(128) NOT NULL COMMENT '合同名称', + `customer_name` varchar(64) NOT NULL COMMENT '客户名称', + `customer_contact` varchar(32) DEFAULT NULL COMMENT '客户联系人', + `customer_phone` varchar(20) DEFAULT NULL COMMENT '客户联系电话', + `customer_email` varchar(64) DEFAULT NULL COMMENT '客户邮箱', + `order_type` tinyint NOT NULL COMMENT '合同类型:1-直签合同,2-代理商合同', + `order_dept` varchar(32) NOT NULL COMMENT '归属代表处编码', + `partener_dept` varchar(32) NOT NULL COMMENT '代理商编码', + `order_date` date NOT NULL COMMENT '合同签定日期', + `order_status` tinyint NOT NULL DEFAULT '1' COMMENT '合同状态:1-待审核,2-已审核,3-已驳回', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` datetime DEFAULT NULL COMMENT '删除时间,软删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_order_code` (`order_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合同订单表'; + +-- ---------------------------- +-- Records of order_info +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for product_info +-- ---------------------------- +DROP TABLE IF EXISTS `product_info`; +CREATE TABLE `product_info` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `product_code` varchar(64) NOT NULL, + `product_name` varchar(128) NOT NULL, + `model` varchar(64) NOT NULL, + `description` text, + `remark` varchar(512) DEFAULT NULL, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime NOT NULL, + `deleted_at` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_product_code` (`product_code`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci; + +-- ---------------------------- +-- Records of product_info +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数键值', + `config_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='参数配置表'; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +BEGIN; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-purple', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:38:29', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '初始化密码 123456'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-blue', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:39:03', '深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '是否开启注册用户功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '用户管理-密码字符范围', 'sys.account.chrtype', '0', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '默认任意字符范围,0任意(密码可以输入任意字符),1数字(密码只能为0-9数字),2英文字母(密码只能为a-z和A-Z字母),3字母和数字(密码必须包含字母,数字),4字母数字和特殊字符(目前支持的特殊字符包括:~!@#$%^&*()-=_+)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '主框架页-菜单导航显示风格', 'sys.index.menuStyle', 'default', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单导航显示风格(default为左侧导航菜单,topnav为顶部导航菜单)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '主框架页-是否开启页脚', 'sys.index.footer', 'false', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:39:45', '是否开启底部页脚显示(true显示,false隐藏)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '主框架页-是否开启页签', 'sys.index.tagsView', 'true', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '是否开启菜单多页签显示(true显示,false隐藏)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='部门表'; + +-- ---------------------------- +-- Records of sys_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (100, 0, '0', '紫光汇智', 0, '陈鹏', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (101, 0, '0', '合作伙伴', 0, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:13:21'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (102, 101, '0,100', '华三代表处', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:04:26'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (103, 100, '0,100,101', '软件开发事业部', 1, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:16'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (104, 100, '0,100,101', '解决方案中心', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:00'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (105, 100, '0,100,101', '云桌面事业部', 3, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:10:34'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (106, 100, '0,100,101', '经营管理中心', 4, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:38'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (107, 100, '0,100,101', '工程管理中心', 5, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:12:45'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (108, 102, '0,100,102', '重庆代表处', 1, '', '', 'ry@qq.com', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:06:55'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (109, 102, '0,100,102', '四川代表处', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:07:11'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (200, 101, '0,100', '代理商', 3, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:06:25', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (201, 100, '0,100', '代理商1', 1, NULL, NULL, NULL, '0', '2', 'admin', '2025-04-10 15:07:31', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (202, 100, '0,100', '代理商1', 1, NULL, NULL, NULL, '0', '2', 'admin', '2025-04-10 15:08:10', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (203, 200, '0,100,200', '代理商1', 1, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:08:34', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (204, 200, '0,100,200', '代理商2', 2, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:08:57', '', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) COLLATE utf8mb4_unicode_ci DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB AUTO_INCREMENT=111 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典数据表'; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别男'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别女'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别未知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '显示菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '默认分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统默认是'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统默认否'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '公告'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '关闭状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '其他操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '新增操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '修改操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '删除操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '授权操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '导出操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '导入操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '强退操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '生成操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '清空操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, 1, '个', 'ge', 'sys_unit', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:31:41', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, 2, '台', 'tai', 'sys_unit', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:31:52', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, 1, '教育', 'jiaoyu', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:08', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, 2, '医疗', 'yiliao', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:22', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, 3, '政府', 'zf', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:37', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, 4, '企业', 'qiye', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:49', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, 1, '直签合同', 'zq', 'order_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:37:20', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, 2, '代理商签', 'dls', 'order_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:37:33', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, 1, '快递', 'kd', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:12', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, 2, '物流', 'wl', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:26', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, 3, '自提', 'zt', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:41', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `dict_type` (`dict_type`) +) ENGINE=InnoDB AUTO_INCREMENT=104 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典类型表'; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '任务状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '任务分组列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '登录状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '数量单位', 'sys_unit', '0', 'admin', '2025-04-10 15:30:58', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '所属行业', 'industry_code', '0', 'admin', '2025-04-10 15:32:46', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '合同类型', 'order_type', '0', 'admin', '2025-04-10 15:36:55', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '发货方式', 'delivery_type', '0', 'admin', '2025-04-10 15:41:40', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE `sys_job` ( + `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务调度表'; + +-- ---------------------------- +-- Records of sys_job +-- ---------------------------- +BEGIN; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称', + `job_group` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '日志信息', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务调度日志表'; + +-- ---------------------------- +-- Records of sys_job_log +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `login_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录账号', + `ipaddr` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作系统', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB AUTO_INCREMENT=125 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录'; + +-- ---------------------------- +-- Records of sys_logininfor +-- ---------------------------- +BEGIN; +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-09 09:23:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-09 09:52:17'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:01:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:43:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (104, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:43:46'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (105, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:45:31'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:45:37'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (107, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:51:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (108, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 15:51:19'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误2次', '2025-04-10 15:52:13'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误3次', '2025-04-10 15:53:38'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (111, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:53:57'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (112, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:54:01'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (113, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '用户已封禁,请联系管理员', '2025-04-10 15:54:31'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (118, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:00:04'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (119, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 16:00:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '验证码错误', '2025-04-10 16:00:41'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (121, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 16:00:45'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (122, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误2次', '2025-04-10 16:00:53'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (123, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:03:40'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:13:41'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '菜单名称', + `parent_id` bigint DEFAULT '0' COMMENT '父菜单ID', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `url` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '请求地址', + `target` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)', + `menu_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `is_refresh` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否刷新(0刷新 1不刷新)', + `perms` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2005 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='菜单权限表'; + +-- ---------------------------- +-- Records of sys_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统管理', 0, 1, '#', '', 'M', '0', '1', '', 'fa fa-gear', 'admin', '2025-04-09 09:22:52', '', NULL, '系统管理目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统监控', 0, 10, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-video-camera', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-09 09:55:53', '系统监控目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统工具', 0, 3, '#', '', 'M', '0', '1', '', 'fa fa-bars', 'admin', '2025-04-09 09:22:53', '', NULL, '系统工具目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '若依官网', 0, 4, 'http://ruoyi.vip', 'menuBlank', 'C', '1', '1', '', 'fa fa-location-arrow', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:26:34', '若依官网地址'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '用户管理', 1, 1, '/system/user', '', 'C', '0', '1', 'system:user:view', 'fa fa-user-o', 'admin', '2025-04-09 09:22:53', '', NULL, '用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '角色管理', 1, 2, '/system/role', '', 'C', '0', '1', 'system:role:view', 'fa fa-user-secret', 'admin', '2025-04-09 09:22:53', '', NULL, '角色管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '菜单管理', 1, 3, '/system/menu', '', 'C', '0', '1', 'system:menu:view', 'fa fa-th-list', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '部门管理', 1, 4, '/system/dept', '', 'C', '0', '1', 'system:dept:view', 'fa fa-outdent', 'admin', '2025-04-09 09:22:53', '', NULL, '部门管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '岗位管理', 1, 5, '/system/post', '', 'C', '0', '1', 'system:post:view', 'fa fa-address-card-o', 'admin', '2025-04-09 09:22:53', '', NULL, '岗位管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, '字典管理', 1, 6, '/system/dict', '', 'C', '0', '1', 'system:dict:view', 'fa fa-bookmark-o', 'admin', '2025-04-09 09:22:53', '', NULL, '字典管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, '参数设置', 1, 7, '/system/config', '', 'C', '0', '1', 'system:config:view', 'fa fa-sun-o', 'admin', '2025-04-09 09:22:53', '', NULL, '参数设置菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, '通知公告', 1, 8, '/system/notice', '', 'C', '0', '1', 'system:notice:view', 'fa fa-bullhorn', 'admin', '2025-04-09 09:22:53', '', NULL, '通知公告菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, '日志管理', 1, 9, '#', '', 'M', '0', '1', '', 'fa fa-pencil-square-o', 'admin', '2025-04-09 09:22:53', '', NULL, '日志管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, '在线用户', 2, 1, '/monitor/online', '', 'C', '0', '1', 'monitor:online:view', 'fa fa-user-circle', 'admin', '2025-04-09 09:22:53', '', NULL, '在线用户菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, '定时任务', 2, 2, '/monitor/job', '', 'C', '0', '1', 'monitor:job:view', 'fa fa-tasks', 'admin', '2025-04-09 09:22:53', '', NULL, '定时任务菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, '数据监控', 2, 3, '/monitor/data', '', 'C', '0', '1', 'monitor:data:view', 'fa fa-bug', 'admin', '2025-04-09 09:22:53', '', NULL, '数据监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, '服务监控', 2, 4, '/monitor/server', '', 'C', '0', '1', 'monitor:server:view', 'fa fa-server', 'admin', '2025-04-09 09:22:53', '', NULL, '服务监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, '缓存监控', 2, 5, '/monitor/cache', '', 'C', '0', '1', 'monitor:cache:view', 'fa fa-cube', 'admin', '2025-04-09 09:22:53', '', NULL, '缓存监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (114, '表单构建', 3, 1, '/tool/build', '', 'C', '0', '1', 'tool:build:view', 'fa fa-wpforms', 'admin', '2025-04-09 09:22:53', '', NULL, '表单构建菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (115, '代码生成', 3, 2, '/tool/gen', '', 'C', '0', '1', 'tool:gen:view', 'fa fa-code', 'admin', '2025-04-09 09:22:53', '', NULL, '代码生成菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (116, '系统接口', 3, 3, '/tool/swagger', '', 'C', '0', '1', 'tool:swagger:view', 'fa fa-gg', 'admin', '2025-04-09 09:22:53', '', NULL, '系统接口菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (500, '操作日志', 108, 1, '/monitor/operlog', '', 'C', '0', '1', 'monitor:operlog:view', 'fa fa-address-book', 'admin', '2025-04-09 09:22:53', '', NULL, '操作日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (501, '登录日志', 108, 2, '/monitor/logininfor', '', 'C', '0', '1', 'monitor:logininfor:view', 'fa fa-file-image-o', 'admin', '2025-04-09 09:22:53', '', NULL, '登录日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1000, '用户查询', 100, 1, '#', '', 'F', '0', '1', 'system:user:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1001, '用户新增', 100, 2, '#', '', 'F', '0', '1', 'system:user:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1002, '用户修改', 100, 3, '#', '', 'F', '0', '1', 'system:user:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1003, '用户删除', 100, 4, '#', '', 'F', '0', '1', 'system:user:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1004, '用户导出', 100, 5, '#', '', 'F', '0', '1', 'system:user:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '用户导入', 100, 6, '#', '', 'F', '0', '1', 'system:user:import', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1006, '重置密码', 100, 7, '#', '', 'F', '0', '1', 'system:user:resetPwd', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1007, '角色查询', 101, 1, '#', '', 'F', '0', '1', 'system:role:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1008, '角色新增', 101, 2, '#', '', 'F', '0', '1', 'system:role:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1009, '角色修改', 101, 3, '#', '', 'F', '0', '1', 'system:role:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1010, '角色删除', 101, 4, '#', '', 'F', '0', '1', 'system:role:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1011, '角色导出', 101, 5, '#', '', 'F', '0', '1', 'system:role:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1012, '菜单查询', 102, 1, '#', '', 'F', '0', '1', 'system:menu:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1013, '菜单新增', 102, 2, '#', '', 'F', '0', '1', 'system:menu:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1014, '菜单修改', 102, 3, '#', '', 'F', '0', '1', 'system:menu:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1015, '菜单删除', 102, 4, '#', '', 'F', '0', '1', 'system:menu:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1016, '部门查询', 103, 1, '#', '', 'F', '0', '1', 'system:dept:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1017, '部门新增', 103, 2, '#', '', 'F', '0', '1', 'system:dept:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1018, '部门修改', 103, 3, '#', '', 'F', '0', '1', 'system:dept:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1019, '部门删除', 103, 4, '#', '', 'F', '0', '1', 'system:dept:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1020, '岗位查询', 104, 1, '#', '', 'F', '0', '1', 'system:post:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1021, '岗位新增', 104, 2, '#', '', 'F', '0', '1', 'system:post:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1022, '岗位修改', 104, 3, '#', '', 'F', '0', '1', 'system:post:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1023, '岗位删除', 104, 4, '#', '', 'F', '0', '1', 'system:post:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1024, '岗位导出', 104, 5, '#', '', 'F', '0', '1', 'system:post:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1025, '字典查询', 105, 1, '#', '', 'F', '0', '1', 'system:dict:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1026, '字典新增', 105, 2, '#', '', 'F', '0', '1', 'system:dict:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1027, '字典修改', 105, 3, '#', '', 'F', '0', '1', 'system:dict:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1028, '字典删除', 105, 4, '#', '', 'F', '0', '1', 'system:dict:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1029, '字典导出', 105, 5, '#', '', 'F', '0', '1', 'system:dict:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1030, '参数查询', 106, 1, '#', '', 'F', '0', '1', 'system:config:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1031, '参数新增', 106, 2, '#', '', 'F', '0', '1', 'system:config:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1032, '参数修改', 106, 3, '#', '', 'F', '0', '1', 'system:config:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1033, '参数删除', 106, 4, '#', '', 'F', '0', '1', 'system:config:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1034, '参数导出', 106, 5, '#', '', 'F', '0', '1', 'system:config:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1035, '公告查询', 107, 1, '#', '', 'F', '0', '1', 'system:notice:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1036, '公告新增', 107, 2, '#', '', 'F', '0', '1', 'system:notice:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1037, '公告修改', 107, 3, '#', '', 'F', '0', '1', 'system:notice:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1038, '公告删除', 107, 4, '#', '', 'F', '0', '1', 'system:notice:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1039, '操作查询', 500, 1, '#', '', 'F', '0', '1', 'monitor:operlog:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1040, '操作删除', 500, 2, '#', '', 'F', '0', '1', 'monitor:operlog:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1041, '详细信息', 500, 3, '#', '', 'F', '0', '1', 'monitor:operlog:detail', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1042, '日志导出', 500, 4, '#', '', 'F', '0', '1', 'monitor:operlog:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1043, '登录查询', 501, 1, '#', '', 'F', '0', '1', 'monitor:logininfor:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1044, '登录删除', 501, 2, '#', '', 'F', '0', '1', 'monitor:logininfor:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1045, '日志导出', 501, 3, '#', '', 'F', '0', '1', 'monitor:logininfor:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1046, '账户解锁', 501, 4, '#', '', 'F', '0', '1', 'monitor:logininfor:unlock', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1047, '在线查询', 109, 1, '#', '', 'F', '0', '1', 'monitor:online:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1048, '批量强退', 109, 2, '#', '', 'F', '0', '1', 'monitor:online:batchForceLogout', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1049, '单条强退', 109, 3, '#', '', 'F', '0', '1', 'monitor:online:forceLogout', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1050, '任务查询', 110, 1, '#', '', 'F', '0', '1', 'monitor:job:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1051, '任务新增', 110, 2, '#', '', 'F', '0', '1', 'monitor:job:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1052, '任务修改', 110, 3, '#', '', 'F', '0', '1', 'monitor:job:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1053, '任务删除', 110, 4, '#', '', 'F', '0', '1', 'monitor:job:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1054, '状态修改', 110, 5, '#', '', 'F', '0', '1', 'monitor:job:changeStatus', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1055, '任务详细', 110, 6, '#', '', 'F', '0', '1', 'monitor:job:detail', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1056, '任务导出', 110, 7, '#', '', 'F', '0', '1', 'monitor:job:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1057, '生成查询', 115, 1, '#', '', 'F', '0', '1', 'tool:gen:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1058, '生成修改', 115, 2, '#', '', 'F', '0', '1', 'tool:gen:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1059, '生成删除', 115, 3, '#', '', 'F', '0', '1', 'tool:gen:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1060, '预览代码', 115, 4, '#', '', 'F', '0', '1', 'tool:gen:preview', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1061, '生成代码', 115, 5, '#', '', 'F', '0', '1', 'tool:gen:code', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2000, '项目管理', 0, 5, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-suitcase', 'admin', '2025-04-09 09:53:46', 'admin', '2025-04-10 15:26:16', ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2001, '合同管理', 0, 6, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-sticky-note', 'admin', '2025-04-09 09:55:37', 'admin', '2025-04-10 15:26:47', ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2003, '合同档案', 2001, 1, '#', 'menuItem', 'C', '0', '1', 'order:info:list', 'fa fa-archive', 'admin', '2025-04-09 09:58:39', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2004, '项目列表', 2000, 1, '#', 'menuItem', 'C', '0', '1', 'project:info:list', 'fa fa-file-word-o', 'admin', '2025-04-10 15:25:44', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告标题', + `notice_type` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知公告表'; + +-- ---------------------------- +-- Records of sys_notice +-- ---------------------------- +BEGIN; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '若依开源框架介绍', '1', 0x3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE9A1B9E79BAEE4BB8BE7BB8D3C2F7370616E3E3C2F703E3C703E3C666F6E7420636F6C6F723D2223333333333333223E52756F5969E5BC80E6BA90E9A1B9E79BAEE698AFE4B8BAE4BC81E4B89AE794A8E688B7E5AE9AE588B6E79A84E5908EE58FB0E8849AE6898BE69EB6E6A186E69EB6EFBC8CE4B8BAE4BC81E4B89AE68993E980A0E79A84E4B880E7AB99E5BC8FE8A7A3E586B3E696B9E6A188EFBC8CE9998DE4BD8EE4BC81E4B89AE5BC80E58F91E68890E69CACEFBC8CE68F90E58D87E5BC80E58F91E69588E78E87E38082E4B8BBE8A681E58C85E68BACE794A8E688B7E7AEA1E79086E38081E8A792E889B2E7AEA1E79086E38081E983A8E997A8E7AEA1E79086E38081E88F9CE58D95E7AEA1E79086E38081E58F82E695B0E7AEA1E79086E38081E5AD97E585B8E7AEA1E79086E380813C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE5B297E4BD8DE7AEA1E790863C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E5AE9AE697B6E4BBBBE58AA13C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE380813C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE69C8DE58AA1E79B91E68EA7E38081E799BBE5BD95E697A5E5BF97E38081E6938DE4BD9CE697A5E5BF97E38081E4BBA3E7A081E7949FE68890E7AD89E58A9FE883BDE38082E585B6E4B8ADEFBC8CE8BF98E694AFE68C81E5A49AE695B0E68DAEE6BA90E38081E695B0E68DAEE69D83E99990E38081E59BBDE99985E58C96E380815265646973E7BC93E5AD98E38081446F636B6572E983A8E7BDB2E38081E6BB91E58AA8E9AA8CE8AF81E7A081E38081E7ACACE4B889E696B9E8AEA4E8AF81E799BBE5BD95E38081E58886E5B883E5BC8FE4BA8BE58AA1E380813C2F7370616E3E3C666F6E7420636F6C6F723D2223333333333333223EE58886E5B883E5BC8FE69687E4BBB6E5AD98E582A83C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E58886E5BA93E58886E8A1A8E5A484E79086E7AD89E68A80E69CAFE789B9E782B9E380823C2F7370616E3E3C2F703E3C703E3C696D67207372633D2268747470733A2F2F666F727564612E67697465652E636F6D2F696D616765732F313730353033303538333937373430313635312F35656435646236615F313135313030342E706E6722207374796C653D2277696474683A20363470783B223E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE5AE98E7BD91E58F8AE6BC94E7A4BA3C2F7370616E3E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE5AE98E7BD91E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F72756F79692E7669703C2F613E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E3C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE69687E6A1A3E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F646F632E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F646F632E72756F79692E7669703C2F613E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E4B88DE58886E7A6BBE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F64656D6F2E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F64656D6F2E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E58886E7A6BBE78988E69CACE38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F7675652E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F7675652E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E5BEAEE69C8DE58AA1E78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F636C6F75642E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F636C6F75642E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E7A7BBE58AA8E7ABAFE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F68352E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F68352E72756F79692E7669703C2F613E3C2F703E3C703E3C6272207374796C653D22636F6C6F723A207267622834382C2034392C203531293B20666F6E742D66616D696C793A202671756F743B48656C766574696361204E6575652671756F743B2C2048656C7665746963612C20417269616C2C2073616E732D73657269663B20666F6E742D73697A653A20313270783B223E3C2F703E, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '模块标题', + `business_type` int DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求方式', + `operator_type` int DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '返回参数', + `status` int DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB AUTO_INCREMENT=164 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志记录'; + +-- ---------------------------- +-- Records of sys_oper_log +-- ---------------------------- +BEGIN; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (100, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"项目管理\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-suitcase\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:53:46', 52); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (101, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"2\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:55:37', 65); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (102, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"系统监控\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"10\"],\"icon\":[\"fa fa-video-camera\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:55:53', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (103, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"order_info\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-clone\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:56:55', 46); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (104, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2002\"],\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"order:info:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-clone\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:57:35', 54); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (105, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'GET', 1, 'admin', '研发部门', '/system/menu/remove/2002', '127.0.0.1', '内网IP', '2002', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:58:05', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (106, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"order:info:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:58:39', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (107, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:04:08', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (108, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:04:38', 5); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (109, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:06:11', 4); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (110, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"101\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"重庆总公司\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:03:50', 83); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (111, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"102\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"华三代表处\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:04:26', 85); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (112, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商\"],\"orderNum\":[\"3\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:06:25', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (113, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"108\"],\"parentId\":[\"102\"],\"parentName\":[\"华三代表处\"],\"deptName\":[\"重庆代表处\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"ry@qq.com\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:06:55', 38); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (114, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"109\"],\"parentId\":[\"102\"],\"parentName\":[\"华三代表处\"],\"deptName\":[\"四川代表处\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:07:11', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (115, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:07:31', 37); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (116, '部门管理', 3, 'com.ruoyi.web.controller.system.SysDeptController.remove()', 'GET', 1, 'admin', '研发部门', '/system/dept/remove/201', '127.0.0.1', '内网IP', '201', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:00', 36); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (117, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:10', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (118, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"200\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:34', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (119, '部门管理', 3, 'com.ruoyi.web.controller.system.SysDeptController.remove()', 'GET', 1, 'admin', '研发部门', '/system/dept/remove/202', '127.0.0.1', '内网IP', '202', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:41', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (120, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"200\"],\"deptName\":[\"代理商2\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:57', 30); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (121, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"103\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"研发部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:09:35', 63); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (122, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"104\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"产品部\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:09:50', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (123, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"105\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"云桌面事业部\"],\"orderNum\":[\"3\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:10:34', 51); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (124, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"104\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"解决方案中心\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:00', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (125, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"103\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"软件开发事业部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:16', 27); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (126, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"106\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"经营管理中心\"],\"orderNum\":[\"4\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:38', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (127, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"107\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"工程管理中心\"],\"orderNum\":[\"5\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:12:45', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (128, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"101\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"公司总部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:13:21', 42); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (129, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/user/add', '127.0.0.1', '内网IP', '{\"deptId\":[\"106\"],\"userName\":[\"焦素梅\"],\"deptName\":[\"经营管理中心\"],\"phonenumber\":[\"18716362699\"],\"email\":[\"\"],\"loginName\":[\"jiao.sumei\"],\"sex\":[\"1\"],\"role\":[\"2\"],\"remark\":[\"\"],\"status\":[\"0\"],\"roleIds\":[\"2\"],\"postIds\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:20:32', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (130, '角色管理', 1, 'com.ruoyi.web.controller.system.SysRoleController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/role/add', '127.0.0.1', '内网IP', '{\"roleName\":[\"销售助理\"],\"roleKey\":[\"sale_assistant\"],\"roleSort\":[\"3\"],\"status\":[\"0\"],\"remark\":[\"\"],\"menuIds\":[\"2001,2003\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:23:22', 60); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (131, '角色管理', 4, 'com.ruoyi.web.controller.system.SysRoleController.selectAuthUserAll()', 'POST', 1, 'admin', '研发部门', '/system/role/authUser/selectAll', '127.0.0.1', '内网IP', '{\"roleId\":[\"100\"],\"userIds\":[\"100\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:24:04', 25); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (132, '用户管理', 4, 'com.ruoyi.web.controller.system.SysUserController.insertAuthRole()', 'POST', 1, 'admin', '研发部门', '/system/user/authRole/insertAuthRole', '127.0.0.1', '内网IP', '{\"userId\":[\"100\"],\"roleIds\":[\"100\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:24:17', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (133, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"2000\"],\"menuType\":[\"C\"],\"menuName\":[\"项目列表\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-file-word-o\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:25:45', 18); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (134, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2000\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"项目管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"5\"],\"icon\":[\"fa fa-suitcase\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:16', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (135, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2001\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"5\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:22', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (136, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"4\"],\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"若依官网\"],\"url\":[\"http://ruoyi.vip\"],\"target\":[\"menuBlank\"],\"perms\":[\"\"],\"orderNum\":[\"4\"],\"icon\":[\"fa fa-location-arrow\"],\"visible\":[\"1\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:34', 17); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (137, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2001\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"6\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:47', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (138, '用户管理', 2, 'com.ruoyi.web.controller.system.SysUserController.changeStatus()', 'POST', 1, 'admin', '研发部门', '/system/user/changeStatus', '127.0.0.1', '内网IP', '{\"userId\":[\"2\"],\"status\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:27:04', 22); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (139, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"数量单位\"],\"dictType\":[\"sys_unit\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:30:58', 21); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (140, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"个\"],\"dictValue\":[\"ge\"],\"dictType\":[\"sys_unit\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:31:41', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (141, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"台\"],\"dictValue\":[\"tai\"],\"dictType\":[\"sys_unit\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:31:52', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (142, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"所属行业\"],\"dictType\":[\"industry_code\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:32:46', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (143, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"教育\"],\"dictValue\":[\"jiaoyu\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:08', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (144, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"医疗\"],\"dictValue\":[\"yiliao\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:22', 26); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (145, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"政府\"],\"dictValue\":[\"zf\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"3\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:37', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (146, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"企业\"],\"dictValue\":[\"qiye\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"4\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:49', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (147, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"合同类型\"],\"dictType\":[\"order_type\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:36:55', 39); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (148, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"直签合同\"],\"dictValue\":[\"zq\"],\"dictType\":[\"order_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:37:20', 22); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (149, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"代理商签\"],\"dictValue\":[\"dls\"],\"dictType\":[\"order_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:37:33', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (150, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"1\"],\"configName\":[\"主框架页-默认皮肤样式名称\"],\"configKey\":[\"sys.index.skinName\"],\"configValue\":[\"skin-purple\"],\"configType\":[\"Y\"],\"remark\":[\"蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:38:29', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (151, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"3\"],\"configName\":[\"主框架页-侧边栏主题\"],\"configKey\":[\"sys.index.sideTheme\"],\"configValue\":[\"theme-light\"],\"configType\":[\"Y\"],\"remark\":[\"深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:38:50', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (152, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"3\"],\"configName\":[\"主框架页-侧边栏主题\"],\"configKey\":[\"sys.index.sideTheme\"],\"configValue\":[\"theme-blue\"],\"configType\":[\"Y\"],\"remark\":[\"深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:39:03', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (153, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"9\"],\"configName\":[\"主框架页-是否开启页脚\"],\"configKey\":[\"sys.index.footer\"],\"configValue\":[\"false\"],\"configType\":[\"Y\"],\"remark\":[\"是否开启底部页脚显示(true显示,false隐藏)\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:39:45', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (154, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"发货方式\"],\"dictType\":[\"delivery_type\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:41:40', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (155, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"快递\"],\"dictValue\":[\"kd\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:12', 16); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (156, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"物流\"],\"dictValue\":[\"wl\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:26', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (157, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"自提\"],\"dictValue\":[\"zt\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"3\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:41', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (158, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.update()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/update', '127.0.0.1', '内网IP', '{\"id\":[\"\"],\"userName\":[\"SIP管理员\"],\"phonenumber\":[\"18980500203\"],\"email\":[\"mula.liu@163.com\"],\"sex\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:43:08', 57); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (159, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE product_info (\\n `id` bigint NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `product_code` varchar(64) NOT NULL COMMENT \'产品编码,唯一\',\\n `product_name` varchar(128) NOT NULL COMMENT \'产品名称\',\\n `model` varchar(64) NOT NULL COMMENT \'产品代码\',\\n `description` text NULL COMMENT \'产品描述\',\\n `unit` varchar(16) NOT NULL DEFAULT \'个\' COMMENT \'单位\',\\n `remark` varchar(512) NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_product_code` (`product_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'产品表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-10 16:07:35', 47); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (160, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE product_info (\\n `id` bigint NOT NULL AUTO_INCREMENT,\\n `product_code` varchar(64) NOT NULL ,\\n `product_name` varchar(128) NOT NULL,\\n `model` varchar(64) NOT NULL,\\n `description` text NULL,\\n `remark` varchar(512) NULL,\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n `updated_at` datetime NOT NULL ,\\n `deleted_at` datetime NULL ,\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_product_code` (`product_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:09:53', 204); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (161, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:20:43', 49); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (162, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/product_info', '127.0.0.1', '内网IP', '\"product_info\"', NULL, 0, NULL, '2025-04-10 16:22:03', 71); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (163, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:26:18', 67); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='岗位信息表'; + +-- ---------------------------- +-- Records of sys_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称', + `role_key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色信息表'; + +-- ---------------------------- +-- Records of sys_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '超级管理员', 'admin', 1, '1', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL, '超级管理员'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '普通角色', 'common', 2, '2', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL, '普通角色'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '销售助理', 'sale_assistant', 3, '1', '0', '0', 'admin', '2025-04-10 15:23:22', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- Records of sys_role_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 100); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 101); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 105); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- Records of sys_role_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 3); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 4); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 100); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 101); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 102); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 103); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 104); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 105); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 106); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 107); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 108); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 109); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 110); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 111); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 112); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 113); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 114); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 115); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 116); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 500); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 501); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1000); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1002); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1003); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1004); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1005); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1006); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1007); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1008); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1009); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1010); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1011); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1012); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1013); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1014); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1015); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1016); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1017); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1018); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1019); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1020); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1021); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1022); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1023); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1024); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1025); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1026); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1027); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1028); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1029); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1030); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1031); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1032); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1033); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1034); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1035); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1036); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1037); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1038); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1039); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1040); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1041); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1042); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1043); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1044); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1045); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1046); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1047); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1048); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1049); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1050); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1051); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1052); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1053); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1054); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1055); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1056); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1057); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1058); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1059); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1060); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1061); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2003); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint DEFAULT NULL COMMENT '部门ID', + `login_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '登录账号', + `user_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用户昵称', + `user_type` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT '00' COMMENT '用户类型(00系统用户 01注册用户)', + `email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号码', + `sex` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '头像路径', + `password` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码', + `salt` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '盐加密', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户信息表'; + +-- ---------------------------- +-- Records of sys_user +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 103, 'admin', '若依', '00', 'ry@163.com', '15888888888', '1', '', '29c67a30398638269fe600f73a054934', '111111', '0', '0', '127.0.0.1', '2025-04-11 00:13:42', NULL, 'admin', '2025-04-10 15:57:30', '', '2025-04-10 16:13:41', '管理员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '1', '0', '127.0.0.1', NULL, NULL, 'admin', '2025-04-09 09:22:52', '', '2025-04-10 15:27:04', '测试员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, 106, 'jiao.sumei', '焦素梅', '00', '', '18716362699', '1', '', '0bcb2b8fc5843a7d6b4d3508093e233d', '688e78', '0', '0', '127.0.0.1', '2025-04-11 00:00:04', '2025-04-10 23:20:32', 'admin', '2025-04-10 15:20:32', '', '2025-04-10 16:00:04', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_online +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_online`; +CREATE TABLE `sys_user_online` ( + `sessionId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户会话id', + `login_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录账号', + `dept_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `ipaddr` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作系统', + `status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '在线状态on_line在线off_line离线', + `start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间', + `last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间', + `expire_time` int DEFAULT '0' COMMENT '超时时间,单位为分钟', + PRIMARY KEY (`sessionId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='在线用户记录'; + +-- ---------------------------- +-- Records of sys_user_online +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_online` (`sessionId`, `login_name`, `dept_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `start_timestamp`, `last_access_time`, `expire_time`) VALUES ('c4b59659-ec47-46f3-aad3-7080cb42157b', 'admin', '软件开发事业部', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', 'on_line', '2025-04-11 00:00:28', '2025-04-11 00:26:18', 1800000); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Records of sys_user_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (1, 1); +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (2, 2); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Records of sys_user_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (1, 1); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (2, 2); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (100, 100); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/sql/unis_pms_20250411.sql b/sql/unis_pms_20250411.sql new file mode 100644 index 00000000..c02c7218 --- /dev/null +++ b/sql/unis_pms_20250411.sql @@ -0,0 +1,1248 @@ +/* + Navicat Premium Data Transfer + + Source Server : localhost + Source Server Type : MySQL + Source Server Version : 80034 (8.0.34) + Source Host : localhost:3306 + Source Schema : unis_pms + + Target Server Type : MySQL + Target Server Version : 80034 (8.0.34) + File Encoding : 65001 + + Date: 11/04/2025 09:59:51 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for delivery_list +-- ---------------------------- +DROP TABLE IF EXISTS `delivery_list`; +CREATE TABLE `delivery_list` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键,自增', + `delivery_id` bigint NOT NULL COMMENT '关联发货单id', + `product_id` bigint NOT NULL COMMENT '产品编码id', + `serial_number` varchar(64) NOT NULL COMMENT '产品序列号', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` datetime DEFAULT NULL COMMENT '更新时间', + `deleted_at` datetime DEFAULT NULL COMMENT '删除时间', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_serial_number` (`serial_number`), + KEY `idx_delivery_id` (`delivery_id`), + KEY `idx_product_id` (`product_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='发货清单表'; + +-- ---------------------------- +-- Records of delivery_list +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table`; +CREATE TABLE `gen_table` ( + `table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '表名称', + `table_comment` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '表描述', + `sub_table_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '关联子表的表名', + `sub_table_fk_name` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '子表关联的外键名', + `class_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '实体类名称', + `tpl_category` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT 'crud' COMMENT '使用的模板(crud单表操作 tree树表操作 sub主子表操作)', + `package_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成包路径', + `module_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成模块名', + `business_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成业务名', + `function_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成功能名', + `function_author` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '生成功能作者', + `form_col_num` int DEFAULT '1' COMMENT '表单布局(单列 双列 三列)', + `gen_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '生成代码方式(0zip压缩包 1自定义路径)', + `gen_path` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '/' COMMENT '生成路径(不填默认项目路径)', + `options` varchar(1000) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '其它生成选项', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`table_id`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成业务表'; + +-- ---------------------------- +-- Records of gen_table +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'product_info', '产品编码表', '', NULL, 'ProductInfo', 'crud', 'com.ruoyi.sip', 'system', 'product', '产品管理', 'mula', 1, '0', '/', '{\"parentMenuId\":\"1\",\"treeName\":\"\",\"treeParentCode\":\"\",\"parentMenuName\":\"系统管理\",\"treeCode\":\"\"}', 'admin', '2025-04-10 16:09:53', '', '2025-04-10 18:04:11', ''); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'order_info', '合同订单表', 'order_list', 'order_id', 'OrderInfo', 'sub', 'com.ruoyi.sip', 'manage', 'order', '合同档案', 'mula', 2, '0', '/', '{\"parentMenuId\":\"2001\",\"treeName\":\"\",\"treeParentCode\":\"\",\"parentMenuName\":\"合同管理\",\"treeCode\":\"\"}', 'admin', '2025-04-10 18:11:28', '', '2025-04-10 19:01:43', ''); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'order_list', '合同清单表', NULL, NULL, 'OrderList', 'crud', 'com.ruoyi.system', 'system', 'list', '合同清单', 'ruoyi', 0, '0', '/', NULL, 'admin', '2025-04-10 18:25:24', '', NULL, NULL); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'order_delivery', '发货记录表', '', NULL, 'OrderDelivery', 'crud', 'com.ruoyi.sip', 'manage', 'delivery', '发货记录', 'mula', 2, '0', '/', '{\"parentMenuId\":\"2001\",\"treeName\":\"\",\"treeParentCode\":\"\",\"parentMenuName\":\"合同管理\",\"treeCode\":\"\"}', 'admin', '2025-04-11 01:44:17', '', '2025-04-11 01:47:34', ''); +INSERT INTO `gen_table` (`table_id`, `table_name`, `table_comment`, `sub_table_name`, `sub_table_fk_name`, `class_name`, `tpl_category`, `package_name`, `module_name`, `business_name`, `function_name`, `function_author`, `form_col_num`, `gen_type`, `gen_path`, `options`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 'delivery_list', '发货清单表', NULL, NULL, 'DeliveryList', 'crud', 'com.ruoyi.system', 'system', 'list', '发货清单', 'ruoyi', 0, '0', '/', NULL, 'admin', '2025-04-11 01:55:00', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for gen_table_column +-- ---------------------------- +DROP TABLE IF EXISTS `gen_table_column`; +CREATE TABLE `gen_table_column` ( + `column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', + `table_id` bigint DEFAULT NULL COMMENT '归属表编号', + `column_name` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列名称', + `column_comment` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列描述', + `column_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '列类型', + `java_type` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'JAVA类型', + `java_field` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'JAVA字段名', + `is_pk` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否主键(1是)', + `is_increment` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否自增(1是)', + `is_required` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否必填(1是)', + `is_insert` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否为插入字段(1是)', + `is_edit` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否编辑字段(1是)', + `is_list` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否列表字段(1是)', + `is_query` char(1) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '是否查询字段(1是)', + `query_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)', + `html_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)', + `dict_type` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `sort` int DEFAULT NULL COMMENT '排序', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`column_id`) +) ENGINE=InnoDB AUTO_INCREMENT=62 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='代码生成业务表字段'; + +-- ---------------------------- +-- Records of gen_table_column +-- ---------------------------- +BEGIN; +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1, 1, 'id', 'ID', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (2, 1, 'product_code', '产品编码', 'varchar(64)', 'String', 'productCode', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (3, 1, 'product_name', '产品名称', 'varchar(128)', 'String', 'productName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (4, 1, 'model', '产品代码', 'varchar(64)', 'String', 'model', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (5, 1, 'description', '产品描述', 'text', 'String', 'description', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'textarea', '', 5, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (6, 1, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 6, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (7, 1, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', NULL, NULL, NULL, '1', NULL, 'EQ', 'datetime', '', 7, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (8, 1, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 8, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (9, 1, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 9, 'admin', '2025-04-10 16:09:53', NULL, '2025-04-10 18:04:11'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (10, 2, 'id', '主键,自增', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:43'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (11, 2, 'project_code', '关联项目编号', 'varchar(32)', 'String', 'projectCode', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 2, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:43'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (12, 2, 'order_code', '合同编号', 'varchar(32)', 'String', 'orderCode', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:43'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (13, 2, 'version_code', '版本号', 'tinyint', 'Integer', 'versionCode', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:43'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (14, 2, 'order_name', '合同名称', 'varchar(128)', 'String', 'orderName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 5, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:43'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (15, 2, 'customer_name', '客户名称', 'varchar(64)', 'String', 'customerName', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 6, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (16, 2, 'customer_contact', '客户联系人', 'varchar(32)', 'String', 'customerContact', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 7, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (17, 2, 'customer_phone', '客户联系电话', 'varchar(20)', 'String', 'customerPhone', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 8, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (18, 2, 'customer_email', '客户邮箱', 'varchar(64)', 'String', 'customerEmail', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'input', '', 9, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (19, 2, 'order_type', '合同类型', 'varchar(20)', 'String', 'orderType', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'select', 'order_type', 10, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (20, 2, 'order_dept', '代表处编码', 'int', 'Long', 'orderDept', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 11, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (21, 2, 'partener_dept', '代理商编码', 'int', 'Long', 'partenerDept', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 12, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (22, 2, 'order_date', '合同签定日期', 'date', 'Date', 'orderDate', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 13, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (23, 2, 'status', '合同状态', 'tinyint', 'Integer', 'status', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'radio', '', 14, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (24, 2, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 15, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (25, 2, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 16, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (26, 2, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 17, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (27, 2, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 18, 'admin', '2025-04-10 18:11:28', NULL, '2025-04-10 19:01:44'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (28, 3, 'id', '主键,自增', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (29, 3, 'order_id', '关联合同ID', 'bigint', 'Long', 'orderId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (30, 3, 'product_id', '产品编码', 'bigint', 'Long', 'productId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (31, 3, 'quantity', '数量', 'int', 'Long', 'quantity', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (32, 3, 'price', '单价', 'decimal(10,2)', 'BigDecimal', 'price', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 5, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (33, 3, 'amount', '总价', 'decimal(10,2)', 'BigDecimal', 'amount', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 6, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (34, 3, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 7, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (35, 3, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 8, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (36, 3, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 9, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (37, 3, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 10, 'admin', '2025-04-10 18:25:24', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (38, 4, 'id', '主键,自增', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (39, 4, 'order_id', '关联合同id', 'bigint', 'Long', 'orderId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (40, 4, 'delivery_code', '发货单号', 'varchar(32)', 'String', 'deliveryCode', '0', '0', '1', '1', '1', '1', '1', 'LIKE', 'input', '', 3, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (41, 4, 'delivery_date', '发货日期', 'date', 'Date', 'deliveryDate', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 4, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (42, 4, 'delivery_type', '发货方式', 'varchar(20)', 'String', 'deliveryType', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'select', 'delivery_type', 5, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (43, 4, 'logistics_company', '物流公司', 'varchar(64)', 'String', 'logisticsCompany', '0', '0', NULL, '1', '1', NULL, '1', 'EQ', 'input', '', 6, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (44, 4, 'logistics_code', '物流单号', 'varchar(32)', 'String', 'logisticsCode', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'input', '', 7, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (45, 4, 'receiver_name', '收货人姓名', 'varchar(32)', 'String', 'receiverName', '0', '0', '1', '1', '1', NULL, NULL, 'LIKE', 'input', '', 8, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (46, 4, 'receiver_phone', '收货人电话', 'varchar(20)', 'String', 'receiverPhone', '0', '0', '1', '1', '1', NULL, NULL, 'EQ', 'input', '', 9, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (47, 4, 'receiver_address', '收货地址', 'varchar(256)', 'String', 'receiverAddress', '0', '0', '1', '1', '1', NULL, NULL, 'EQ', 'input', '', 10, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (48, 4, 'delivery_status', '发货状态', 'varchar(20)', 'String', 'deliveryStatus', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'radio', 'delivery_status', 11, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (49, 4, 'sign_time', '签收时间', 'datetime', 'Date', 'signTime', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'datetime', '', 12, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (50, 4, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', NULL, NULL, 'EQ', 'textarea', '', 13, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (51, 4, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 14, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (52, 4, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 15, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (53, 4, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, NULL, NULL, NULL, NULL, 'EQ', 'datetime', '', 16, 'admin', '2025-04-11 01:44:17', NULL, '2025-04-11 01:47:34'); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (54, 5, 'id', '主键,自增', 'bigint', 'Long', 'id', '1', '1', NULL, '1', NULL, NULL, NULL, 'EQ', 'input', '', 1, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (55, 5, 'delivery_id', '关联发货单id', 'bigint', 'Long', 'deliveryId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 2, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (56, 5, 'product_id', '产品编码id', 'bigint', 'Long', 'productId', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 3, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (57, 5, 'serial_number', '产品序列号', 'varchar(64)', 'String', 'serialNumber', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'input', '', 4, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (58, 5, 'remark', '备注', 'varchar(512)', 'String', 'remark', '0', '0', NULL, '1', '1', '1', NULL, 'EQ', 'textarea', '', 5, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (59, 5, 'created_at', '创建时间', 'datetime', 'Date', 'createdAt', '0', '0', '1', '1', '1', '1', '1', 'EQ', 'datetime', '', 6, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (60, 5, 'updated_at', '更新时间', 'datetime', 'Date', 'updatedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 7, 'admin', '2025-04-11 01:55:00', '', NULL); +INSERT INTO `gen_table_column` (`column_id`, `table_id`, `column_name`, `column_comment`, `column_type`, `java_type`, `java_field`, `is_pk`, `is_increment`, `is_required`, `is_insert`, `is_edit`, `is_list`, `is_query`, `query_type`, `html_type`, `dict_type`, `sort`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (61, 5, 'deleted_at', '删除时间', 'datetime', 'Date', 'deletedAt', '0', '0', NULL, '1', '1', '1', '1', 'EQ', 'datetime', '', 8, 'admin', '2025-04-11 01:55:00', '', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for order_delivery +-- ---------------------------- +DROP TABLE IF EXISTS `order_delivery`; +CREATE TABLE `order_delivery` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键,自增', + `order_id` bigint NOT NULL COMMENT '关联合同id', + `delivery_code` varchar(32) NOT NULL COMMENT '发货单号,唯一', + `delivery_date` date NOT NULL COMMENT '发货日期', + `delivery_type` varchar(20) NOT NULL DEFAULT '1' COMMENT '发货方式:1-快递,2-物流,3-自提', + `logistics_company` varchar(64) DEFAULT NULL COMMENT '物流公司', + `logistics_code` varchar(32) DEFAULT NULL COMMENT '物流单号', + `receiver_name` varchar(32) NOT NULL COMMENT '收货人姓名', + `receiver_phone` varchar(20) NOT NULL COMMENT '收货人电话', + `receiver_address` varchar(256) NOT NULL COMMENT '收货地址', + `delivery_status` varchar(20) NOT NULL COMMENT '发货状态:1-待发货,2-已发货,3-已签收', + `sign_time` datetime DEFAULT NULL COMMENT '签收时间', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', + `deleted_at` datetime DEFAULT NULL COMMENT '删除时间', + `status` tinyint NOT NULL DEFAULT '0' COMMENT '数据状态', + PRIMARY KEY (`id`), + UNIQUE KEY `idx_delivery_code` (`delivery_code`), + KEY `idx_order_id` (`order_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='发货记录表'; + +-- ---------------------------- +-- Records of order_delivery +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for order_info +-- ---------------------------- +DROP TABLE IF EXISTS `order_info`; +CREATE TABLE `order_info` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键,自增', + `project_code` varchar(32) NOT NULL COMMENT '关联项目编号', + `order_code` varchar(32) NOT NULL COMMENT '合同编号,唯一', + `version_code` tinyint NOT NULL COMMENT '版本号', + `order_name` varchar(128) NOT NULL COMMENT '合同名称', + `customer_name` varchar(64) NOT NULL COMMENT '客户名称', + `customer_contact` varchar(32) DEFAULT NULL COMMENT '客户联系人', + `customer_phone` varchar(20) DEFAULT NULL COMMENT '客户联系电话', + `customer_email` varchar(64) DEFAULT NULL COMMENT '客户邮箱', + `order_type` varchar(20) NOT NULL COMMENT '合同类型:1-直签合同,2-代理商合同', + `order_dept` int NOT NULL COMMENT '代表处编码', + `partener_dept` int NOT NULL COMMENT '代理商编码', + `order_date` date NOT NULL COMMENT '合同签定日期', + `status` tinyint NOT NULL DEFAULT '0' COMMENT '合同状态:0-有效,1-无效', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` datetime DEFAULT NULL COMMENT '更新时间', + `deleted_at` datetime DEFAULT NULL COMMENT '删除时间,软删除', + PRIMARY KEY (`id`), + UNIQUE KEY `uk_order_code` (`order_code`) +) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合同订单表'; + +-- ---------------------------- +-- Records of order_info +-- ---------------------------- +BEGIN; +INSERT INTO `order_info` (`id`, `project_code`, `order_code`, `version_code`, `order_name`, `customer_name`, `customer_contact`, `customer_phone`, `customer_email`, `order_type`, `order_dept`, `partener_dept`, `order_date`, `status`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (1, '', 'ht01230123', 1, '测试合同', 'liu ji', '', '13709080203', 'mula.liu@163.com', 'zq', 12, 12, '2025-04-10', 0, '', '2025-04-10 19:20:47', '2025-04-10 19:20:47', '2025-04-10 20:23:34'); +INSERT INTO `order_info` (`id`, `project_code`, `order_code`, `version_code`, `order_name`, `customer_name`, `customer_contact`, `customer_phone`, `customer_email`, `order_type`, `order_dept`, `partener_dept`, `order_date`, `status`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (2, '', 'ht01230124', 1, '测试合同2', '另一个客户', '123', '', 'mula.liu@gmail.com', 'dls', 2, 3, '2025-04-09', 0, '我的天啊', '2025-04-10 19:22:01', '2025-04-10 20:17:58', NULL); +INSERT INTO `order_info` (`id`, `project_code`, `order_code`, `version_code`, `order_name`, `customer_name`, `customer_contact`, `customer_phone`, `customer_email`, `order_type`, `order_dept`, `partener_dept`, `order_date`, `status`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (5, '23', 'ht012301241', 3, '123', '打撒发斯蒂芬', '', '', '', 'dls', 2, 3, '2025-04-07', 1, '123123123231', '2025-04-10 20:07:16', NULL, '2025-04-11 01:22:04'); +COMMIT; + +-- ---------------------------- +-- Table structure for order_list +-- ---------------------------- +DROP TABLE IF EXISTS `order_list`; +CREATE TABLE `order_list` ( + `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键,自增', + `order_id` bigint NOT NULL COMMENT '关联合同ID', + `product_id` bigint NOT NULL COMMENT '产品编码,关联产品编码表', + `quantity` int NOT NULL DEFAULT '1' COMMENT '数量', + `price` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '单价', + `amount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '总价', + `remark` varchar(512) DEFAULT NULL COMMENT '备注', + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `updated_at` datetime DEFAULT NULL COMMENT '更新时间', + `deleted_at` datetime DEFAULT NULL COMMENT '删除时间,软删除', + `status` tinyint NOT NULL DEFAULT '0' COMMENT '数据状态', + PRIMARY KEY (`id`), + KEY `idx_order_id` (`order_id`), + KEY `idx_product_id` (`product_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='合同清单表'; + +-- ---------------------------- +-- Records of order_list +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for product_info +-- ---------------------------- +DROP TABLE IF EXISTS `product_info`; +CREATE TABLE `product_info` ( + `id` bigint NOT NULL AUTO_INCREMENT, + `product_code` varchar(64) NOT NULL, + `product_name` varchar(128) NOT NULL, + `model` varchar(64) NOT NULL, + `description` text, + `remark` varchar(512) DEFAULT NULL, + `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + `updated_at` datetime DEFAULT NULL, + `deleted_at` datetime DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `uk_product_code` (`product_code`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='产品编码表'; + +-- ---------------------------- +-- Records of product_info +-- ---------------------------- +BEGIN; +INSERT INTO `product_info` (`id`, `product_code`, `product_name`, `model`, `description`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (2, '213', '998', '123222', '', '', '2025-04-11 00:00:00', '2025-04-10 17:47:19', NULL); +INSERT INTO `product_info` (`id`, `product_code`, `product_name`, `model`, `description`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (4, '99345', '123123', '1231231', '真的么?', '', '2025-04-10 17:45:18', '2025-04-10 17:45:30', NULL); +INSERT INTO `product_info` (`id`, `product_code`, `product_name`, `model`, `description`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (5, '192332', '一个新产品', '123', '1231233123', '', '2025-04-10 19:04:44', NULL, NULL); +INSERT INTO `product_info` (`id`, `product_code`, `product_name`, `model`, `description`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (6, '9801A5KA', '高性能X86瘦终端、普教胖终端', 'VDI-C6530V-38-G2', '', '', '2025-04-11 01:31:54', NULL, NULL); +INSERT INTO `product_info` (`id`, `product_code`, `product_name`, `model`, `description`, `remark`, `created_at`, `updated_at`, `deleted_at`) VALUES (7, '3130A6LC', 'H3C Workspace 云桌面管理软件(商业专属, 仅允许商业项目下单使用)-1 License', 'Workspace', '', '', '2025-04-11 01:32:54', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_config +-- ---------------------------- +DROP TABLE IF EXISTS `sys_config`; +CREATE TABLE `sys_config` ( + `config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键', + `config_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数名称', + `config_key` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数键名', + `config_value` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '参数键值', + `config_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT 'N' COMMENT '系统内置(Y是 N否)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`config_id`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='参数配置表'; + +-- ---------------------------- +-- Records of sys_config +-- ---------------------------- +BEGIN; +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-purple', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:38:29', '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '初始化密码 123456'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-blue', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:39:03', '深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'false', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '是否开启注册用户功能(true开启,false关闭)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '用户管理-密码字符范围', 'sys.account.chrtype', '0', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '默认任意字符范围,0任意(密码可以输入任意字符),1数字(密码只能为0-9数字),2英文字母(密码只能为a-z和A-Z字母),3字母和数字(密码必须包含字母,数字),4字母数字和特殊字符(目前支持的特殊字符包括:~!@#$%^&*()-=_+)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '用户管理-初始密码修改策略', 'sys.account.initPasswordModify', '1', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '0:初始密码修改策略关闭,没有任何提示,1:提醒用户,如果未修改初始密码,则在登录时就会提醒修改密码对话框'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '用户管理-账号密码更新周期', 'sys.account.passwordValidateDays', '0', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '密码更新周期(填写数字,数据初始化值为0不限制,若修改必须为大于0小于365的正整数),如果超过这个周期登录系统时,则在登录时就会提醒修改密码对话框'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '主框架页-菜单导航显示风格', 'sys.index.menuStyle', 'default', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单导航显示风格(default为左侧导航菜单,topnav为顶部导航菜单)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '主框架页-是否开启页脚', 'sys.index.footer', 'false', 'Y', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:39:45', '是否开启底部页脚显示(true显示,false隐藏)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '主框架页-是否开启页签', 'sys.index.tagsView', 'true', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '是否开启菜单多页签显示(true显示,false隐藏)'); +INSERT INTO `sys_config` (`config_id`, `config_name`, `config_key`, `config_value`, `config_type`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2025-04-09 09:22:53', '', NULL, '设置登录IP黑名单限制,多个匹配项以;分隔,支持匹配(*通配、网段)'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dept`; +CREATE TABLE `sys_dept` ( + `dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id', + `parent_id` bigint DEFAULT '0' COMMENT '父部门id', + `ancestors` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '祖级列表', + `dept_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `leader` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '负责人', + `phone` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '联系电话', + `email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '邮箱', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '部门状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + PRIMARY KEY (`dept_id`) +) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='部门表'; + +-- ---------------------------- +-- Records of sys_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (100, 0, '0', '紫光汇智', 0, '陈鹏', '15888888888', 'ry@qq.com', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (101, 0, '0', '合作伙伴', 0, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:13:21'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (102, 101, '0,100', '华三代表处', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:04:26'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (103, 100, '0,100,101', '软件开发事业部', 1, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:16'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (104, 100, '0,100,101', '解决方案中心', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:00'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (105, 100, '0,100,101', '云桌面事业部', 3, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:10:34'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (106, 100, '0,100,101', '经营管理中心', 4, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:11:38'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (107, 100, '0,100,101', '工程管理中心', 5, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:12:45'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (108, 102, '0,100,102', '重庆代表处', 1, '', '', 'ry@qq.com', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:06:55'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (109, 102, '0,100,102', '四川代表处', 2, '', '', '', '0', '0', 'admin', '2025-04-09 09:22:52', 'admin', '2025-04-10 15:07:11'); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (200, 101, '0,100', '代理商', 3, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:06:25', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (201, 100, '0,100', '代理商1', 1, NULL, NULL, NULL, '0', '2', 'admin', '2025-04-10 15:07:31', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (202, 100, '0,100', '代理商1', 1, NULL, NULL, NULL, '0', '2', 'admin', '2025-04-10 15:08:10', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (203, 200, '0,100,200', '代理商1', 1, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:08:34', '', NULL); +INSERT INTO `sys_dept` (`dept_id`, `parent_id`, `ancestors`, `dept_name`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (204, 200, '0,100,200', '代理商2', 2, NULL, NULL, NULL, '0', '0', 'admin', '2025-04-10 15:08:57', '', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_data +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_data`; +CREATE TABLE `sys_dict_data` ( + `dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码', + `dict_sort` int DEFAULT '0' COMMENT '字典排序', + `dict_label` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典标签', + `dict_value` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典键值', + `dict_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `css_class` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '样式属性(其他样式扩展)', + `list_class` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '表格回显样式', + `is_default` char(1) COLLATE utf8mb4_unicode_ci DEFAULT 'N' COMMENT '是否默认(Y是 N否)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_code`) +) ENGINE=InnoDB AUTO_INCREMENT=114 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典数据表'; + +-- ---------------------------- +-- Records of sys_dict_data +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 1, '男', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别男'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 2, '女', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别女'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '性别未知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '显示菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '隐藏菜单'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '默认分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统分组'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (12, 1, '是', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统默认是'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (13, 2, '否', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统默认否'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '公告'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '关闭状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '其他操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '新增操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '修改操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '删除操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '授权操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '导出操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '导入操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '强退操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '生成操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '清空操作'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '正常状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '停用状态'); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, 1, '个', 'ge', 'sys_unit', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:31:41', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, 2, '台', 'tai', 'sys_unit', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:31:52', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, 1, '教育', 'jiaoyu', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:08', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, 2, '医疗', 'yiliao', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:22', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, 3, '政府', 'zf', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:37', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, 4, '企业', 'qiye', 'industry_code', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:33:49', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, 1, '直签合同', 'zq', 'order_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:37:20', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, 2, '代理商签', 'dls', 'order_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:37:33', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, 1, '快递', 'kd', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:12', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, 2, '物流', 'wl', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:26', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, 3, '自提', 'zt', 'delivery_type', NULL, NULL, 'Y', '0', 'admin', '2025-04-10 15:42:41', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, 1, '待发货', 'df', 'delivery_status', NULL, NULL, 'Y', '0', 'admin', '2025-04-11 01:43:38', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, 2, '已发货', 'yf', 'delivery_status', NULL, NULL, 'Y', '0', 'admin', '2025-04-11 01:43:51', '', NULL, NULL); +INSERT INTO `sys_dict_data` (`dict_code`, `dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, 3, '已签收', 'qs', 'delivery_status', NULL, NULL, 'Y', '0', 'admin', '2025-04-11 01:44:06', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_dict_type +-- ---------------------------- +DROP TABLE IF EXISTS `sys_dict_type`; +CREATE TABLE `sys_dict_type` ( + `dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键', + `dict_name` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典名称', + `dict_type` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '字典类型', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`dict_id`), + UNIQUE KEY `dict_type` (`dict_type`) +) ENGINE=InnoDB AUTO_INCREMENT=105 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='字典类型表'; + +-- ---------------------------- +-- Records of sys_dict_type +-- ---------------------------- +BEGIN; +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '用户性别列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统开关列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '任务状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '任务分组列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '系统是否列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '通知状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '操作类型列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2025-04-09 09:22:53', '', NULL, '登录状态列表'); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '数量单位', 'sys_unit', '0', 'admin', '2025-04-10 15:30:58', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '所属行业', 'industry_code', '0', 'admin', '2025-04-10 15:32:46', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '合同类型', 'order_type', '0', 'admin', '2025-04-10 15:36:55', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '发货方式', 'delivery_type', '0', 'admin', '2025-04-10 15:41:40', '', NULL, NULL); +INSERT INTO `sys_dict_type` (`dict_id`, `dict_name`, `dict_type`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '发货状态', 'delivery_status', '0', 'admin', '2025-04-11 01:42:57', '', NULL, NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job`; +CREATE TABLE `sys_job` ( + `job_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务ID', + `job_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '任务名称', + `job_group` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'DEFAULT' COMMENT '任务组名', + `invoke_target` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '调用目标字符串', + `cron_expression` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'cron执行表达式', + `misfire_policy` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '3' COMMENT '计划执行错误策略(1立即执行 2执行一次 3放弃执行)', + `concurrent` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否并发执行(0允许 1禁止)', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '状态(0正常 1暂停)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注信息', + PRIMARY KEY (`job_id`,`job_name`,`job_group`) +) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务调度表'; + +-- ---------------------------- +-- Records of sys_job +-- ---------------------------- +BEGIN; +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统默认(无参)', 'DEFAULT', 'ryTask.ryNoParams', '0/10 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统默认(有参)', 'DEFAULT', 'ryTask.ryParams(\'ry\')', '0/15 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_job` (`job_id`, `job_name`, `job_group`, `invoke_target`, `cron_expression`, `misfire_policy`, `concurrent`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统默认(多参)', 'DEFAULT', 'ryTask.ryMultipleParams(\'ry\', true, 2000L, 316.50D, 100)', '0/20 * * * * ?', '3', '1', '1', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_job_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_job_log`; +CREATE TABLE `sys_job_log` ( + `job_log_id` bigint NOT NULL AUTO_INCREMENT COMMENT '任务日志ID', + `job_name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务名称', + `job_group` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '任务组名', + `invoke_target` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '调用目标字符串', + `job_message` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '日志信息', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '执行状态(0正常 1失败)', + `exception_info` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '异常信息', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + PRIMARY KEY (`job_log_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='定时任务调度日志表'; + +-- ---------------------------- +-- Records of sys_job_log +-- ---------------------------- +BEGIN; +COMMIT; + +-- ---------------------------- +-- Table structure for sys_logininfor +-- ---------------------------- +DROP TABLE IF EXISTS `sys_logininfor`; +CREATE TABLE `sys_logininfor` ( + `info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID', + `login_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录账号', + `ipaddr` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作系统', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '登录状态(0成功 1失败)', + `msg` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '提示消息', + `login_time` datetime DEFAULT NULL COMMENT '访问时间', + PRIMARY KEY (`info_id`), + KEY `idx_sys_logininfor_s` (`status`), + KEY `idx_sys_logininfor_lt` (`login_time`) +) ENGINE=InnoDB AUTO_INCREMENT=159 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='系统访问记录'; + +-- ---------------------------- +-- Records of sys_logininfor +-- ---------------------------- +BEGIN; +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (100, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-09 09:23:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (101, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-09 09:52:17'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (102, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:01:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (103, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:43:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (104, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:43:46'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (105, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:45:31'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (106, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:45:37'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (107, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:51:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (108, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 15:51:19'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (109, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误2次', '2025-04-10 15:52:13'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (110, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误3次', '2025-04-10 15:53:38'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (111, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 15:53:57'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (112, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 15:54:01'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (113, 'ry', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '用户已封禁,请联系管理员', '2025-04-10 15:54:31'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (118, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:00:04'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (119, 'jiao.sumei', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '退出成功', '2025-04-10 16:00:28'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (120, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '验证码错误', '2025-04-10 16:00:41'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (121, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 16:00:45'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (122, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误2次', '2025-04-10 16:00:53'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (123, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:03:40'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (124, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 16:13:41'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (125, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:09:32'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (126, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:20:15'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (127, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:24:35'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (128, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:36:22'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (129, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:38:23'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (130, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:42:43'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (131, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 17:44:57'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (132, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 18:50:19'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (133, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 18:50:31'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (134, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 18:57:11'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (135, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 18:57:23'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (136, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 19:03:13'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (137, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:03:24'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (138, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:12:24'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (139, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:14:19'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (140, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 19:17:50'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (141, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:17:58'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (142, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:19:41'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (143, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:30:29'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (144, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 19:40:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (145, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:40:22'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (146, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:45:14'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (147, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:50:13'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (148, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:57:23'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (149, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 19:58:16'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (150, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 20:01:22'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (151, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-10 20:12:08'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (152, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 20:12:17'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (153, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 20:17:39'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (154, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 20:20:57'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (155, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-10 20:24:27'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (156, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '1', '密码输入错误1次', '2025-04-11 01:17:59'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (157, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-11 01:18:09'); +INSERT INTO `sys_logininfor` (`info_id`, `login_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `msg`, `login_time`) VALUES (158, 'admin', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', '0', '登录成功', '2025-04-11 01:51:48'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_menu`; +CREATE TABLE `sys_menu` ( + `menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID', + `menu_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '菜单名称', + `parent_id` bigint DEFAULT '0' COMMENT '父菜单ID', + `order_num` int DEFAULT '0' COMMENT '显示顺序', + `url` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '请求地址', + `target` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '打开方式(menuItem页签 menuBlank新窗口)', + `menu_type` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '菜单类型(M目录 C菜单 F按钮)', + `visible` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '菜单状态(0显示 1隐藏)', + `is_refresh` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '是否刷新(0刷新 1不刷新)', + `perms` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '权限标识', + `icon` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '#' COMMENT '菜单图标', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '备注', + PRIMARY KEY (`menu_id`) +) ENGINE=InnoDB AUTO_INCREMENT=2023 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='菜单权限表'; + +-- ---------------------------- +-- Records of sys_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '系统管理', 0, 1, '#', '', 'M', '0', '1', '', 'fa fa-gear', 'admin', '2025-04-09 09:22:52', '', NULL, '系统管理目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '系统监控', 0, 10, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-video-camera', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-09 09:55:53', '系统监控目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '系统工具', 0, 3, '#', '', 'M', '0', '1', '', 'fa fa-bars', 'admin', '2025-04-09 09:22:53', '', NULL, '系统工具目录'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, '若依官网', 0, 4, 'http://ruoyi.vip', 'menuBlank', 'C', '1', '1', '', 'fa fa-location-arrow', 'admin', '2025-04-09 09:22:53', 'admin', '2025-04-10 15:26:34', '若依官网地址'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '用户管理', 1, 1, '/system/user', '', 'C', '0', '1', 'system:user:view', 'fa fa-user-o', 'admin', '2025-04-09 09:22:53', '', NULL, '用户管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (101, '角色管理', 1, 2, '/system/role', '', 'C', '0', '1', 'system:role:view', 'fa fa-user-secret', 'admin', '2025-04-09 09:22:53', '', NULL, '角色管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (102, '菜单管理', 1, 3, '/system/menu', '', 'C', '0', '1', 'system:menu:view', 'fa fa-th-list', 'admin', '2025-04-09 09:22:53', '', NULL, '菜单管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (103, '部门管理', 1, 4, '/system/dept', '', 'C', '0', '1', 'system:dept:view', 'fa fa-outdent', 'admin', '2025-04-09 09:22:53', '', NULL, '部门管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (104, '岗位管理', 1, 5, '/system/post', '', 'C', '0', '1', 'system:post:view', 'fa fa-address-card-o', 'admin', '2025-04-09 09:22:53', '', NULL, '岗位管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (105, '字典管理', 1, 6, '/system/dict', '', 'C', '0', '1', 'system:dict:view', 'fa fa-bookmark-o', 'admin', '2025-04-09 09:22:53', '', NULL, '字典管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (106, '参数设置', 1, 7, '/system/config', '', 'C', '0', '1', 'system:config:view', 'fa fa-sun-o', 'admin', '2025-04-09 09:22:53', '', NULL, '参数设置菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (107, '通知公告', 1, 8, '/system/notice', '', 'C', '0', '1', 'system:notice:view', 'fa fa-bullhorn', 'admin', '2025-04-09 09:22:53', '', NULL, '通知公告菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (108, '日志管理', 1, 9, '#', '', 'M', '0', '1', '', 'fa fa-pencil-square-o', 'admin', '2025-04-09 09:22:53', '', NULL, '日志管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (109, '在线用户', 2, 1, '/monitor/online', '', 'C', '0', '1', 'monitor:online:view', 'fa fa-user-circle', 'admin', '2025-04-09 09:22:53', '', NULL, '在线用户菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (110, '定时任务', 2, 2, '/monitor/job', '', 'C', '0', '1', 'monitor:job:view', 'fa fa-tasks', 'admin', '2025-04-09 09:22:53', '', NULL, '定时任务菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (111, '数据监控', 2, 3, '/monitor/data', '', 'C', '0', '1', 'monitor:data:view', 'fa fa-bug', 'admin', '2025-04-09 09:22:53', '', NULL, '数据监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (112, '服务监控', 2, 4, '/monitor/server', '', 'C', '0', '1', 'monitor:server:view', 'fa fa-server', 'admin', '2025-04-09 09:22:53', '', NULL, '服务监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (113, '缓存监控', 2, 5, '/monitor/cache', '', 'C', '0', '1', 'monitor:cache:view', 'fa fa-cube', 'admin', '2025-04-09 09:22:53', '', NULL, '缓存监控菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (114, '表单构建', 3, 1, '/tool/build', '', 'C', '0', '1', 'tool:build:view', 'fa fa-wpforms', 'admin', '2025-04-09 09:22:53', '', NULL, '表单构建菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (115, '代码生成', 3, 2, '/tool/gen', '', 'C', '0', '1', 'tool:gen:view', 'fa fa-code', 'admin', '2025-04-09 09:22:53', '', NULL, '代码生成菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (116, '系统接口', 3, 3, '/tool/swagger', '', 'C', '0', '1', 'tool:swagger:view', 'fa fa-gg', 'admin', '2025-04-09 09:22:53', '', NULL, '系统接口菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (500, '操作日志', 108, 1, '/monitor/operlog', '', 'C', '0', '1', 'monitor:operlog:view', 'fa fa-address-book', 'admin', '2025-04-09 09:22:53', '', NULL, '操作日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (501, '登录日志', 108, 2, '/monitor/logininfor', '', 'C', '0', '1', 'monitor:logininfor:view', 'fa fa-file-image-o', 'admin', '2025-04-09 09:22:53', '', NULL, '登录日志菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1000, '用户查询', 100, 1, '#', '', 'F', '0', '1', 'system:user:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1001, '用户新增', 100, 2, '#', '', 'F', '0', '1', 'system:user:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1002, '用户修改', 100, 3, '#', '', 'F', '0', '1', 'system:user:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1003, '用户删除', 100, 4, '#', '', 'F', '0', '1', 'system:user:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1004, '用户导出', 100, 5, '#', '', 'F', '0', '1', 'system:user:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1005, '用户导入', 100, 6, '#', '', 'F', '0', '1', 'system:user:import', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1006, '重置密码', 100, 7, '#', '', 'F', '0', '1', 'system:user:resetPwd', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1007, '角色查询', 101, 1, '#', '', 'F', '0', '1', 'system:role:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1008, '角色新增', 101, 2, '#', '', 'F', '0', '1', 'system:role:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1009, '角色修改', 101, 3, '#', '', 'F', '0', '1', 'system:role:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1010, '角色删除', 101, 4, '#', '', 'F', '0', '1', 'system:role:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1011, '角色导出', 101, 5, '#', '', 'F', '0', '1', 'system:role:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1012, '菜单查询', 102, 1, '#', '', 'F', '0', '1', 'system:menu:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1013, '菜单新增', 102, 2, '#', '', 'F', '0', '1', 'system:menu:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1014, '菜单修改', 102, 3, '#', '', 'F', '0', '1', 'system:menu:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1015, '菜单删除', 102, 4, '#', '', 'F', '0', '1', 'system:menu:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1016, '部门查询', 103, 1, '#', '', 'F', '0', '1', 'system:dept:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1017, '部门新增', 103, 2, '#', '', 'F', '0', '1', 'system:dept:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1018, '部门修改', 103, 3, '#', '', 'F', '0', '1', 'system:dept:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1019, '部门删除', 103, 4, '#', '', 'F', '0', '1', 'system:dept:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1020, '岗位查询', 104, 1, '#', '', 'F', '0', '1', 'system:post:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1021, '岗位新增', 104, 2, '#', '', 'F', '0', '1', 'system:post:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1022, '岗位修改', 104, 3, '#', '', 'F', '0', '1', 'system:post:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1023, '岗位删除', 104, 4, '#', '', 'F', '0', '1', 'system:post:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1024, '岗位导出', 104, 5, '#', '', 'F', '0', '1', 'system:post:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1025, '字典查询', 105, 1, '#', '', 'F', '0', '1', 'system:dict:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1026, '字典新增', 105, 2, '#', '', 'F', '0', '1', 'system:dict:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1027, '字典修改', 105, 3, '#', '', 'F', '0', '1', 'system:dict:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1028, '字典删除', 105, 4, '#', '', 'F', '0', '1', 'system:dict:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1029, '字典导出', 105, 5, '#', '', 'F', '0', '1', 'system:dict:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1030, '参数查询', 106, 1, '#', '', 'F', '0', '1', 'system:config:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1031, '参数新增', 106, 2, '#', '', 'F', '0', '1', 'system:config:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1032, '参数修改', 106, 3, '#', '', 'F', '0', '1', 'system:config:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1033, '参数删除', 106, 4, '#', '', 'F', '0', '1', 'system:config:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1034, '参数导出', 106, 5, '#', '', 'F', '0', '1', 'system:config:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1035, '公告查询', 107, 1, '#', '', 'F', '0', '1', 'system:notice:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1036, '公告新增', 107, 2, '#', '', 'F', '0', '1', 'system:notice:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1037, '公告修改', 107, 3, '#', '', 'F', '0', '1', 'system:notice:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1038, '公告删除', 107, 4, '#', '', 'F', '0', '1', 'system:notice:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1039, '操作查询', 500, 1, '#', '', 'F', '0', '1', 'monitor:operlog:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1040, '操作删除', 500, 2, '#', '', 'F', '0', '1', 'monitor:operlog:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1041, '详细信息', 500, 3, '#', '', 'F', '0', '1', 'monitor:operlog:detail', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1042, '日志导出', 500, 4, '#', '', 'F', '0', '1', 'monitor:operlog:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1043, '登录查询', 501, 1, '#', '', 'F', '0', '1', 'monitor:logininfor:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1044, '登录删除', 501, 2, '#', '', 'F', '0', '1', 'monitor:logininfor:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1045, '日志导出', 501, 3, '#', '', 'F', '0', '1', 'monitor:logininfor:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1046, '账户解锁', 501, 4, '#', '', 'F', '0', '1', 'monitor:logininfor:unlock', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1047, '在线查询', 109, 1, '#', '', 'F', '0', '1', 'monitor:online:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1048, '批量强退', 109, 2, '#', '', 'F', '0', '1', 'monitor:online:batchForceLogout', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1049, '单条强退', 109, 3, '#', '', 'F', '0', '1', 'monitor:online:forceLogout', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1050, '任务查询', 110, 1, '#', '', 'F', '0', '1', 'monitor:job:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1051, '任务新增', 110, 2, '#', '', 'F', '0', '1', 'monitor:job:add', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1052, '任务修改', 110, 3, '#', '', 'F', '0', '1', 'monitor:job:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1053, '任务删除', 110, 4, '#', '', 'F', '0', '1', 'monitor:job:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1054, '状态修改', 110, 5, '#', '', 'F', '0', '1', 'monitor:job:changeStatus', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1055, '任务详细', 110, 6, '#', '', 'F', '0', '1', 'monitor:job:detail', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1056, '任务导出', 110, 7, '#', '', 'F', '0', '1', 'monitor:job:export', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1057, '生成查询', 115, 1, '#', '', 'F', '0', '1', 'tool:gen:list', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1058, '生成修改', 115, 2, '#', '', 'F', '0', '1', 'tool:gen:edit', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1059, '生成删除', 115, 3, '#', '', 'F', '0', '1', 'tool:gen:remove', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1060, '预览代码', 115, 4, '#', '', 'F', '0', '1', 'tool:gen:preview', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1061, '生成代码', 115, 5, '#', '', 'F', '0', '1', 'tool:gen:code', '#', 'admin', '2025-04-09 09:22:53', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2000, '项目管理', 0, 5, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-suitcase', 'admin', '2025-04-09 09:53:46', 'admin', '2025-04-10 15:26:16', ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2001, '合同管理', 0, 6, '#', 'menuItem', 'M', '0', '1', '', 'fa fa-sticky-note', 'admin', '2025-04-09 09:55:37', 'admin', '2025-04-10 15:26:47', ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2004, '项目列表', 2000, 1, '#', 'menuItem', 'C', '0', '1', 'project:info:list', 'fa fa-file-word-o', 'admin', '2025-04-10 15:25:44', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2005, '产品管理', 1, 1, '/system/product', 'menuItem', 'C', '0', '1', 'system:product:view', 'fa fa-file-powerpoint-o', 'admin', '2025-04-10 16:29:23', 'admin', '2025-04-10 16:31:17', '产品管理菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2006, '产品管理查询', 2005, 1, '#', '', 'F', '0', '1', 'system:product:list', '#', 'admin', '2025-04-10 16:29:23', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2007, '产品管理新增', 2005, 2, '#', '', 'F', '0', '1', 'system:product:add', '#', 'admin', '2025-04-10 16:29:23', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2008, '产品管理修改', 2005, 3, '#', '', 'F', '0', '1', 'system:product:edit', '#', 'admin', '2025-04-10 16:29:23', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2009, '产品管理删除', 2005, 4, '#', '', 'F', '0', '1', 'system:product:remove', '#', 'admin', '2025-04-10 16:29:23', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2010, '产品管理导出', 2005, 5, '#', '', 'F', '0', '1', 'system:product:export', '#', 'admin', '2025-04-10 16:29:23', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2011, '合同档案', 2001, 1, '/manage/order', 'menuItem', 'C', '0', '1', 'manage:order:view', 'fa fa-archive', 'admin', '2025-04-10 18:28:06', 'admin', '2025-04-10 18:30:06', '合同档案菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2012, '合同档案查询', 2011, 1, '#', '', 'F', '0', '1', 'manage:order:list', '#', 'admin', '2025-04-10 18:28:06', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2013, '合同档案新增', 2011, 2, '#', '', 'F', '0', '1', 'manage:order:add', '#', 'admin', '2025-04-10 18:28:06', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2014, '合同档案修改', 2011, 3, '#', '', 'F', '0', '1', 'manage:order:edit', '#', 'admin', '2025-04-10 18:28:06', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2015, '合同档案删除', 2011, 4, '#', '', 'F', '0', '1', 'manage:order:remove', '#', 'admin', '2025-04-10 18:28:06', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2016, '合同档案导出', 2011, 5, '#', '', 'F', '0', '1', 'manage:order:export', '#', 'admin', '2025-04-10 18:28:06', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2017, '发货记录', 2001, 1, '/manage/delivery', 'menuItem', 'C', '0', '1', 'manage:delivery:view', 'fa fa-automobile', 'admin', '2025-04-11 01:48:33', 'admin', '2025-04-11 01:48:56', '发货记录菜单'); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2018, '发货记录查询', 2017, 1, '#', '', 'F', '0', '1', 'manage:delivery:list', '#', 'admin', '2025-04-11 01:48:33', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2019, '发货记录新增', 2017, 2, '#', '', 'F', '0', '1', 'manage:delivery:add', '#', 'admin', '2025-04-11 01:48:33', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2020, '发货记录修改', 2017, 3, '#', '', 'F', '0', '1', 'manage:delivery:edit', '#', 'admin', '2025-04-11 01:48:33', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2021, '发货记录删除', 2017, 4, '#', '', 'F', '0', '1', 'manage:delivery:remove', '#', 'admin', '2025-04-11 01:48:33', '', NULL, ''); +INSERT INTO `sys_menu` (`menu_id`, `menu_name`, `parent_id`, `order_num`, `url`, `target`, `menu_type`, `visible`, `is_refresh`, `perms`, `icon`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2022, '发货记录导出', 2017, 5, '#', '', 'F', '0', '1', 'manage:delivery:export', '#', 'admin', '2025-04-11 01:48:33', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_notice +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notice`; +CREATE TABLE `sys_notice` ( + `notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID', + `notice_title` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告标题', + `notice_type` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '公告类型(1通知 2公告)', + `notice_content` longblob COMMENT '公告内容', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '公告状态(0正常 1关闭)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`notice_id`) +) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='通知公告表'; + +-- ---------------------------- +-- Records of sys_notice +-- ---------------------------- +BEGIN; +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '温馨提醒:2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '维护通知:2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +INSERT INTO `sys_notice` (`notice_id`, `notice_title`, `notice_type`, `notice_content`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, '若依开源框架介绍', '1', 0x3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE9A1B9E79BAEE4BB8BE7BB8D3C2F7370616E3E3C2F703E3C703E3C666F6E7420636F6C6F723D2223333333333333223E52756F5969E5BC80E6BA90E9A1B9E79BAEE698AFE4B8BAE4BC81E4B89AE794A8E688B7E5AE9AE588B6E79A84E5908EE58FB0E8849AE6898BE69EB6E6A186E69EB6EFBC8CE4B8BAE4BC81E4B89AE68993E980A0E79A84E4B880E7AB99E5BC8FE8A7A3E586B3E696B9E6A188EFBC8CE9998DE4BD8EE4BC81E4B89AE5BC80E58F91E68890E69CACEFBC8CE68F90E58D87E5BC80E58F91E69588E78E87E38082E4B8BBE8A681E58C85E68BACE794A8E688B7E7AEA1E79086E38081E8A792E889B2E7AEA1E79086E38081E983A8E997A8E7AEA1E79086E38081E88F9CE58D95E7AEA1E79086E38081E58F82E695B0E7AEA1E79086E38081E5AD97E585B8E7AEA1E79086E380813C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE5B297E4BD8DE7AEA1E790863C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E5AE9AE697B6E4BBBBE58AA13C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE380813C2F7370616E3E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE69C8DE58AA1E79B91E68EA7E38081E799BBE5BD95E697A5E5BF97E38081E6938DE4BD9CE697A5E5BF97E38081E4BBA3E7A081E7949FE68890E7AD89E58A9FE883BDE38082E585B6E4B8ADEFBC8CE8BF98E694AFE68C81E5A49AE695B0E68DAEE6BA90E38081E695B0E68DAEE69D83E99990E38081E59BBDE99985E58C96E380815265646973E7BC93E5AD98E38081446F636B6572E983A8E7BDB2E38081E6BB91E58AA8E9AA8CE8AF81E7A081E38081E7ACACE4B889E696B9E8AEA4E8AF81E799BBE5BD95E38081E58886E5B883E5BC8FE4BA8BE58AA1E380813C2F7370616E3E3C666F6E7420636F6C6F723D2223333333333333223EE58886E5B883E5BC8FE69687E4BBB6E5AD98E582A83C2F666F6E743E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE38081E58886E5BA93E58886E8A1A8E5A484E79086E7AD89E68A80E69CAFE789B9E782B9E380823C2F7370616E3E3C2F703E3C703E3C696D67207372633D2268747470733A2F2F666F727564612E67697465652E636F6D2F696D616765732F313730353033303538333937373430313635312F35656435646236615F313135313030342E706E6722207374796C653D2277696474683A20363470783B223E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A20726762283233302C20302C2030293B223EE5AE98E7BD91E58F8AE6BC94E7A4BA3C2F7370616E3E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE5AE98E7BD91E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F72756F79692E7669703C2F613E3C6120687265663D22687474703A2F2F72756F79692E76697022207461726765743D225F626C616E6B223E3C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE88BA5E4BE9DE69687E6A1A3E59CB0E59D80EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F646F632E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F646F632E72756F79692E7669703C2F613E3C62723E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E4B88DE58886E7A6BBE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F64656D6F2E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F64656D6F2E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E58886E7A6BBE78988E69CACE38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F7675652E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F7675652E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E5BEAEE69C8DE58AA1E78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F636C6F75642E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F636C6F75642E72756F79692E7669703C2F613E3C2F703E3C703E3C7370616E207374796C653D22636F6C6F723A207267622835312C2035312C203531293B223EE6BC94E7A4BAE59CB0E59D80E38090E7A7BBE58AA8E7ABAFE78988E38091EFBC9A266E6273703B3C2F7370616E3E3C6120687265663D22687474703A2F2F68352E72756F79692E76697022207461726765743D225F626C616E6B223E687474703A2F2F68352E72756F79692E7669703C2F613E3C2F703E3C703E3C6272207374796C653D22636F6C6F723A207267622834382C2034392C203531293B20666F6E742D66616D696C793A202671756F743B48656C766574696361204E6575652671756F743B2C2048656C7665746963612C20417269616C2C2073616E732D73657269663B20666F6E742D73697A653A20313270783B223E3C2F703E, '0', 'admin', '2025-04-09 09:22:53', '', NULL, '管理员'); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_oper_log +-- ---------------------------- +DROP TABLE IF EXISTS `sys_oper_log`; +CREATE TABLE `sys_oper_log` ( + `oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键', + `title` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '模块标题', + `business_type` int DEFAULT '0' COMMENT '业务类型(0其它 1新增 2修改 3删除)', + `method` varchar(200) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '方法名称', + `request_method` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求方式', + `operator_type` int DEFAULT '0' COMMENT '操作类别(0其它 1后台用户 2手机端用户)', + `oper_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作人员', + `dept_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `oper_url` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求URL', + `oper_ip` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '主机地址', + `oper_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作地点', + `oper_param` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '请求参数', + `json_result` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '返回参数', + `status` int DEFAULT '0' COMMENT '操作状态(0正常 1异常)', + `error_msg` varchar(2000) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '错误消息', + `oper_time` datetime DEFAULT NULL COMMENT '操作时间', + `cost_time` bigint DEFAULT '0' COMMENT '消耗时间', + PRIMARY KEY (`oper_id`), + KEY `idx_sys_oper_log_bt` (`business_type`), + KEY `idx_sys_oper_log_s` (`status`), + KEY `idx_sys_oper_log_ot` (`oper_time`) +) ENGINE=InnoDB AUTO_INCREMENT=239 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='操作日志记录'; + +-- ---------------------------- +-- Records of sys_oper_log +-- ---------------------------- +BEGIN; +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (100, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"项目管理\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-suitcase\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:53:46', 52); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (101, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"2\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:55:37', 65); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (102, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"系统监控\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"10\"],\"icon\":[\"fa fa-video-camera\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:55:53', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (103, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"order_info\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-clone\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:56:55', 46); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (104, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2002\"],\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"order:info:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-clone\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:57:35', 54); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (105, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'GET', 1, 'admin', '研发部门', '/system/menu/remove/2002', '127.0.0.1', '内网IP', '2002', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:58:05', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (106, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"order:info:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-09 09:58:39', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (107, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:04:08', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (108, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:04:38', 5); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (109, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '研发部门', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE `order_info` (\\n `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `project_code` varchar(32) NOT NULL COMMENT \'关联项目编号\',\\n `order_code` varchar(32) NOT NULL COMMENT \'合同编号,唯一\',\\n `order_name` varchar(128) NOT NULL COMMENT \'合同名称\',\\n `customer_name` varchar(64) NOT NULL COMMENT \'客户名称\',\\n `customer_contact` varchar(32) DEFAULT NULL COMMENT \'客户联系人\',\\n `customer_phone` varchar(20) DEFAULT NULL COMMENT \'客户联系电话\',\\n `customer_email` varchar(64) DEFAULT NULL COMMENT \'客户邮箱\',\\n `order_type` tinyint NOT NULL COMMENT \'合同类型:1-直签合同,2-代理商合同\',\\n `order_dept` varchar(32) NOT NULL COMMENT \'归属代表处编码\',\\n `partener_dept` varchar(32) NOT NULL COMMENT \'代理商编码\',\\n `order_date` date NOT NULL COMMENT \'合同签定日期\',\\n `order_status` tinyint NOT NULL DEFAULT \'1\' COMMENT \'合同状态:1-待审核,2-已审核,3-已驳回\',\\n `remark` varchar(512) DEFAULT NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime DEFAULT NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_order_code` (`order_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'合同订单表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-09 10:06:11', 4); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (110, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"101\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"重庆总公司\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:03:50', 83); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (111, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"102\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"华三代表处\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:04:26', 85); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (112, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商\"],\"orderNum\":[\"3\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:06:25', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (113, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"108\"],\"parentId\":[\"102\"],\"parentName\":[\"华三代表处\"],\"deptName\":[\"重庆代表处\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"ry@qq.com\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:06:55', 38); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (114, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"109\"],\"parentId\":[\"102\"],\"parentName\":[\"华三代表处\"],\"deptName\":[\"四川代表处\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:07:11', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (115, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:07:31', 37); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (116, '部门管理', 3, 'com.ruoyi.web.controller.system.SysDeptController.remove()', 'GET', 1, 'admin', '研发部门', '/system/dept/remove/201', '127.0.0.1', '内网IP', '201', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:00', 36); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (117, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"100\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:10', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (118, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"200\"],\"deptName\":[\"代理商1\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:34', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (119, '部门管理', 3, 'com.ruoyi.web.controller.system.SysDeptController.remove()', 'GET', 1, 'admin', '研发部门', '/system/dept/remove/202', '127.0.0.1', '内网IP', '202', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:41', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (120, '部门管理', 1, 'com.ruoyi.web.controller.system.SysDeptController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"200\"],\"deptName\":[\"代理商2\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:08:57', 30); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (121, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"103\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"研发部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:09:35', 63); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (122, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"104\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"产品部\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:09:50', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (123, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"105\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"云桌面事业部\"],\"orderNum\":[\"3\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:10:34', 51); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (124, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"104\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"解决方案中心\"],\"orderNum\":[\"2\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:00', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (125, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"103\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"软件开发事业部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:16', 27); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (126, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"106\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"经营管理中心\"],\"orderNum\":[\"4\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:11:38', 50); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (127, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"107\"],\"parentId\":[\"101\"],\"parentName\":[\"重庆总公司\"],\"deptName\":[\"工程管理中心\"],\"orderNum\":[\"5\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:12:45', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (128, '部门管理', 2, 'com.ruoyi.web.controller.system.SysDeptController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/dept/edit', '127.0.0.1', '内网IP', '{\"deptId\":[\"101\"],\"parentId\":[\"100\"],\"parentName\":[\"紫光汇智\"],\"deptName\":[\"公司总部\"],\"orderNum\":[\"1\"],\"leader\":[\"\"],\"phone\":[\"\"],\"email\":[\"\"],\"status\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:13:21', 42); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (129, '用户管理', 1, 'com.ruoyi.web.controller.system.SysUserController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/user/add', '127.0.0.1', '内网IP', '{\"deptId\":[\"106\"],\"userName\":[\"焦素梅\"],\"deptName\":[\"经营管理中心\"],\"phonenumber\":[\"18716362699\"],\"email\":[\"\"],\"loginName\":[\"jiao.sumei\"],\"sex\":[\"1\"],\"role\":[\"2\"],\"remark\":[\"\"],\"status\":[\"0\"],\"roleIds\":[\"2\"],\"postIds\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:20:32', 35); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (130, '角色管理', 1, 'com.ruoyi.web.controller.system.SysRoleController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/role/add', '127.0.0.1', '内网IP', '{\"roleName\":[\"销售助理\"],\"roleKey\":[\"sale_assistant\"],\"roleSort\":[\"3\"],\"status\":[\"0\"],\"remark\":[\"\"],\"menuIds\":[\"2001,2003\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:23:22', 60); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (131, '角色管理', 4, 'com.ruoyi.web.controller.system.SysRoleController.selectAuthUserAll()', 'POST', 1, 'admin', '研发部门', '/system/role/authUser/selectAll', '127.0.0.1', '内网IP', '{\"roleId\":[\"100\"],\"userIds\":[\"100\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:24:04', 25); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (132, '用户管理', 4, 'com.ruoyi.web.controller.system.SysUserController.insertAuthRole()', 'POST', 1, 'admin', '研发部门', '/system/user/authRole/insertAuthRole', '127.0.0.1', '内网IP', '{\"userId\":[\"100\"],\"roleIds\":[\"100\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:24:17', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (133, '菜单管理', 1, 'com.ruoyi.web.controller.system.SysMenuController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/add', '127.0.0.1', '内网IP', '{\"parentId\":[\"2000\"],\"menuType\":[\"C\"],\"menuName\":[\"项目列表\"],\"url\":[\"\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-file-word-o\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:25:45', 18); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (134, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2000\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"项目管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"5\"],\"icon\":[\"fa fa-suitcase\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:16', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (135, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2001\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"5\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:22', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (136, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"4\"],\"parentId\":[\"0\"],\"menuType\":[\"C\"],\"menuName\":[\"若依官网\"],\"url\":[\"http://ruoyi.vip\"],\"target\":[\"menuBlank\"],\"perms\":[\"\"],\"orderNum\":[\"4\"],\"icon\":[\"fa fa-location-arrow\"],\"visible\":[\"1\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:34', 17); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (137, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2001\"],\"parentId\":[\"0\"],\"menuType\":[\"M\"],\"menuName\":[\"合同管理\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"\"],\"orderNum\":[\"6\"],\"icon\":[\"fa fa-sticky-note\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:26:47', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (138, '用户管理', 2, 'com.ruoyi.web.controller.system.SysUserController.changeStatus()', 'POST', 1, 'admin', '研发部门', '/system/user/changeStatus', '127.0.0.1', '内网IP', '{\"userId\":[\"2\"],\"status\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:27:04', 22); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (139, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"数量单位\"],\"dictType\":[\"sys_unit\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:30:58', 21); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (140, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"个\"],\"dictValue\":[\"ge\"],\"dictType\":[\"sys_unit\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:31:41', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (141, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"台\"],\"dictValue\":[\"tai\"],\"dictType\":[\"sys_unit\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:31:52', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (142, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"所属行业\"],\"dictType\":[\"industry_code\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:32:46', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (143, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"教育\"],\"dictValue\":[\"jiaoyu\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:08', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (144, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"医疗\"],\"dictValue\":[\"yiliao\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:22', 26); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (145, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"政府\"],\"dictValue\":[\"zf\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"3\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:37', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (146, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"企业\"],\"dictValue\":[\"qiye\"],\"dictType\":[\"industry_code\"],\"cssClass\":[\"\"],\"dictSort\":[\"4\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:33:49', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (147, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"合同类型\"],\"dictType\":[\"order_type\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:36:55', 39); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (148, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"直签合同\"],\"dictValue\":[\"zq\"],\"dictType\":[\"order_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:37:20', 22); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (149, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"代理商签\"],\"dictValue\":[\"dls\"],\"dictType\":[\"order_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:37:33', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (150, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"1\"],\"configName\":[\"主框架页-默认皮肤样式名称\"],\"configKey\":[\"sys.index.skinName\"],\"configValue\":[\"skin-purple\"],\"configType\":[\"Y\"],\"remark\":[\"蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:38:29', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (151, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"3\"],\"configName\":[\"主框架页-侧边栏主题\"],\"configKey\":[\"sys.index.sideTheme\"],\"configValue\":[\"theme-light\"],\"configType\":[\"Y\"],\"remark\":[\"深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:38:50', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (152, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"3\"],\"configName\":[\"主框架页-侧边栏主题\"],\"configKey\":[\"sys.index.sideTheme\"],\"configValue\":[\"theme-blue\"],\"configType\":[\"Y\"],\"remark\":[\"深黑主题theme-dark,浅色主题theme-light,深蓝主题theme-blue\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:39:03', 29); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (153, '参数管理', 2, 'com.ruoyi.web.controller.system.SysConfigController.editSave()', 'POST', 1, 'admin', '研发部门', '/system/config/edit', '127.0.0.1', '内网IP', '{\"configId\":[\"9\"],\"configName\":[\"主框架页-是否开启页脚\"],\"configKey\":[\"sys.index.footer\"],\"configValue\":[\"false\"],\"configType\":[\"Y\"],\"remark\":[\"是否开启底部页脚显示(true显示,false隐藏)\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:39:45', 32); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (154, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"发货方式\"],\"dictType\":[\"delivery_type\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:41:40', 14); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (155, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"快递\"],\"dictValue\":[\"kd\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:12', 16); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (156, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"物流\"],\"dictValue\":[\"wl\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:26', 12); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (157, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '研发部门', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"自提\"],\"dictValue\":[\"zt\"],\"dictType\":[\"delivery_type\"],\"cssClass\":[\"\"],\"dictSort\":[\"3\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:42:41', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (158, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.update()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/update', '127.0.0.1', '内网IP', '{\"id\":[\"\"],\"userName\":[\"SIP管理员\"],\"phonenumber\":[\"18980500203\"],\"email\":[\"mula.liu@163.com\"],\"sex\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 15:43:08', 57); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (159, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE product_info (\\n `id` bigint NOT NULL AUTO_INCREMENT COMMENT \'主键,自增\',\\n `product_code` varchar(64) NOT NULL COMMENT \'产品编码,唯一\',\\n `product_name` varchar(128) NOT NULL COMMENT \'产品名称\',\\n `model` varchar(64) NOT NULL COMMENT \'产品代码\',\\n `description` text NULL COMMENT \'产品描述\',\\n `unit` varchar(16) NOT NULL DEFAULT \'个\' COMMENT \'单位\',\\n `remark` varchar(512) NULL COMMENT \'备注\',\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT \'创建时间\',\\n `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT \'更新时间\',\\n `deleted_at` datetime NULL COMMENT \'删除时间,软删除\',\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_product_code` (`product_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT=\'产品表\';\\n\"]}', '{\"msg\":\"创建表结构异常\",\"code\":500}', 0, NULL, '2025-04-10 16:07:35', 47); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (160, '创建表', 0, 'com.ruoyi.generator.controller.GenController.create()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/createTable', '127.0.0.1', '内网IP', '{\"sql\":[\"CREATE TABLE product_info (\\n `id` bigint NOT NULL AUTO_INCREMENT,\\n `product_code` varchar(64) NOT NULL ,\\n `product_name` varchar(128) NOT NULL,\\n `model` varchar(64) NOT NULL,\\n `description` text NULL,\\n `remark` varchar(512) NULL,\\n `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,\\n `updated_at` datetime NOT NULL ,\\n `deleted_at` datetime NULL ,\\n PRIMARY KEY (`id`),\\n UNIQUE KEY `uk_product_code` (`product_code`)\\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:09:53', 204); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (161, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:20:43', 49); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (162, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/product_info', '127.0.0.1', '内网IP', '\"product_info\"', NULL, 0, NULL, '2025-04-10 16:22:03', 71); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (163, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:26:18', 67); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (164, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/product_info', '127.0.0.1', '内网IP', '\"product_info\"', NULL, 0, NULL, '2025-04-10 16:28:22', 86); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (165, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2005\"],\"parentId\":[\"1\"],\"menuType\":[\"C\"],\"menuName\":[\"产品管理\"],\"url\":[\"/system/product\"],\"target\":[\"menuItem\"],\"perms\":[\"system:product:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-file-powerpoint-o\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 16:31:17', 21); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (166, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.batchGenCode()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/batchGenCode', '127.0.0.1', '内网IP', '{\"tables\":[\"product_info\"]}', NULL, 0, NULL, '2025-04-10 16:34:14', 58); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (167, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:00:16', 34); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (168, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/product_info', '127.0.0.1', '内网IP', '\"product_info\"', NULL, 0, NULL, '2025-04-10 17:00:38', 37); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (169, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"123\"],\"productName\":[\"123\"],\"model\":[\"123\"],\"description\":[\"123123123\"],\"remark\":[\"\"],\"createdAt\":[\"\"],\"updatedAt\":[\"\"],\"deletedAt\":[\"\"]}', NULL, 1, '\n### Error updating database. Cause: java.sql.SQLException: Field \'updated_at\' doesn\'t have a default value\n### The error may exist in file [/Users/jiliu/WorkSpace/java/RuoYi/ruoyi-sip/target/classes/mapper/system/ProductInfoMapper.xml]\n### The error may involve com.ruoyi.sip.mapper.ProductInfoMapper.insertProductInfo-Inline\n### The error occurred while setting parameters\n### SQL: insert into product_info ( product_code, product_name, model, description, remark ) values ( ?, ?, ?, ?, ? )\n### Cause: java.sql.SQLException: Field \'updated_at\' doesn\'t have a default value\n; Field \'updated_at\' doesn\'t have a default value; nested exception is java.sql.SQLException: Field \'updated_at\' doesn\'t have a default value', '2025-04-10 17:25:20', 91); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (170, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"231\"],\"productName\":[\"123\"],\"model\":[\"123\"],\"description\":[\"\"],\"remark\":[\"\"],\"createdAt\":[\"2025-04-11\"],\"updatedAt\":[\"\"],\"deletedAt\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:27:59', 45); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (171, '产品管理', 2, 'com.ruoyi.sip.controller.ProductInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/edit', '127.0.0.1', '内网IP', '{\"id\":[\"1\"],\"productCode\":[\"2313\"],\"productName\":[\"1232\"],\"model\":[\"123\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:28:42', 27); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (172, '产品管理', 3, 'com.ruoyi.sip.controller.ProductInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:32:54', 42); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (173, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"213\"],\"productName\":[\"123\"],\"model\":[\"123\"],\"description\":[\"\"],\"remark\":[\"\"],\"createdAt\":[\"2025-04-11\"],\"updatedAt\":[\"\"],\"deletedAt\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:36:39', 71); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (174, '产品管理', 2, 'com.ruoyi.sip.controller.ProductInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"productCode\":[\"213\"],\"productName\":[\"1232\"],\"model\":[\"123\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:36:44', 36); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (175, '产品管理', 2, 'com.ruoyi.sip.controller.ProductInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"productCode\":[\"213\"],\"productName\":[\"1232\"],\"model\":[\"123222\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:38:35', 77); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (176, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"123\"],\"productName\":[\"123\"],\"model\":[\"3244241\"],\"description\":[\"\"],\"remark\":[\"sdafasdfa\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:43:01', 70); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (177, '产品管理', 3, 'com.ruoyi.sip.controller.ProductInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"3\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:45:10', 83); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (178, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"99345\"],\"productName\":[\"123123\"],\"model\":[\"1231231\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:45:18', 30); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (179, '产品管理', 2, 'com.ruoyi.sip.controller.ProductInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/edit', '127.0.0.1', '内网IP', '{\"id\":[\"4\"],\"productCode\":[\"99345\"],\"productName\":[\"123123\"],\"model\":[\"1231231\"],\"description\":[\"真的么?\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:45:30', 23); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (180, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"]', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:46:22', 79); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (181, '产品管理', 2, 'com.ruoyi.sip.controller.ProductInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"productCode\":[\"213\"],\"productName\":[\"998\"],\"model\":[\"123222\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 17:47:19', 20); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (182, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"1\"],\"tableName\":[\"product_info\"],\"tableComment\":[\"产品编码表\"],\"className\":[\"ProductInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"1\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"ID\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"2\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"产品编码\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"productCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"3\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"产品名称\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"productName\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"4\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"产品代码\"],\"columns[3].javaType\":[\"String\"],\"columns[3].javaField\":[\"model\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"5\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"产品描述\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"description\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].htmlType\":[\"textarea\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"6\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"备注\"', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:04:11', 65); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (183, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":[\"order_info\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:11:28', 150); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (184, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"String\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Long\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"客户名称\"],\"columns[5].javaType\":[\"String\"],\"columns[5].javaField\":[\"custom', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:23:38', 91); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (185, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"String\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Long\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"客户名称\"],\"columns[5].javaType\":[\"String\"],\"columns[5].javaField\":[\"custom', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:25:15', 111); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (186, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":[\"order_list\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:25:24', 99); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (187, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"String\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Long\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"客户名称\"],\"columns[5].javaType\":[\"String\"],\"columns[5].javaField\":[\"custom', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:26:03', 139); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (188, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/order_info', '127.0.0.1', '内网IP', '\"order_info\"', NULL, 0, NULL, '2025-04-10 18:26:49', 154); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (189, '重置密码', 2, 'com.ruoyi.web.controller.system.SysProfileController.resetPwd()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/resetPwd', '127.0.0.1', '内网IP', '{\"userId\":[\"1\"],\"loginName\":[\"admin\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:28:37', 48); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (190, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2011\"],\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"/manage/order\"],\"target\":[\"menuItem\"],\"perms\":[\"manage:order:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"修改菜单\'合同档案\'失败,菜单名称已存在\",\"code\":500}', 0, NULL, '2025-04-10 18:29:31', 5); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (191, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2011\"],\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案1\"],\"url\":[\"/manage/order\"],\"target\":[\"menuItem\"],\"perms\":[\"manage:order:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:29:37', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (192, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'GET', 1, 'admin', '软件开发事业部', '/system/menu/remove/2003', '127.0.0.1', '内网IP', '2003', '{\"msg\":\"菜单已分配,不允许删除\",\"code\":301}', 0, NULL, '2025-04-10 18:29:44', 22); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (193, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2003\"],\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案-d\"],\"url\":[\"#\"],\"target\":[\"menuItem\"],\"perms\":[\"order:info:list\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:29:58', 11); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (194, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2011\"],\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"合同档案\"],\"url\":[\"/manage/order\"],\"target\":[\"menuItem\"],\"perms\":[\"manage:order:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-archive\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:30:06', 16); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (195, '角色管理', 2, 'com.ruoyi.web.controller.system.SysRoleController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/role/edit', '127.0.0.1', '内网IP', '{\"roleId\":[\"100\"],\"roleName\":[\"销售助理\"],\"roleKey\":[\"sale_assistant\"],\"roleSort\":[\"3\"],\"status\":[\"0\"],\"remark\":[\"\"],\"menuIds\":[\"2001,2011,2012,2013,2014,2015,2016\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:31:35', 37); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (196, '菜单管理', 3, 'com.ruoyi.web.controller.system.SysMenuController.remove()', 'GET', 1, 'admin', '软件开发事业部', '/system/menu/remove/2003', '127.0.0.1', '内网IP', '2003', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:31:44', 28); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (197, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/product_info', '127.0.0.1', '内网IP', '\"product_info\"', NULL, 0, NULL, '2025-04-10 18:36:22', 64); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (198, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Integer\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].sort\":[\"6\"],\"columns[5].columnComment\":[\"客户名称\"],\"columns[5].javaType\":[\"String\"],\"columns[5].javaField\":[\"custo', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:51:34', 118); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (199, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/synchDb/order_info', '127.0.0.1', '内网IP', '\"order_info\"', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:54:28', 144); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (200, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Integer\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].s', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 18:54:58', 78); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (201, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.synchDb()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/synchDb/order_info', '127.0.0.1', '内网IP', '\"order_info\"', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:00:27', 205); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (202, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"2\"],\"tableName\":[\"order_info\"],\"tableComment\":[\"合同订单表\"],\"className\":[\"OrderInfo\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"10\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"11\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联项目编号\"],\"columns[1].javaType\":[\"String\"],\"columns[1].javaField\":[\"projectCode\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"LIKE\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"12\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"合同编号,唯一\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"orderCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"13\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"版本号\"],\"columns[3].javaType\":[\"Integer\"],\"columns[3].javaField\":[\"versionCode\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"input\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"14\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"合同名称\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"orderName\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"LIKE\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"input\"],\"columns[4].dictType\":[\"\"],\"columns[5].columnId\":[\"15\"],\"columns[5].s', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:01:44', 111); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (203, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"192332\"],\"productName\":[\"一个新产品\"],\"model\":[\"123\"],\"description\":[\"1231233123\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:04:44', 53); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (204, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"\"],\"orderCode\":[\"ht01230123\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同\"],\"customerName\":[\"liu ji\"],\"customerContact\":[\"\"],\"customerPhone\":[\"13709080203\"],\"customerEmail\":[\"mula.liu@163.com\"],\"orderType\":[\"zq\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"1\"],\"orderDate\":[\"2025-04-10\"],\"remark\":[\"\"],\"btSelectAll\":[\"\"]}', NULL, 1, '\n### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'(),0 )\' at line 31\n### The error may exist in file [/Users/jiliu/WorkSpace/java/RuoYi/ruoyi-sip/target/classes/mapper/manage/OrderInfoMapper.xml]\n### The error may involve com.ruoyi.sip.mapper.OrderInfoMapper.insertOrderInfo-Inline\n### The error occurred while setting parameters\n### SQL: insert into order_info ( project_code, order_code, version_code, order_name, customer_name, customer_contact, customer_phone, customer_email, order_type, order_dept, partener_dept, order_date, remark, created_at,status ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW)(),0 )\n### Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'(),0 )\' at line 31\n; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \'(),0 )\' at line 31', '2025-04-10 19:12:54', 92); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (205, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.update()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/update', '127.0.0.1', '内网IP', '{\"id\":[\"\"],\"userName\":[\"SIP管理员\"],\"phonenumber\":[\"18980500203\"],\"email\":[\"mula.liu@163.com\"],\"sex\":[\"0\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:14:41', 30); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (206, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.updateAvatar()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/updateAvatar', '127.0.0.1', '内网IP', '', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:15:54', 62); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (207, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.updateAvatar()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/updateAvatar', '127.0.0.1', '内网IP', '', '{\"msg\":\"/ruoyi/uploadPath/avatar/2025/04/11/blob_20250411031823A001.png\",\"code\":500}', 0, NULL, '2025-04-10 19:18:24', 59); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (208, '个人信息', 2, 'com.ruoyi.web.controller.system.SysProfileController.updateAvatar()', 'POST', 1, 'admin', '软件开发事业部', '/system/user/profile/updateAvatar', '127.0.0.1', '内网IP', '', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:20:04', 33); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (209, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"\"],\"orderCode\":[\"ht01230123\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同\"],\"customerName\":[\"liu ji\"],\"customerContact\":[\"\"],\"customerPhone\":[\"13709080203\"],\"customerEmail\":[\"mula.liu@163.com\"],\"orderType\":[\"zq\"],\"orderDept\":[\"12\"],\"partenerDept\":[\"12\"],\"orderDate\":[\"2025-04-10\"],\"remark\":[\"\"],\"btSelectAll\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:20:47', 39); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (210, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"\"],\"btSelectAll\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:22:01', 54); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (211, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 19:50:25', 49); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (212, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"这个不错哦\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:01:51', 20); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (213, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"23\"],\"orderCode\":[\"ht01230123\"],\"versionCode\":[\"3\"],\"orderName\":[\"123\"],\"customerName\":[\"打撒发斯蒂芬\"],\"customerContact\":[\"\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-07\"],\"remark\":[\"123123123231\"],\"btSelectAll\":[\"\"]}', NULL, 1, '\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230123\' for key \'order_info.uk_order_code\'\n### The error may exist in file [/Users/jiliu/WorkSpace/java/RuoYi/ruoyi-sip/target/classes/mapper/manage/OrderInfoMapper.xml]\n### The error may involve com.ruoyi.sip.mapper.OrderInfoMapper.insertOrderInfo-Inline\n### The error occurred while setting parameters\n### SQL: insert into order_info ( project_code, order_code, version_code, order_name, customer_name, customer_contact, customer_phone, customer_email, order_type, order_dept, partener_dept, order_date, remark, created_at,status ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(),0 )\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230123\' for key \'order_info.uk_order_code\'\n; Duplicate entry \'ht01230123\' for key \'order_info.uk_order_code\'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230123\' for key \'order_info.uk_order_code\'', '2025-04-10 20:06:59', 78); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (214, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"23\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"3\"],\"orderName\":[\"123\"],\"customerName\":[\"打撒发斯蒂芬\"],\"customerContact\":[\"\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-07\"],\"remark\":[\"123123123231\"],\"btSelectAll\":[\"\"]}', NULL, 1, '\n### Error updating database. Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230124\' for key \'order_info.uk_order_code\'\n### The error may exist in file [/Users/jiliu/WorkSpace/java/RuoYi/ruoyi-sip/target/classes/mapper/manage/OrderInfoMapper.xml]\n### The error may involve com.ruoyi.sip.mapper.OrderInfoMapper.insertOrderInfo-Inline\n### The error occurred while setting parameters\n### SQL: insert into order_info ( project_code, order_code, version_code, order_name, customer_name, customer_contact, customer_phone, customer_email, order_type, order_dept, partener_dept, order_date, remark, created_at,status ) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, NOW(),0 )\n### Cause: java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230124\' for key \'order_info.uk_order_code\'\n; Duplicate entry \'ht01230124\' for key \'order_info.uk_order_code\'; nested exception is java.sql.SQLIntegrityConstraintViolationException: Duplicate entry \'ht01230124\' for key \'order_info.uk_order_code\'', '2025-04-10 20:07:08', 13); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (215, '合同档案', 1, 'com.ruoyi.sip.controller.OrderInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/add', '127.0.0.1', '内网IP', '{\"projectCode\":[\"23\"],\"orderCode\":[\"ht012301241\"],\"versionCode\":[\"3\"],\"orderName\":[\"123\"],\"customerName\":[\"打撒发斯蒂芬\"],\"customerContact\":[\"\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-07\"],\"remark\":[\"123123123231\"],\"btSelectAll\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:07:16', 39); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (216, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"5\"],\"projectCode\":[\"23\"],\"orderCode\":[\"ht012301241\"],\"versionCode\":[\"3\"],\"orderName\":[\"123\"],\"customerName\":[\"打撒发斯蒂芬\"],\"customerContact\":[\"\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-07\"],\"remark\":[\"123123123231\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:07:24', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (217, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"5\"],\"projectCode\":[\"23\"],\"orderCode\":[\"ht012301241\"],\"versionCode\":[\"3\"],\"orderName\":[\"123\"],\"customerName\":[\"打撒发斯蒂芬\"],\"customerContact\":[\"\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-07\"],\"remark\":[\"123123123231\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:09:04', 8); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (218, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"好奇怪\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:12:31', 78); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (219, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"好奇怪\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:14:02', 57034); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (220, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"好奇怪\"],\"btSelectAll\":[\"\"]}', NULL, 1, 'nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property=\'orderId\', mode=IN, javaType=class java.lang.String, jdbcType=null, numericScale=null, resultMapId=\'null\', jdbcTypeName=\'null\', expression=\'null\'}. Cause: org.apache.ibatis.type.TypeException: Error setting non null for parameter #1 with JdbcType null . Try setting a different JdbcType for this parameter or a different configuration property. Cause: java.lang.ClassCastException: class java.lang.Long cannot be cast to class java.lang.String (java.lang.Long and java.lang.String are in module java.base of loader \'bootstrap\')', '2025-04-10 20:17:15', 188354); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (221, '合同档案', 2, 'com.ruoyi.sip.controller.OrderInfoController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/edit', '127.0.0.1', '内网IP', '{\"id\":[\"2\"],\"projectCode\":[\"\"],\"orderCode\":[\"ht01230124\"],\"versionCode\":[\"1\"],\"orderName\":[\"测试合同2\"],\"customerName\":[\"另一个客户\"],\"customerContact\":[\"123\"],\"customerPhone\":[\"\"],\"customerEmail\":[\"mula.liu@gmail.com\"],\"orderType\":[\"dls\"],\"orderDept\":[\"2\"],\"partenerDept\":[\"3\"],\"orderDate\":[\"2025-04-09\"],\"remark\":[\"我的天啊\"],\"btSelectAll\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:17:58', 83); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (222, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"5\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:18:09', 21); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (223, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"5\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:21:07', 31); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (224, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"5\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:21:16', 19); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (225, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"5\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-10 20:24:42', 46); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (226, '合同档案', 3, 'com.ruoyi.sip.controller.OrderInfoController.remove()', 'POST', 1, 'admin', '软件开发事业部', '/manage/order/remove', '127.0.0.1', '内网IP', '{\"ids\":[\"5\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:22:05', 113); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (227, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"9801A5KA\"],\"productName\":[\"高性能X86瘦终端、普教胖终端\"],\"model\":[\"VDI-C6530V-38-G2\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:31:54', 61); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (228, '产品管理', 1, 'com.ruoyi.sip.controller.ProductInfoController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/product/add', '127.0.0.1', '内网IP', '{\"productCode\":[\"3130A6LC\"],\"productName\":[\"H3C Workspace 云桌面管理软件(商业专属, 仅允许商业项目下单使用)-1 License\"],\"model\":[\"Workspace\"],\"description\":[\"\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:32:54', 46); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (229, '字典类型', 1, 'com.ruoyi.web.controller.system.SysDictTypeController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/dict/add', '127.0.0.1', '内网IP', '{\"dictName\":[\"发货状态\"],\"dictType\":[\"delivery_status\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:42:57', 15); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (230, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"待发货\"],\"dictValue\":[\"df\"],\"dictType\":[\"delivery_status\"],\"cssClass\":[\"\"],\"dictSort\":[\"1\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:43:38', 62); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (231, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"已发货\"],\"dictValue\":[\"yf\"],\"dictType\":[\"delivery_status\"],\"cssClass\":[\"\"],\"dictSort\":[\"2\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:43:51', 24); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (232, '字典数据', 1, 'com.ruoyi.web.controller.system.SysDictDataController.addSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/dict/data/add', '127.0.0.1', '内网IP', '{\"dictLabel\":[\"已签收\"],\"dictValue\":[\"qs\"],\"dictType\":[\"delivery_status\"],\"cssClass\":[\"\"],\"dictSort\":[\"3\"],\"listClass\":[\"\"],\"isDefault\":[\"Y\"],\"status\":[\"0\"],\"remark\":[\"\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:44:06', 56); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (233, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":[\"order_delivery\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:44:18', 157); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (234, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"4\"],\"tableName\":[\"order_delivery\"],\"tableComment\":[\"发货记录表\"],\"className\":[\"OrderDelivery\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"38\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"39\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联合同id\"],\"columns[1].javaType\":[\"Long\"],\"columns[1].javaField\":[\"orderId\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"40\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"发货单号\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"deliveryCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"41\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"发货日期\"],\"columns[3].javaType\":[\"Date\"],\"columns[3].javaField\":[\"deliveryDate\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"datetime\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"42\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"发货方式\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"deliveryType\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"select\"],\"columns[4].dictType\":[\"delivery_type\"],\"columns[5].columnId\":[\"4', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:47:12', 77); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (235, '代码生成', 2, 'com.ruoyi.generator.controller.GenController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/edit', '127.0.0.1', '内网IP', '{\"tableId\":[\"4\"],\"tableName\":[\"order_delivery\"],\"tableComment\":[\"发货记录表\"],\"className\":[\"OrderDelivery\"],\"functionAuthor\":[\"mula\"],\"remark\":[\"\"],\"columns[0].columnId\":[\"38\"],\"columns[0].sort\":[\"1\"],\"columns[0].columnComment\":[\"主键,自增\"],\"columns[0].javaType\":[\"Long\"],\"columns[0].javaField\":[\"id\"],\"columns[0].isInsert\":[\"1\"],\"columns[0].queryType\":[\"EQ\"],\"columns[0].htmlType\":[\"input\"],\"columns[0].dictType\":[\"\"],\"columns[1].columnId\":[\"39\"],\"columns[1].sort\":[\"2\"],\"columns[1].columnComment\":[\"关联合同id\"],\"columns[1].javaType\":[\"Long\"],\"columns[1].javaField\":[\"orderId\"],\"columns[1].isInsert\":[\"1\"],\"columns[1].isEdit\":[\"1\"],\"columns[1].isList\":[\"1\"],\"columns[1].isQuery\":[\"1\"],\"columns[1].queryType\":[\"EQ\"],\"columns[1].isRequired\":[\"1\"],\"columns[1].htmlType\":[\"input\"],\"columns[1].dictType\":[\"\"],\"columns[2].columnId\":[\"40\"],\"columns[2].sort\":[\"3\"],\"columns[2].columnComment\":[\"发货单号\"],\"columns[2].javaType\":[\"String\"],\"columns[2].javaField\":[\"deliveryCode\"],\"columns[2].isInsert\":[\"1\"],\"columns[2].isEdit\":[\"1\"],\"columns[2].isList\":[\"1\"],\"columns[2].isQuery\":[\"1\"],\"columns[2].queryType\":[\"LIKE\"],\"columns[2].isRequired\":[\"1\"],\"columns[2].htmlType\":[\"input\"],\"columns[2].dictType\":[\"\"],\"columns[3].columnId\":[\"41\"],\"columns[3].sort\":[\"4\"],\"columns[3].columnComment\":[\"发货日期\"],\"columns[3].javaType\":[\"Date\"],\"columns[3].javaField\":[\"deliveryDate\"],\"columns[3].isInsert\":[\"1\"],\"columns[3].isEdit\":[\"1\"],\"columns[3].isList\":[\"1\"],\"columns[3].isQuery\":[\"1\"],\"columns[3].queryType\":[\"EQ\"],\"columns[3].isRequired\":[\"1\"],\"columns[3].htmlType\":[\"datetime\"],\"columns[3].dictType\":[\"\"],\"columns[4].columnId\":[\"42\"],\"columns[4].sort\":[\"5\"],\"columns[4].columnComment\":[\"发货方式\"],\"columns[4].javaType\":[\"String\"],\"columns[4].javaField\":[\"deliveryType\"],\"columns[4].isInsert\":[\"1\"],\"columns[4].isEdit\":[\"1\"],\"columns[4].isList\":[\"1\"],\"columns[4].isQuery\":[\"1\"],\"columns[4].queryType\":[\"EQ\"],\"columns[4].isRequired\":[\"1\"],\"columns[4].htmlType\":[\"select\"],\"columns[4].dictType\":[\"delivery_type\"],\"columns[5].columnId\":[\"4', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:47:34', 112); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (236, '代码生成', 8, 'com.ruoyi.generator.controller.GenController.download()', 'GET', 1, 'admin', '软件开发事业部', '/tool/gen/download/order_delivery', '127.0.0.1', '内网IP', '\"order_delivery\"', NULL, 0, NULL, '2025-04-11 01:47:45', 179); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (237, '菜单管理', 2, 'com.ruoyi.web.controller.system.SysMenuController.editSave()', 'POST', 1, 'admin', '软件开发事业部', '/system/menu/edit', '127.0.0.1', '内网IP', '{\"menuId\":[\"2017\"],\"parentId\":[\"2001\"],\"menuType\":[\"C\"],\"menuName\":[\"发货记录\"],\"url\":[\"/manage/delivery\"],\"target\":[\"menuItem\"],\"perms\":[\"manage:delivery:view\"],\"orderNum\":[\"1\"],\"icon\":[\"fa fa-automobile\"],\"visible\":[\"0\"],\"isRefresh\":[\"1\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:48:56', 40); +INSERT INTO `sys_oper_log` (`oper_id`, `title`, `business_type`, `method`, `request_method`, `operator_type`, `oper_name`, `dept_name`, `oper_url`, `oper_ip`, `oper_location`, `oper_param`, `json_result`, `status`, `error_msg`, `oper_time`, `cost_time`) VALUES (238, '代码生成', 6, 'com.ruoyi.generator.controller.GenController.importTableSave()', 'POST', 1, 'admin', '软件开发事业部', '/tool/gen/importTable', '127.0.0.1', '内网IP', '{\"tables\":[\"delivery_list\"]}', '{\"msg\":\"操作成功\",\"code\":0}', 0, NULL, '2025-04-11 01:55:00', 88); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_post`; +CREATE TABLE `sys_post` ( + `post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID', + `post_code` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位编码', + `post_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '岗位名称', + `post_sort` int NOT NULL COMMENT '显示顺序', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '状态(0正常 1停用)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`post_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='岗位信息表'; + +-- ---------------------------- +-- Records of sys_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 'ceo', '董事长', 1, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 'se', '项目经理', 2, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (3, 'hr', '人力资源', 3, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +INSERT INTO `sys_post` (`post_id`, `post_code`, `post_name`, `post_sort`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (4, 'user', '普通员工', 4, '0', 'admin', '2025-04-09 09:22:52', '', NULL, ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role`; +CREATE TABLE `sys_role` ( + `role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID', + `role_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色名称', + `role_key` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色权限字符串', + `role_sort` int NOT NULL COMMENT '显示顺序', + `data_scope` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '1' COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)', + `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '角色状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`role_id`) +) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色信息表'; + +-- ---------------------------- +-- Records of sys_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, '超级管理员', 'admin', 1, '1', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL, '超级管理员'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, '普通角色', 'common', 2, '2', '0', '0', 'admin', '2025-04-09 09:22:52', '', NULL, '普通角色'); +INSERT INTO `sys_role` (`role_id`, `role_name`, `role_key`, `role_sort`, `data_scope`, `status`, `del_flag`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, '销售助理', 'sale_assistant', 3, '1', '0', '0', 'admin', '2025-04-10 15:23:22', 'admin', '2025-04-10 18:31:35', ''); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_dept +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_dept`; +CREATE TABLE `sys_role_dept` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `dept_id` bigint NOT NULL COMMENT '部门ID', + PRIMARY KEY (`role_id`,`dept_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和部门关联表'; + +-- ---------------------------- +-- Records of sys_role_dept +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 100); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 101); +INSERT INTO `sys_role_dept` (`role_id`, `dept_id`) VALUES (2, 105); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_role_menu +-- ---------------------------- +DROP TABLE IF EXISTS `sys_role_menu`; +CREATE TABLE `sys_role_menu` ( + `role_id` bigint NOT NULL COMMENT '角色ID', + `menu_id` bigint NOT NULL COMMENT '菜单ID', + PRIMARY KEY (`role_id`,`menu_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='角色和菜单关联表'; + +-- ---------------------------- +-- Records of sys_role_menu +-- ---------------------------- +BEGIN; +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 2); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 3); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 4); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 100); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 101); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 102); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 103); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 104); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 105); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 106); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 107); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 108); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 109); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 110); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 111); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 112); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 113); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 114); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 115); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 116); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 500); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 501); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1000); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1002); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1003); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1004); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1005); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1006); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1007); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1008); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1009); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1010); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1011); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1012); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1013); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1014); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1015); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1016); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1017); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1018); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1019); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1020); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1021); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1022); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1023); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1024); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1025); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1026); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1027); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1028); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1029); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1030); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1031); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1032); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1033); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1034); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1035); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1036); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1037); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1038); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1039); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1040); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1041); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1042); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1043); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1044); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1045); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1046); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1047); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1048); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1049); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1050); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1051); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1052); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1053); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1054); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1055); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1056); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1057); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1058); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1059); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1060); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (2, 1061); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2001); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2011); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2012); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2013); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2014); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2015); +INSERT INTO `sys_role_menu` (`role_id`, `menu_id`) VALUES (100, 2016); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user`; +CREATE TABLE `sys_user` ( + `user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID', + `dept_id` bigint DEFAULT NULL COMMENT '部门ID', + `login_name` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '登录账号', + `user_name` varchar(30) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用户昵称', + `user_type` varchar(2) COLLATE utf8mb4_unicode_ci DEFAULT '00' COMMENT '用户类型(00系统用户 01注册用户)', + `email` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '用户邮箱', + `phonenumber` varchar(11) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '手机号码', + `sex` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)', + `avatar` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '头像路径', + `password` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码', + `salt` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '盐加密', + `status` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '帐号状态(0正常 1停用)', + `del_flag` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '删除标志(0代表存在 2代表删除)', + `login_ip` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '最后登录IP', + `login_date` datetime DEFAULT NULL COMMENT '最后登录时间', + `pwd_update_date` datetime DEFAULT NULL COMMENT '密码最后更新时间', + `create_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '创建者', + `create_time` datetime DEFAULT NULL COMMENT '创建时间', + `update_by` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '更新者', + `update_time` datetime DEFAULT NULL COMMENT '更新时间', + `remark` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '备注', + PRIMARY KEY (`user_id`) +) ENGINE=InnoDB AUTO_INCREMENT=101 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户信息表'; + +-- ---------------------------- +-- Records of sys_user +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (1, 103, 'admin', 'SIP管理员', '00', 'mula.liu@163.com', '18980500203', '0', '/profile/avatar/2025/04/11/blob_20250411032004A001.png', '0f970c74477cdbc467f0ddaaaed87170', '4eaf67', '0', '0', '127.0.0.1', '2025-04-11 09:51:49', '2025-04-11 02:28:37', 'admin', '2025-04-10 15:57:30', '', '2025-04-11 01:51:48', '管理员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (2, 105, 'ry', '若依', '00', 'ry@qq.com', '15666666666', '1', '', '8e6d98b90472783cc73c17047ddccf36', '222222', '1', '0', '127.0.0.1', NULL, NULL, 'admin', '2025-04-09 09:22:52', '', '2025-04-10 15:27:04', '测试员'); +INSERT INTO `sys_user` (`user_id`, `dept_id`, `login_name`, `user_name`, `user_type`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `salt`, `status`, `del_flag`, `login_ip`, `login_date`, `pwd_update_date`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (100, 106, 'jiao.sumei', '焦素梅', '00', '', '18716362699', '1', '', '0bcb2b8fc5843a7d6b4d3508093e233d', '688e78', '0', '0', '127.0.0.1', '2025-04-11 00:00:04', '2025-04-10 23:20:32', 'admin', '2025-04-10 15:20:32', '', '2025-04-10 16:00:04', NULL); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_online +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_online`; +CREATE TABLE `sys_user_online` ( + `sessionId` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '用户会话id', + `login_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录账号', + `dept_name` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '部门名称', + `ipaddr` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录IP地址', + `login_location` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '登录地点', + `browser` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '浏览器类型', + `os` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '操作系统', + `status` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '在线状态on_line在线off_line离线', + `start_timestamp` datetime DEFAULT NULL COMMENT 'session创建时间', + `last_access_time` datetime DEFAULT NULL COMMENT 'session最后访问时间', + `expire_time` int DEFAULT '0' COMMENT '超时时间,单位为分钟', + PRIMARY KEY (`sessionId`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='在线用户记录'; + +-- ---------------------------- +-- Records of sys_user_online +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_online` (`sessionId`, `login_name`, `dept_name`, `ipaddr`, `login_location`, `browser`, `os`, `status`, `start_timestamp`, `last_access_time`, `expire_time`) VALUES ('7b34ed52-31d2-4a74-919b-e992c618508e', 'admin', '软件开发事业部', '127.0.0.1', '内网IP', 'Chrome 13', 'Mac OS X', 'on_line', '2025-04-11 09:17:49', '2025-04-11 09:54:52', 1800000); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_post +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_post`; +CREATE TABLE `sys_user_post` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `post_id` bigint NOT NULL COMMENT '岗位ID', + PRIMARY KEY (`user_id`,`post_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户与岗位关联表'; + +-- ---------------------------- +-- Records of sys_user_post +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (1, 1); +INSERT INTO `sys_user_post` (`user_id`, `post_id`) VALUES (2, 2); +COMMIT; + +-- ---------------------------- +-- Table structure for sys_user_role +-- ---------------------------- +DROP TABLE IF EXISTS `sys_user_role`; +CREATE TABLE `sys_user_role` ( + `user_id` bigint NOT NULL COMMENT '用户ID', + `role_id` bigint NOT NULL COMMENT '角色ID', + PRIMARY KEY (`user_id`,`role_id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户和角色关联表'; + +-- ---------------------------- +-- Records of sys_user_role +-- ---------------------------- +BEGIN; +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (1, 1); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (2, 2); +INSERT INTO `sys_user_role` (`user_id`, `role_id`) VALUES (100, 100); +COMMIT; + +SET FOREIGN_KEY_CHECKS = 1;