├── src
└── main
│ ├── resources
│ ├── static
│ │ ├── index.js
│ │ ├── images
│ │ │ ├── logo.png
│ │ │ └── favicon.ico
│ │ ├── assets
│ │ │ ├── images
│ │ │ │ ├── head.png
│ │ │ │ ├── logo.png
│ │ │ │ └── favicon.ico
│ │ │ ├── libs
│ │ │ │ ├── layui
│ │ │ │ │ ├── font
│ │ │ │ │ │ ├── iconfont.eot
│ │ │ │ │ │ ├── iconfont.ttf
│ │ │ │ │ │ └── iconfont.woff
│ │ │ │ │ ├── images
│ │ │ │ │ │ └── face
│ │ │ │ │ │ │ ├── 0.gif
│ │ │ │ │ │ │ ├── 1.gif
│ │ │ │ │ │ │ ├── 10.gif
│ │ │ │ │ │ │ ├── 11.gif
│ │ │ │ │ │ │ ├── 12.gif
│ │ │ │ │ │ │ ├── 13.gif
│ │ │ │ │ │ │ ├── 14.gif
│ │ │ │ │ │ │ ├── 15.gif
│ │ │ │ │ │ │ ├── 16.gif
│ │ │ │ │ │ │ ├── 17.gif
│ │ │ │ │ │ │ ├── 18.gif
│ │ │ │ │ │ │ ├── 19.gif
│ │ │ │ │ │ │ ├── 2.gif
│ │ │ │ │ │ │ ├── 20.gif
│ │ │ │ │ │ │ ├── 21.gif
│ │ │ │ │ │ │ ├── 22.gif
│ │ │ │ │ │ │ ├── 23.gif
│ │ │ │ │ │ │ ├── 24.gif
│ │ │ │ │ │ │ ├── 25.gif
│ │ │ │ │ │ │ ├── 26.gif
│ │ │ │ │ │ │ ├── 27.gif
│ │ │ │ │ │ │ ├── 28.gif
│ │ │ │ │ │ │ ├── 29.gif
│ │ │ │ │ │ │ ├── 3.gif
│ │ │ │ │ │ │ ├── 30.gif
│ │ │ │ │ │ │ ├── 31.gif
│ │ │ │ │ │ │ ├── 32.gif
│ │ │ │ │ │ │ ├── 33.gif
│ │ │ │ │ │ │ ├── 34.gif
│ │ │ │ │ │ │ ├── 35.gif
│ │ │ │ │ │ │ ├── 36.gif
│ │ │ │ │ │ │ ├── 37.gif
│ │ │ │ │ │ │ ├── 38.gif
│ │ │ │ │ │ │ ├── 39.gif
│ │ │ │ │ │ │ ├── 4.gif
│ │ │ │ │ │ │ ├── 40.gif
│ │ │ │ │ │ │ ├── 41.gif
│ │ │ │ │ │ │ ├── 42.gif
│ │ │ │ │ │ │ ├── 43.gif
│ │ │ │ │ │ │ ├── 44.gif
│ │ │ │ │ │ │ ├── 45.gif
│ │ │ │ │ │ │ ├── 46.gif
│ │ │ │ │ │ │ ├── 47.gif
│ │ │ │ │ │ │ ├── 48.gif
│ │ │ │ │ │ │ ├── 49.gif
│ │ │ │ │ │ │ ├── 5.gif
│ │ │ │ │ │ │ ├── 50.gif
│ │ │ │ │ │ │ ├── 51.gif
│ │ │ │ │ │ │ ├── 52.gif
│ │ │ │ │ │ │ ├── 53.gif
│ │ │ │ │ │ │ ├── 54.gif
│ │ │ │ │ │ │ ├── 55.gif
│ │ │ │ │ │ │ ├── 56.gif
│ │ │ │ │ │ │ ├── 57.gif
│ │ │ │ │ │ │ ├── 58.gif
│ │ │ │ │ │ │ ├── 59.gif
│ │ │ │ │ │ │ ├── 6.gif
│ │ │ │ │ │ │ ├── 60.gif
│ │ │ │ │ │ │ ├── 61.gif
│ │ │ │ │ │ │ ├── 62.gif
│ │ │ │ │ │ │ ├── 63.gif
│ │ │ │ │ │ │ ├── 64.gif
│ │ │ │ │ │ │ ├── 65.gif
│ │ │ │ │ │ │ ├── 66.gif
│ │ │ │ │ │ │ ├── 67.gif
│ │ │ │ │ │ │ ├── 68.gif
│ │ │ │ │ │ │ ├── 69.gif
│ │ │ │ │ │ │ ├── 7.gif
│ │ │ │ │ │ │ ├── 70.gif
│ │ │ │ │ │ │ ├── 71.gif
│ │ │ │ │ │ │ ├── 8.gif
│ │ │ │ │ │ │ └── 9.gif
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── modules
│ │ │ │ │ │ │ ├── layer
│ │ │ │ │ │ │ └── default
│ │ │ │ │ │ │ │ ├── icon.png
│ │ │ │ │ │ │ │ ├── icon-ext.png
│ │ │ │ │ │ │ │ ├── loading-0.gif
│ │ │ │ │ │ │ │ ├── loading-1.gif
│ │ │ │ │ │ │ │ └── loading-2.gif
│ │ │ │ │ │ │ └── code.css
│ │ │ │ │ └── lay
│ │ │ │ │ │ └── modules
│ │ │ │ │ │ ├── code.js
│ │ │ │ │ │ └── laytpl.js
│ │ │ │ └── tagsinput
│ │ │ │ │ └── jquery.tagsinput-revisited.min.css
│ │ │ ├── module
│ │ │ │ ├── uploadcustom
│ │ │ │ │ └── global.js
│ │ │ │ └── treetable-lay
│ │ │ │ │ └── treetable.css
│ │ │ └── common.js
│ │ ├── webuploader
│ │ │ ├── Uploader.swf
│ │ │ └── webuploader.css
│ │ ├── layui_ext
│ │ │ └── dtree
│ │ │ │ └── font
│ │ │ │ ├── dtreefont.eot
│ │ │ │ ├── dtreefont.ttf
│ │ │ │ └── dtreefont.woff
│ │ ├── css
│ │ │ └── login.css
│ │ ├── fullcalendar
│ │ │ ├── bootstrap
│ │ │ │ ├── main.min.css
│ │ │ │ └── main.css
│ │ │ ├── core
│ │ │ │ └── locales
│ │ │ │ │ ├── en-au.js
│ │ │ │ │ ├── en-gb.js
│ │ │ │ │ ├── en-nz.js
│ │ │ │ │ ├── ko.js
│ │ │ │ │ ├── zh-tw.js
│ │ │ │ │ ├── th.js
│ │ │ │ │ ├── he.js
│ │ │ │ │ ├── ja.js
│ │ │ │ │ ├── mk.js
│ │ │ │ │ ├── fr-ca.js
│ │ │ │ │ ├── pt-br.js
│ │ │ │ │ ├── ka.js
│ │ │ │ │ ├── sv.js
│ │ │ │ │ ├── es.js
│ │ │ │ │ ├── gl.js
│ │ │ │ │ ├── hu.js
│ │ │ │ │ ├── nb.js
│ │ │ │ │ ├── nn.js
│ │ │ │ │ ├── tr.js
│ │ │ │ │ ├── da.js
│ │ │ │ │ ├── lt.js
│ │ │ │ │ ├── pt.js
│ │ │ │ │ ├── sl.js
│ │ │ │ │ ├── ar.js
│ │ │ │ │ ├── ca.js
│ │ │ │ │ ├── es-us.js
│ │ │ │ │ ├── eu.js
│ │ │ │ │ ├── is.js
│ │ │ │ │ ├── lb.js
│ │ │ │ │ ├── nl.js
│ │ │ │ │ ├── af.js
│ │ │ │ │ ├── fi.js
│ │ │ │ │ ├── id.js
│ │ │ │ │ ├── pl.js
│ │ │ │ │ ├── ar-dz.js
│ │ │ │ │ ├── ar-kw.js
│ │ │ │ │ ├── ar-ly.js
│ │ │ │ │ ├── ar-ma.js
│ │ │ │ │ ├── ar-sa.js
│ │ │ │ │ ├── ar-tn.js
│ │ │ │ │ ├── bg.js
│ │ │ │ │ ├── el.js
│ │ │ │ │ ├── cs.js
│ │ │ │ │ ├── kk.js
│ │ │ │ │ ├── lv.js
│ │ │ │ │ ├── sr.js
│ │ │ │ │ ├── et.js
│ │ │ │ │ ├── fr.js
│ │ │ │ │ ├── hi.js
│ │ │ │ │ ├── hr.js
│ │ │ │ │ ├── ru.js
│ │ │ │ │ ├── vi.js
│ │ │ │ │ ├── bs.js
│ │ │ │ │ ├── fa.js
│ │ │ │ │ ├── sq.js
│ │ │ │ │ ├── fr-ch.js
│ │ │ │ │ ├── ro.js
│ │ │ │ │ ├── sk.js
│ │ │ │ │ ├── it.js
│ │ │ │ │ ├── sr-cyrl.js
│ │ │ │ │ ├── uk.js
│ │ │ │ │ ├── ms.js
│ │ │ │ │ ├── de.js
│ │ │ │ │ └── zh-cn.js
│ │ │ ├── daygrid
│ │ │ │ └── main.min.css
│ │ │ ├── list
│ │ │ │ └── main.min.css
│ │ │ └── moment
│ │ │ │ └── main.min.js
│ │ └── plugins
│ │ │ └── frame
│ │ │ └── js
│ │ │ └── fsButtonCommon.js
│ ├── application.properties
│ ├── simhei.ttf
│ ├── image
│ │ └── catalogue.png
│ ├── application-dev.properties
│ ├── fdfs_client.conf
│ ├── templates
│ │ ├── upload
│ │ │ ├── uploadstatus.ftl
│ │ │ ├── upload.ftl
│ │ │ ├── uploadphoto.ftl
│ │ │ └── uploadvideo.ftl
│ │ └── home
│ │ │ └── index.ftl
│ ├── rebel.xml
│ ├── mapper
│ │ ├── rbac
│ │ │ ├── ErpRoleMenuMapper.xml
│ │ │ ├── ErpRoleUserMapper.xml
│ │ │ └── ErpRoleMapper.xml
│ │ ├── importutil
│ │ │ ├── ErpStudentMapper.xml
│ │ │ ├── ErpSFamilyMemberMapper.xml
│ │ │ └── ErpStudentExcelMapper.xml
│ │ └── calendar
│ │ │ ├── ErpRoomMapper.xml
│ │ │ └── ErpCalendarTaskMapper.xml
│ └── logback.xml
│ └── java
│ ├── template
│ ├── serviceTemplate.vm
│ ├── mapperTemplate.vm
│ ├── serviceImplTemplate.vm
│ ├── xmlTemplate.vm
│ └── beanTemplate.vm
│ └── com
│ └── chenyanwu
│ └── erp
│ └── erpframework
│ ├── annotation
│ └── Log.java
│ ├── service
│ ├── calendar
│ │ ├── ErpRoomService.java
│ │ └── ErpCalendarTaskService.java
│ ├── importutil
│ │ ├── ErpStudentExcelService.java
│ │ ├── ImportTemplate.java
│ │ ├── ErpSFamilyMemberService.java
│ │ └── ErpStudentService.java
│ ├── rbac
│ │ ├── ErpRoleService.java
│ │ ├── ErpRoleMenuService.java
│ │ ├── ErpRoleUserService.java
│ │ ├── ErpMenuService.java
│ │ └── ErpUserService.java
│ ├── dtree
│ │ └── DtreeService.java
│ ├── log
│ │ └── ErpLogService.java
│ ├── BaseService.java
│ └── impl
│ │ ├── calendar
│ │ └── ErpRoomServiceImpl.java
│ │ ├── importutil
│ │ ├── ErpStudentExcelServiceImpl.java
│ │ ├── ErpSFamilyMemberServiceImpl.java
│ │ └── ImportTask.java
│ │ ├── rbac
│ │ ├── ErpRoleMenuServiceImpl.java
│ │ ├── ErpUserServiceImpl.java
│ │ ├── ErpRoleUserServiceImpl.java
│ │ ├── ErpRoleServiceImpl.java
│ │ └── ErpMenuServiceImpl.java
│ │ ├── upload
│ │ └── WaterMarkImpl.java
│ │ ├── log
│ │ └── ErpLogServiceImpl.java
│ │ └── BaseServiceImpl.java
│ ├── controller
│ ├── HomeController.java
│ └── calendar
│ │ └── CalendarController.java
│ ├── dao
│ ├── rbac
│ │ ├── ErpRoleMapper.java
│ │ ├── ErpRoleMenuMapper.java
│ │ ├── ErpRoleUserMapper.java
│ │ ├── ErpUserMapper.java
│ │ └── ErpMenuMapper.java
│ ├── log
│ │ └── ErpLogMapper.java
│ ├── calendar
│ │ ├── ErpRoomMapper.java
│ │ └── ErpCalendarTaskMapper.java
│ └── importutil
│ │ ├── ErpStudentMapper.java
│ │ ├── ErpSFamilyMemberMapper.java
│ │ └── ErpStudentExcelMapper.java
│ ├── exception
│ ├── ExceptionEnum.java
│ ├── BusinessException.java
│ └── MsgContentStruct.java
│ ├── ErpFrameworkApplication.java
│ ├── entity
│ ├── dtree
│ │ ├── Status.java
│ │ ├── CheckArr.java
│ │ └── DtreeResponse.java
│ ├── calendar
│ │ └── ErpRoom.java
│ ├── importutil
│ │ └── StudentExcelImport.java
│ ├── vo
│ │ ├── CalendarTaskVo.java
│ │ └── ShowMenu.java
│ ├── rbac
│ │ ├── ErpRoleMenu.java
│ │ ├── ErpRoleUser.java
│ │ └── ErpRole.java
│ ├── FastDFSFile.java
│ └── MySysUser.java
│ ├── common
│ ├── Constants.java
│ ├── util
│ │ ├── JsonUtil.java
│ │ ├── StringUtils.java
│ │ └── DateConverter.java
│ ├── PageResultBean.java
│ └── codegenerator
│ │ ├── model
│ │ └── DictItem.java
│ │ └── core
│ │ └── BeanUtils.java
│ └── config
│ ├── Config.java
│ └── CaptchaFormAuthenticationFilter.java
├── 0.png
├── 1.png
├── 2.png
├── 3.png
├── 4.png
├── .gitattributes
├── .gitignore
├── LICENSE
└── README.md
/src/main/resources/static/index.js:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/0.png
--------------------------------------------------------------------------------
/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/1.png
--------------------------------------------------------------------------------
/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/2.png
--------------------------------------------------------------------------------
/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/3.png
--------------------------------------------------------------------------------
/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/4.png
--------------------------------------------------------------------------------
/src/main/resources/application.properties:
--------------------------------------------------------------------------------
1 | spring.profiles.active=dev
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.js linguist-language=Java
2 | *.css linguist-language=Java
3 |
--------------------------------------------------------------------------------
/src/main/resources/simhei.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/simhei.ttf
--------------------------------------------------------------------------------
/src/main/resources/image/catalogue.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/image/catalogue.png
--------------------------------------------------------------------------------
/src/main/resources/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/images/logo.png
--------------------------------------------------------------------------------
/src/main/resources/application-dev.properties:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/application-dev.properties
--------------------------------------------------------------------------------
/src/main/resources/static/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/images/favicon.ico
--------------------------------------------------------------------------------
/src/main/resources/static/assets/images/head.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/images/head.png
--------------------------------------------------------------------------------
/src/main/resources/static/assets/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/images/logo.png
--------------------------------------------------------------------------------
/src/main/resources/static/webuploader/Uploader.swf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/webuploader/Uploader.swf
--------------------------------------------------------------------------------
/src/main/resources/fdfs_client.conf:
--------------------------------------------------------------------------------
1 | connect_timeout = 60
2 | network_timeout = 60
3 | charset = UTF-8
4 |
5 | # ip为宿主机的IP
6 | tracker_server = 172.17.0.2:22122
--------------------------------------------------------------------------------
/src/main/resources/static/assets/images/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/images/favicon.ico
--------------------------------------------------------------------------------
/src/main/resources/static/layui_ext/dtree/font/dtreefont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/layui_ext/dtree/font/dtreefont.eot
--------------------------------------------------------------------------------
/src/main/resources/static/layui_ext/dtree/font/dtreefont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/layui_ext/dtree/font/dtreefont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/font/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/font/iconfont.eot
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/font/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/font/iconfont.ttf
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/font/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/font/iconfont.woff
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/0.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/1.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/10.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/11.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/12.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/13.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/13.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/14.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/15.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/15.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/16.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/17.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/17.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/18.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/18.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/19.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/19.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/2.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/20.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/21.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/21.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/22.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/22.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/23.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/23.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/24.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/24.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/25.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/25.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/26.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/26.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/27.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/27.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/28.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/28.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/29.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/29.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/3.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/30.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/30.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/31.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/31.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/32.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/33.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/33.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/34.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/34.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/35.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/35.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/36.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/36.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/37.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/37.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/38.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/38.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/39.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/39.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/4.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/40.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/41.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/41.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/42.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/42.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/43.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/43.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/44.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/44.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/45.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/45.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/46.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/46.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/47.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/47.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/48.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/48.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/49.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/49.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/5.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/50.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/51.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/51.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/52.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/52.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/53.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/53.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/54.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/54.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/55.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/55.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/56.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/56.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/57.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/57.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/58.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/58.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/59.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/59.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/6.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/60.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/60.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/61.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/61.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/62.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/62.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/63.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/64.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/64.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/65.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/65.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/66.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/66.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/67.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/67.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/68.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/68.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/69.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/69.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/7.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/70.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/70.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/71.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/71.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/8.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/8.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/images/face/9.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/images/face/9.gif
--------------------------------------------------------------------------------
/src/main/resources/static/layui_ext/dtree/font/dtreefont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/layui_ext/dtree/font/dtreefont.woff
--------------------------------------------------------------------------------
/src/main/resources/static/assets/module/uploadcustom/global.js:
--------------------------------------------------------------------------------
1 | layui.config({
2 | debug:true
3 | }).extend({
4 | //设定组件别名
5 | webUploadJs:'/uploadcustom/webuploadwarpper'
6 | });
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/layer/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/css/modules/layer/default/icon.png
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/layer/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/css/modules/layer/default/icon-ext.png
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-0.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-1.gif
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/chyanwu/erp-framework/HEAD/src/main/resources/static/assets/libs/layui/css/modules/layer/default/loading-2.gif
--------------------------------------------------------------------------------
/src/main/resources/templates/upload/uploadstatus.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | uploader
6 |
7 |
8 |
9 | 返回结果
10 | <#if message??>
11 | ${message}
12 | #if>
13 | <#if path??>
14 | ${path}
15 | #if>
16 |
--------------------------------------------------------------------------------
/src/main/java/template/serviceTemplate.vm:
--------------------------------------------------------------------------------
1 | package ${servicePackage};
2 |
3 | import ${entityPackage}.${beanName};
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | /**
7 | *
8 | * ${remark} 服务类
9 | *
10 | *
11 | * @author ${author}
12 | * @date ${dateTime}
13 | * @version
14 | */
15 | public interface ${beanName}Service extends BaseService<${beanName}, Object> {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/resources/static/assets/module/treetable-lay/treetable.css:
--------------------------------------------------------------------------------
1 | .treeTable-empty {
2 | width: 20px;
3 | display: inline-block;
4 | }
5 |
6 | .treeTable-icon {
7 | cursor: pointer;
8 | }
9 |
10 | .treeTable-icon .layui-icon-triangle-d:before {
11 | content: "\e623";
12 | }
13 |
14 | .treeTable-icon.open .layui-icon-triangle-d:before {
15 | content: "\e625";
16 | background-color: transparent;
17 | }
18 |
19 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/annotation/Log.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.annotation;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Target(ElementType.METHOD)
9 | @Retention(RetentionPolicy.RUNTIME)
10 | public @interface Log {
11 | String value() default "";
12 | }
13 |
--------------------------------------------------------------------------------
/src/main/resources/static/css/login.css:
--------------------------------------------------------------------------------
1 | body{overflow:hidden;}
2 | .login{ background: rgba(34,126,185, 0.5);height:300px;width:260px;padding: 20px;border-radius: 4px;position:absolute;left: 50%;top: 50%; margin:-150px 0 0 -150px;z-index:99;}
3 | .login h1{ text-align:center; color:#fff; font-size:24px; margin-bottom:20px; }
4 | .form_code{ position:relative; }
5 | .form_code .code{ position:absolute; right:0; top:1px; cursor:pointer; }
6 | .login_btn{ width:100%; }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled class file
2 | *.class
3 |
4 | # Log file
5 | *.log
6 |
7 | # BlueJ files
8 | *.ctxt
9 |
10 | # Mobile Tools for Java (J2ME)
11 | .mtj.tmp/
12 |
13 | # Package Files #
14 | *.jar
15 | *.war
16 | *.nar
17 | *.ear
18 | *.zip
19 | *.tar.gz
20 | *.rar
21 |
22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23 | hs_err_pid*
24 |
25 | # IntellibJ IDEA
26 | .idea
27 | *.iws
28 | *.iml
29 | *.ipr
30 |
--------------------------------------------------------------------------------
/src/main/resources/templates/upload/upload.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | uploader
6 |
7 |
8 |
9 |
10 |
14 |
--------------------------------------------------------------------------------
/src/main/java/template/mapperTemplate.vm:
--------------------------------------------------------------------------------
1 | package ${mapperPackage};
2 |
3 | import java.util.List;
4 | import ${entityPackage}.${beanName};
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author ${author}
13 | * @date ${dateTime}
14 | * @version
15 | */
16 | public interface ${beanName}Mapper extends Mapper<${beanName}>,InsertListMapper<${beanName}> {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/calendar/ErpRoomService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.calendar;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpRoom;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author chenyanwu
12 | * @date 2019-05-16 16:14:13
13 | * @version
14 | */
15 | public interface ErpRoomService extends BaseService {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/controller/HomeController.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.controller;
2 |
3 | import org.springframework.stereotype.Controller;
4 | import org.springframework.web.bind.annotation.GetMapping;
5 | import org.springframework.web.servlet.ModelAndView;
6 |
7 | @Controller
8 | public class HomeController {
9 | @GetMapping("/home/index")
10 | public ModelAndView index(ModelAndView modelAndView){
11 | return modelAndView;
12 | }
13 | }
14 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/rbac/ErpRoleMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRole;
4 | import tk.mybatis.mapper.common.Mapper;
5 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
6 |
7 | /**
8 | *
9 | *
10 | *
11 | * @author chenyanwu
12 | * @date 2019-02-21 17:39:55
13 | * @version
14 | */
15 | public interface ErpRoleMapper extends Mapper,InsertListMapper {
16 |
17 |
18 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/importutil/ErpStudentExcelService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpStudentExcel;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | /**
7 | *
8 | * 服务类
9 | *
10 | *
11 | * @author chenyanwu
12 | * @date 2019-04-26 15:26:52
13 | * @version
14 | */
15 | public interface ErpStudentExcelService extends BaseService {
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/log/ErpLogMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.log;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.log.ErpLog;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-05-06 15:29:27
14 | * @version
15 | */
16 | public interface ErpLogMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/calendar/ErpRoomMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.calendar;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpRoom;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-05-16 16:14:13
14 | * @version
15 | */
16 | public interface ErpRoomMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/rbac/ErpRoleMenuMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.rbac;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleMenu;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-02-27 17:04:18
14 | * @version
15 | */
16 | public interface ErpRoleMenuMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/rbac/ErpRoleUserMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.rbac;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleUser;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-02-27 17:28:29
14 | * @version
15 | */
16 | public interface ErpRoleUserMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/rbac/ErpRoleService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRole;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-02-21 17:39:55
15 | * @version
16 | */
17 | public interface ErpRoleService extends BaseService {
18 | List selectByExample(Object var1);
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/exception/ExceptionEnum.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.exception;
2 |
3 | public enum ExceptionEnum {
4 | SUCCESS(200),
5 | RESOURCE_NOT_FOUND(404),
6 | ARGUMENTS_INVALID(401),
7 | BUSINESS_ERROR(400),
8 | SERVER_ERROR(500);
9 |
10 | private ExceptionEnum(int code) {
11 | this.code = code;
12 | }
13 |
14 | private ExceptionEnum() {
15 | }
16 |
17 | // 成员变量
18 | private int code;
19 |
20 | public int getCode() {
21 | return this.code;
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/bootstrap/main.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | FullCalendar Bootstrap Plugin v4.1.0
3 | Docs & License: https://fullcalendar.io/
4 | (c) 2019 Adam Shaw
5 | */.fc.fc-bootstrap a{text-decoration:none}.fc.fc-bootstrap a[data-goto]:hover{text-decoration:underline}.fc-bootstrap hr.fc-divider{border-color:inherit}.fc-bootstrap .fc-today.alert{border-radius:0}.fc-bootstrap a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap .fc-popover.card{position:absolute}.fc-bootstrap .fc-popover .card-body{padding:0}.fc-bootstrap .fc-time-grid .fc-slats table{background:0 0}
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/importutil/ErpStudentMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.importutil;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpStudent;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-04-28 14:14:49
14 | * @version
15 | */
16 | public interface ErpStudentMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/dtree/DtreeService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.dtree;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.dtree.Dtree;
4 | import com.chenyanwu.erp.erpframework.entity.dtree.DtreeResponse;
5 | import com.chenyanwu.erp.erpframework.service.BaseService;
6 |
7 | /**
8 | * @Auther: chenyanwu
9 | * @Date: 2019/2/27 15:09
10 | * @Description:
11 | * @Version 1.0
12 | */
13 | public interface DtreeService extends BaseService {
14 | DtreeResponse getMenuDtreeResponse(String roleId);
15 | }
16 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/rbac/ErpRoleMenuService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleMenu;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-02-27 17:04:18
15 | * @version
16 | */
17 | public interface ErpRoleMenuService extends BaseService {
18 | int insertList(List extends ErpRoleMenu> var1);
19 | }
20 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/ErpFrameworkApplication.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.boot.SpringApplication;
5 | import org.springframework.boot.autoconfigure.SpringBootApplication;
6 |
7 | @SpringBootApplication
8 | //@MapperScan(basePackages="com.chenyanwu.erp.erpframework.dao")
9 | public class ErpFrameworkApplication {
10 |
11 | public static void main(String[] args) {
12 | SpringApplication.run(ErpFrameworkApplication.class, args);
13 | }
14 |
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/importutil/ErpSFamilyMemberMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.importutil;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpSFamilyMember;
5 | import tk.mybatis.mapper.common.Mapper;
6 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
7 |
8 | /**
9 | *
10 | *
11 | *
12 | * @author chenyanwu
13 | * @date 2019-04-29 11:37:43
14 | * @version
15 | */
16 | public interface ErpSFamilyMemberMapper extends Mapper,InsertListMapper {
17 |
18 |
19 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/log/ErpLogService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.log;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.log.ErpLog;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-05-06 15:29:27
15 | * @version
16 | */
17 | public interface ErpLogService extends BaseService {
18 | List selectByExample(Object var1);
19 |
20 | Integer softDeleteByID(String id);
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/rbac/ErpRoleUserService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleUser;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-02-27 17:28:29
15 | * @version
16 | */
17 | public interface ErpRoleUserService extends BaseService {
18 | List selectByExample(Object var1);
19 |
20 | int insertList(List extends ErpRoleUser> var1);
21 | }
22 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/rbac/ErpUserMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.rbac;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpUser;
5 | import org.apache.ibatis.annotations.Param;
6 | import tk.mybatis.mapper.common.Mapper;
7 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
8 |
9 | /**
10 | *
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-02-27 11:14:41
15 | * @version
16 | */
17 | public interface ErpUserMapper extends Mapper,InsertListMapper {
18 |
19 |
20 | ErpUser findUserByLoginName(@Param("loginName") String loginName);
21 |
22 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/BaseService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * @ClassName BaseService
7 | * @Description TODO
8 | * @Author chenyanwu
9 | * @Date 2019/1/15 17:09
10 | * @Version 1.0
11 | */
12 | public interface BaseService {
13 | int insertSelective(T t);
14 |
15 | int delete(T t);
16 |
17 | int deleteByPrimaryKey(Id id);
18 |
19 | int deleteByExample(Object o);
20 |
21 | int updateByPrimaryKey(T t);
22 |
23 | int updateByPrimaryKeySelective(T t);
24 |
25 | T selectByPrimaryKey(Id id);
26 |
27 | List selectAll();
28 | }
29 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/importutil/ImportTemplate.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.importutil;
2 |
3 | import java.util.List;
4 |
5 | /**
6 | * @Auther: chenyanwu
7 | * @Date: 2019/4/26 10:57
8 | * @Description: 使用模板模型,定义导入的通用类
9 | * @Version 1.0
10 | */
11 | public interface ImportTemplate {
12 | /**
13 | * 导入功能需要返回结果,例如校验数据后,返回
14 | * @param list
15 | * @return
16 | */
17 | T importDataReturn(List list, int fromIndex, int toIndex);
18 |
19 | /**
20 | * 导入功能不需要返回结果
21 | * @param list
22 | */
23 | void importDataNoReturn(List list, int fromIndex, int toIndex);
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/rbac/ErpMenuService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpMenu;
4 | import com.chenyanwu.erp.erpframework.entity.vo.ShowMenu;
5 | import com.chenyanwu.erp.erpframework.service.BaseService;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * 服务类
12 | *
13 | *
14 | * @author chenyanwu
15 | * @date 2019-02-27 11:15:03
16 | * @version
17 | */
18 | public interface ErpMenuService extends BaseService {
19 | String getTreeMenuList(String roleId);
20 |
21 | List getShowMenuByUser(String id);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/static/webuploader/webuploader.css:
--------------------------------------------------------------------------------
1 | .webuploader-container {
2 | position: relative;
3 | }
4 | .webuploader-element-invisible {
5 | position: absolute !important;
6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
7 | clip: rect(1px,1px,1px,1px);
8 | }
9 | .webuploader-pick {
10 | position: relative;
11 | display: inline-block;
12 | cursor: pointer;
13 | background: #00b7ee;
14 | padding: 10px 15px;
15 | color: #fff;
16 | text-align: center;
17 | border-radius: 3px;
18 | overflow: hidden;
19 | }
20 | .webuploader-pick-hover {
21 | background: #00a2d4;
22 | }
23 |
24 | .webuploader-pick-disable {
25 | opacity: 0.6;
26 | pointer-events:none;
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/en-au.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-au'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var enAu = {
8 | code: "en-au",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | }
13 | };
14 |
15 | return enAu;
16 |
17 | }));
18 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/en-gb.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-gb'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var enGb = {
8 | code: "en-gb",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | }
13 | };
14 |
15 | return enGb;
16 |
17 | }));
18 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/en-nz.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-nz'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var enNz = {
8 | code: "en-nz",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | }
13 | };
14 |
15 | return enNz;
16 |
17 | }));
18 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/importutil/ErpSFamilyMemberService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpSFamilyMember;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-04-29 11:37:43
15 | * @version
16 | */
17 | public interface ErpSFamilyMemberService extends BaseService {
18 |
19 | List findFamilyMemberByStuId(String stuId);
20 |
21 | int insertList(List list);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/rebel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/importutil/ErpStudentExcelMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.importutil;
2 |
3 | import java.util.List;
4 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpStudentExcel;
5 | import org.apache.ibatis.annotations.Param;
6 | import tk.mybatis.mapper.common.Mapper;
7 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
8 |
9 | /**
10 | *
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-04-26 15:26:52
15 | * @version
16 | */
17 | public interface ErpStudentExcelMapper extends Mapper,InsertListMapper {
18 |
19 | void batchDel(@Param("list") List erpStudentExcels);
20 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/rbac/ErpUserService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpUser;
4 | import com.chenyanwu.erp.erpframework.service.BaseService;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | *
10 | * 服务类
11 | *
12 | *
13 | * @author chenyanwu
14 | * @date 2019-02-27 11:14:41
15 | * @version
16 | */
17 | public interface ErpUserService extends BaseService {
18 | List selectByExample(Object var1);
19 |
20 | /**
21 | * 通过登录名获取用户信息
22 | * @param loginName
23 | * @return
24 | */
25 | ErpUser findUserByLoginName(String loginName);
26 | }
27 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/dtree/Status.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.dtree;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/2/27 13:02
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class Status {
10 | /** 状态码*/
11 | private int code = 200;
12 | /** 信息标识*/
13 | private String message = "success";
14 | public int getCode() {
15 | return code;
16 | }
17 |
18 | public void setCode(int code) {
19 | this.code = code;
20 | }
21 |
22 | public String getMessage() {
23 | return message;
24 | }
25 |
26 | public void setMessage(String message) {
27 | this.message = message;
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/rbac/ErpRoleMenuMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/rbac/ErpRoleUserMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/calendar/ErpCalendarTaskService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.calendar;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpCalendarTask;
4 | import com.chenyanwu.erp.erpframework.entity.vo.CalendarTaskVo;
5 | import com.chenyanwu.erp.erpframework.service.BaseService;
6 |
7 | import java.util.Date;
8 | import java.util.List;
9 |
10 | /**
11 | *
12 | * 服务类
13 | *
14 | *
15 | * @author chenyanwu
16 | * @date 2019-05-16 17:02:47
17 | * @version
18 | */
19 | public interface ErpCalendarTaskService extends BaseService {
20 |
21 | List getErpCalendarTaskByParams(String roomId, Date sTime, Date eTime);
22 | }
23 |
--------------------------------------------------------------------------------
/src/main/resources/logback.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} %X{userId} - %msg%n
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/importutil/ErpStudentService.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpStudent;
4 | import com.chenyanwu.erp.erpframework.entity.importutil.StudentExcelImport;
5 | import com.chenyanwu.erp.erpframework.service.BaseService;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | *
11 | * 服务类
12 | *
13 | *
14 | * @author chenyanwu
15 | * @date 2019-04-26 12:37:18
16 | * @version
17 | */
18 | public interface ErpStudentService extends BaseService{
19 | List selectByExample(Object var1);
20 |
21 | List findStudentErrorExcel();
22 |
23 | int importDataByForkJoin(List list);
24 | }
25 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/calendar/ErpCalendarTaskMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.calendar;
2 |
3 | import java.util.Date;
4 | import java.util.List;
5 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpCalendarTask;
6 | import org.apache.ibatis.annotations.Param;
7 | import tk.mybatis.mapper.common.Mapper;
8 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
9 |
10 | /**
11 | *
12 | *
13 | *
14 | * @author chenyanwu
15 | * @date 2019-05-16 17:02:47
16 | * @version
17 | */
18 | public interface ErpCalendarTaskMapper extends Mapper,InsertListMapper {
19 |
20 | List getErpCalendarTaskByParams(@Param("roomId") String roomId, @Param("sTime") Date sTime, @Param("eTime") Date eTime);
21 |
22 | }
--------------------------------------------------------------------------------
/src/main/java/template/serviceImplTemplate.vm:
--------------------------------------------------------------------------------
1 | package ${serviceImplPackage};
2 |
3 | import ${entityPackage}.${beanName};
4 | import ${mapperPackage}.${beanName}Mapper;
5 | import ${servicePackage}.${beanName}Service;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | /**
11 | *
12 | * ${remark} 服务实现类
13 | *
14 | *
15 | * @author ${author}
16 | * @date ${dateTime}
17 | * @version
18 | */
19 | @Service
20 | public class ${beanName}ServiceImpl extends BaseServiceImpl<${beanName}, Object>
21 | implements ${beanName}Service {
22 |
23 | @Autowired
24 | private ${beanName}Mapper ${lowerBeanName}Mapper;
25 |
26 | @Autowired
27 | public void setMapper() {
28 | super.setMapper(${lowerBeanName}Mapper);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/dao/rbac/ErpMenuMapper.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.dao.rbac;
2 |
3 | import java.util.List;
4 | import java.util.Map;
5 |
6 | import com.chenyanwu.erp.erpframework.entity.dtree.Dtree;
7 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpMenu;
8 | import com.chenyanwu.erp.erpframework.entity.vo.ShowMenu;
9 | import org.apache.ibatis.annotations.Param;
10 | import tk.mybatis.mapper.additional.insert.InsertListMapper;
11 | import tk.mybatis.mapper.common.Mapper;
12 |
13 | /**
14 | *
15 | *
16 | *
17 | * @author chenyanwu
18 | * @date 2019-02-27 11:15:03
19 | * @version
20 | */
21 | public interface ErpMenuMapper extends Mapper, InsertListMapper {
22 |
23 | List getSysRoleTreeMenus(@Param("roleId") String roleId);
24 |
25 | List selectShowMenuByUser(Map map);
26 | }
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ko.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ko = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ko = {
8 | code: "ko",
9 | buttonText: {
10 | prev: "이전달",
11 | next: "다음달",
12 | today: "오늘",
13 | month: "월",
14 | week: "주",
15 | day: "일",
16 | list: "일정목록"
17 | },
18 | weekLabel: "주",
19 | allDayText: "종일",
20 | eventLimitText: "개",
21 | noEventsMessage: "일정이 없습니다"
22 | };
23 |
24 | return ko;
25 |
26 | }));
27 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/Constants.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/2/27 18:54
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class Constants {
10 | /**
11 | * shiro采用加密算法
12 | */
13 | public static final String HASH_ALGORITHM = "SHA-1";
14 | /**
15 | *系统用户默认密码
16 | */
17 | public static final String DEFAULT_PASSWORD = "123456";
18 |
19 | /**
20 | * 生成盐的长度
21 | */
22 | public static final int SALT_SIZE = 8;
23 |
24 | /**
25 | * 生成Hash值的迭代次数
26 | */
27 | public static final int HASH_INTERATIONS = 1024;
28 |
29 | /**
30 | * 验证码
31 | */
32 | public static final String VALIDATE_CODE = "validateCode";
33 |
34 | /**
35 | * fork/join 阈值
36 | */
37 | public static final int THRESHOLD = 10;
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/zh-tw.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['zh-tw'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var zhTw = {
8 | code: "zh-tw",
9 | buttonText: {
10 | prev: "上月",
11 | next: "下月",
12 | today: "今天",
13 | month: "月",
14 | week: "週",
15 | day: "天",
16 | list: "活動列表"
17 | },
18 | weekLabel: "周",
19 | allDayText: "整天",
20 | eventLimitText: '顯示更多',
21 | noEventsMessage: "没有任何活動"
22 | };
23 |
24 | return zhTw;
25 |
26 | }));
27 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/th.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.th = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var th = {
8 | code: "th",
9 | buttonText: {
10 | prev: "ย้อน",
11 | next: "ถัดไป",
12 | today: "วันนี้",
13 | month: "เดือน",
14 | week: "สัปดาห์",
15 | day: "วัน",
16 | list: "แผนงาน"
17 | },
18 | allDayText: "ตลอดวัน",
19 | eventLimitText: "เพิ่มเติม",
20 | noEventsMessage: "ไม่มีกิจกรรมที่จะแสดง"
21 | };
22 |
23 | return th;
24 |
25 | }));
26 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/he.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.he = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var he = {
8 | code: "he",
9 | dir: 'rtl',
10 | buttonText: {
11 | prev: "הקודם",
12 | next: "הבא",
13 | today: "היום",
14 | month: "חודש",
15 | week: "שבוע",
16 | day: "יום",
17 | list: "סדר יום"
18 | },
19 | allDayText: "כל היום",
20 | eventLimitText: "אחר",
21 | noEventsMessage: "אין אירועים להצגה",
22 | weekLabel: "שבוע"
23 | };
24 |
25 | return he;
26 |
27 | }));
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ja.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ja = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ja = {
8 | code: "ja",
9 | buttonText: {
10 | prev: "前",
11 | next: "次",
12 | today: "今日",
13 | month: "月",
14 | week: "週",
15 | day: "日",
16 | list: "予定リスト"
17 | },
18 | weekLabel: "週",
19 | allDayText: "終日",
20 | eventLimitText: function (n) {
21 | return "他 " + n + " 件";
22 | },
23 | noEventsMessage: "表示する予定はありません"
24 | };
25 |
26 | return ja;
27 |
28 | }));
29 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/calendar/ErpRoom.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.calendar;
2 |
3 | import javax.persistence.*;
4 | import java.io.Serializable;
5 | import javax.validation.constraints.NotNull;
6 |
7 | import org.hibernate.validator.constraints.Length;
8 | import com.chenyanwu.erp.erpframework.entity.BaseEntity;
9 |
10 | import java.util.Date;
11 |
12 |
13 | /**
14 | *
15 | *
16 | *
17 | *
18 | *
19 | *
20 | * @author chenyanwu
21 | * @date 2019-05-16 16:14:13
22 | */
23 | @Table(name = "erp_room")
24 | public class ErpRoom extends BaseEntity implements Serializable {
25 |
26 | /**
27 | * 会议室名称
28 | */
29 | @Length(max = 50, message = "会议室名称 长度不能超过50")
30 | @Column(name = "name")
31 | private String name;
32 |
33 |
34 | public String getName() {
35 | return name;
36 | }
37 |
38 | public void setName(String name) {
39 | this.name = name;
40 | }
41 |
42 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/calendar/ErpRoomServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.calendar;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpRoom;
4 | import com.chenyanwu.erp.erpframework.dao.calendar.ErpRoomMapper;
5 | import com.chenyanwu.erp.erpframework.service.calendar.ErpRoomService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | /**
11 | *
12 | * 服务实现类
13 | *
14 | *
15 | * @author chenyanwu
16 | * @date 2019-05-16 16:14:13
17 | * @version
18 | */
19 | @Service
20 | public class ErpRoomServiceImpl extends BaseServiceImpl
21 | implements ErpRoomService {
22 |
23 | @Autowired
24 | private ErpRoomMapper erproomMapper;
25 |
26 | @Autowired
27 | public void setMapper() {
28 | super.setMapper(erproomMapper);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/dtree/CheckArr.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.dtree;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/2/27 15:13
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class CheckArr {
10 | public static final String CHECKED = "1";
11 | /** 复选框标记 官方文档没有太多说明 先用默认值*/
12 | private String type = "0";
13 | /** 复选框是否选中 默认0未选中*/
14 | private String isChecked = "0";
15 |
16 | public CheckArr(){}
17 | public CheckArr(String type, String isChecked){
18 | this.isChecked = isChecked;
19 | this.type = type;
20 | }
21 |
22 |
23 | public String getType() {
24 | return type;
25 | }
26 |
27 | public void setType(String type) {
28 | this.type = type;
29 | }
30 |
31 | public String getIsChecked() {
32 | return isChecked;
33 | }
34 |
35 | public void setIsChecked(String isChecked) {
36 | this.isChecked = isChecked;
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/main/resources/static/assets/common.js:
--------------------------------------------------------------------------------
1 | var tableName = 'easyweb-open'; // 本地缓存表名
2 | var base_server = '/v1/'; // 接口地址
3 |
4 | // 配置layui模块所在的位置
5 | layui.config({
6 | base: getProjectUrl() + 'assets/module/'
7 | }).extend({
8 | formSelects: 'formSelects/formSelects-v4'
9 | }).use(['jquery', 'layer'], function () {
10 | var $ = layui.jquery;
11 | var layer = layui.layer;
12 |
13 |
14 | });
15 |
16 | // 获取当前项目的绝对路径
17 | function getProjectUrl() {
18 | var layuiDir = layui.cache.dir;
19 | if (!layuiDir) {
20 | var js = document.scripts, last = js.length - 1, src;
21 | for (var i = last; i > 0; i--) {
22 | if (js[i].readyState === 'interactive') {
23 | src = js[i].src;
24 | break;
25 | }
26 | }
27 | var jsPath = src || js[last].src;
28 | layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
29 | }
30 | return layuiDir.substring(0, layuiDir.indexOf('assets'));
31 | }
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/mk.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.mk = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var mk = {
8 | code: "mk",
9 | buttonText: {
10 | prev: "претходно",
11 | next: "следно",
12 | today: "Денес",
13 | month: "Месец",
14 | week: "Недела",
15 | day: "Ден",
16 | list: "График"
17 | },
18 | weekLabel: "Сед",
19 | allDayText: "Цел ден",
20 | eventLimitText: function (n) {
21 | return "+повеќе " + n;
22 | },
23 | noEventsMessage: "Нема настани за прикажување"
24 | };
25 |
26 | return mk;
27 |
28 | }));
29 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/importutil/ErpStudentMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/fr-ca.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ca'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var frCa = {
8 | code: "fr",
9 | buttonText: {
10 | prev: "Précédent",
11 | next: "Suivant",
12 | today: "Aujourd'hui",
13 | year: "Année",
14 | month: "Mois",
15 | week: "Semaine",
16 | day: "Jour",
17 | list: "Mon planning"
18 | },
19 | weekLabel: "Sem.",
20 | allDayHtml: "Toute la
journée",
21 | eventLimitText: "en plus",
22 | noEventsMessage: "Aucun événement à afficher"
23 | };
24 |
25 | return frCa;
26 |
27 | }));
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/pt-br.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['pt-br'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ptBr = {
8 | code: "pt-br",
9 | buttonText: {
10 | prev: "Anterior",
11 | next: "Próximo",
12 | today: "Hoje",
13 | month: "Mês",
14 | week: "Semana",
15 | day: "Dia",
16 | list: "Compromissos"
17 | },
18 | weekLabel: "Sm",
19 | allDayText: "dia inteiro",
20 | eventLimitText: function (n) {
21 | return "mais +" + n;
22 | },
23 | noEventsMessage: "Não há eventos para mostrar"
24 | };
25 |
26 | return ptBr;
27 |
28 | }));
29 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/importutil/ErpStudentExcelServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpStudentExcel;
4 | import com.chenyanwu.erp.erpframework.dao.importutil.ErpStudentExcelMapper;
5 | import com.chenyanwu.erp.erpframework.service.importutil.ErpStudentExcelService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | /**
11 | *
12 | * 服务实现类
13 | *
14 | *
15 | * @author chenyanwu
16 | * @date 2019-04-26 15:26:52
17 | * @version
18 | */
19 | @Service
20 | public class ErpStudentExcelServiceImpl extends BaseServiceImpl
21 | implements ErpStudentExcelService {
22 |
23 | @Autowired
24 | private ErpStudentExcelMapper erpstudentexcelMapper;
25 |
26 | @Autowired
27 | public void setMapper() {
28 | super.setMapper(erpstudentexcelMapper);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/css/modules/code.css:
--------------------------------------------------------------------------------
1 | /** layui-v2.4.5 MIT License By https://www.layui.com */
2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ka.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ka = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ka = {
8 | code: "ka",
9 | week: {
10 | dow: 1,
11 | doy: 7
12 | },
13 | buttonText: {
14 | prev: "წინა",
15 | next: "შემდეგი",
16 | today: "დღეს",
17 | month: "თვე",
18 | week: "კვირა",
19 | day: "დღე",
20 | list: "დღის წესრიგი"
21 | },
22 | weekLabel: "კვ",
23 | allDayText: "მთელი დღე",
24 | eventLimitText: function (n) {
25 | return "+ კიდევ " + n;
26 | },
27 | noEventsMessage: "ღონისძიებები არ არის"
28 | };
29 |
30 | return ka;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sv.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sv = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var sv = {
8 | code: "sv",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Förra",
15 | next: "Nästa",
16 | today: "Idag",
17 | month: "Månad",
18 | week: "Vecka",
19 | day: "Dag",
20 | list: "Program"
21 | },
22 | weekLabel: "v.",
23 | allDayText: "Heldag",
24 | eventLimitText: "till",
25 | noEventsMessage: "Inga händelser att visa"
26 | };
27 |
28 | return sv;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/es.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.es = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var es = {
8 | code: "es",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Ant",
15 | next: "Sig",
16 | today: "Hoy",
17 | month: "Mes",
18 | week: "Semana",
19 | day: "Día",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Sm",
23 | allDayHtml: "Todo
el día",
24 | eventLimitText: "más",
25 | noEventsMessage: "No hay eventos para mostrar"
26 | };
27 |
28 | return es;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/gl.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.gl = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var gl = {
8 | code: "gl",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Ant",
15 | next: "Seg",
16 | today: "Hoxe",
17 | month: "Mes",
18 | week: "Semana",
19 | day: "Día",
20 | list: "Axenda"
21 | },
22 | weekLabel: "Sm",
23 | allDayHtml: "Todo
o día",
24 | eventLimitText: "máis",
25 | noEventsMessage: "Non hai eventos para amosar"
26 | };
27 |
28 | return gl;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/hu.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hu = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var hu = {
8 | code: "hu",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "vissza",
15 | next: "előre",
16 | today: "ma",
17 | month: "Hónap",
18 | week: "Hét",
19 | day: "Nap",
20 | list: "Napló"
21 | },
22 | weekLabel: "Hét",
23 | allDayText: "Egész nap",
24 | eventLimitText: "további",
25 | noEventsMessage: "Nincs megjeleníthető esemény"
26 | };
27 |
28 | return hu;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/nb.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nb = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var nb = {
8 | code: "nb",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Forrige",
15 | next: "Neste",
16 | today: "I dag",
17 | month: "Måned",
18 | week: "Uke",
19 | day: "Dag",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Uke",
23 | allDayText: "Hele dagen",
24 | eventLimitText: "til",
25 | noEventsMessage: "Ingen hendelser å vise"
26 | };
27 |
28 | return nb;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/nn.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nn = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var nn = {
8 | code: "nn",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Førre",
15 | next: "Neste",
16 | today: "I dag",
17 | month: "Månad",
18 | week: "Veke",
19 | day: "Dag",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Veke",
23 | allDayText: "Heile dagen",
24 | eventLimitText: "til",
25 | noEventsMessage: "Ingen hendelser å vise"
26 | };
27 |
28 | return nn;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/tr.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.tr = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var tr = {
8 | code: "tr",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "geri",
15 | next: "ileri",
16 | today: "bugün",
17 | month: "Ay",
18 | week: "Hafta",
19 | day: "Gün",
20 | list: "Ajanda"
21 | },
22 | weekLabel: "Hf",
23 | allDayText: "Tüm gün",
24 | eventLimitText: "daha fazla",
25 | noEventsMessage: "Gösterilecek etkinlik yok"
26 | };
27 |
28 | return tr;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/bootstrap/main.css:
--------------------------------------------------------------------------------
1 | /*!
2 | FullCalendar Bootstrap Plugin v4.1.0
3 | Docs & License: https://fullcalendar.io/
4 | (c) 2019 Adam Shaw
5 | */
6 | .fc.fc-bootstrap a {
7 | text-decoration: none; }
8 |
9 | .fc.fc-bootstrap a[data-goto]:hover {
10 | text-decoration: underline; }
11 |
12 | .fc-bootstrap hr.fc-divider {
13 | border-color: inherit; }
14 |
15 | .fc-bootstrap .fc-today.alert {
16 | border-radius: 0; }
17 |
18 | .fc-bootstrap a.fc-event:not([href]):not([tabindex]) {
19 | color: #fff; }
20 |
21 | .fc-bootstrap .fc-popover.card {
22 | position: absolute; }
23 |
24 | /* Popover
25 | --------------------------------------------------------------------------------------------------*/
26 | .fc-bootstrap .fc-popover .card-body {
27 | padding: 0; }
28 |
29 | /* TimeGrid Slats (lines that run horizontally)
30 | --------------------------------------------------------------------------------------------------*/
31 | .fc-bootstrap .fc-time-grid .fc-slats table {
32 | /* some themes have background color. see through to slats */
33 | background: none; }
34 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/da.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.da = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var da = {
8 | code: "da",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Forrige",
15 | next: "Næste",
16 | today: "Idag",
17 | month: "Måned",
18 | week: "Uge",
19 | day: "Dag",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Uge",
23 | allDayText: "Hele dagen",
24 | eventLimitText: "flere",
25 | noEventsMessage: "Ingen arrangementer at vise"
26 | };
27 |
28 | return da;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/lt.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lt = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var lt = {
8 | code: "lt",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Atgal",
15 | next: "Pirmyn",
16 | today: "Šiandien",
17 | month: "Mėnuo",
18 | week: "Savaitė",
19 | day: "Diena",
20 | list: "Darbotvarkė"
21 | },
22 | weekLabel: "SAV",
23 | allDayText: "Visą dieną",
24 | eventLimitText: "daugiau",
25 | noEventsMessage: "Nėra įvykių rodyti"
26 | };
27 |
28 | return lt;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/pt.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.pt = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var pt = {
8 | code: "pt",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Anterior",
15 | next: "Seguinte",
16 | today: "Hoje",
17 | month: "Mês",
18 | week: "Semana",
19 | day: "Dia",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Sem",
23 | allDayText: "Todo o dia",
24 | eventLimitText: "mais",
25 | noEventsMessage: "Não há eventos para mostrar"
26 | };
27 |
28 | return pt;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sl.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sl = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var sl = {
8 | code: "sl",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Prejšnji",
15 | next: "Naslednji",
16 | today: "Trenutni",
17 | month: "Mesec",
18 | week: "Teden",
19 | day: "Dan",
20 | list: "Dnevni red"
21 | },
22 | weekLabel: "Teden",
23 | allDayText: "Ves dan",
24 | eventLimitText: "več",
25 | noEventsMessage: "Ni dogodkov za prikaz"
26 | };
27 |
28 | return sl;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ar = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ar = {
8 | code: "ar",
9 | week: {
10 | dow: 6,
11 | doy: 12 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return ar;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ca.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ca = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ca = {
8 | code: "ca",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Anterior",
15 | next: "Següent",
16 | today: "Avui",
17 | month: "Mes",
18 | week: "Setmana",
19 | day: "Dia",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Set",
23 | allDayText: "Tot el dia",
24 | eventLimitText: "més",
25 | noEventsMessage: "No hi ha esdeveniments per mostrar"
26 | };
27 |
28 | return ca;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/es-us.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['es-us'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var esUs = {
8 | code: "es",
9 | week: {
10 | dow: 0,
11 | doy: 6 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Ant",
15 | next: "Sig",
16 | today: "Hoy",
17 | month: "Mes",
18 | week: "Semana",
19 | day: "Día",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Sm",
23 | allDayHtml: "Todo
el día",
24 | eventLimitText: "más",
25 | noEventsMessage: "No hay eventos para mostrar"
26 | };
27 |
28 | return esUs;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/eu.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.eu = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var eu = {
8 | code: "eu",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Aur",
15 | next: "Hur",
16 | today: "Gaur",
17 | month: "Hilabetea",
18 | week: "Astea",
19 | day: "Eguna",
20 | list: "Agenda"
21 | },
22 | weekLabel: "As",
23 | allDayHtml: "Egun
osoa",
24 | eventLimitText: "gehiago",
25 | noEventsMessage: "Ez dago ekitaldirik erakusteko"
26 | };
27 |
28 | return eu;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/is.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.is = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var is = {
8 | code: "is",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Fyrri",
15 | next: "Næsti",
16 | today: "Í dag",
17 | month: "Mánuður",
18 | week: "Vika",
19 | day: "Dagur",
20 | list: "Dagskrá"
21 | },
22 | weekLabel: "Vika",
23 | allDayHtml: "Allan
daginn",
24 | eventLimitText: "meira",
25 | noEventsMessage: "Engir viðburðir til að sýna"
26 | };
27 |
28 | return is;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/lb.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lb = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var lb = {
8 | code: "lb",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Zréck",
15 | next: "Weider",
16 | today: "Haut",
17 | month: "Mount",
18 | week: "Woch",
19 | day: "Dag",
20 | list: "Terminiwwersiicht"
21 | },
22 | weekLabel: "W",
23 | allDayText: "Ganzen Dag",
24 | eventLimitText: "méi",
25 | noEventsMessage: "Nee Evenementer ze affichéieren"
26 | };
27 |
28 | return lb;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/nl.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.nl = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var nl = {
8 | code: "nl",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Voorgaand",
15 | next: "Volgende",
16 | today: "Vandaag",
17 | year: "Jaar",
18 | month: "Maand",
19 | week: "Week",
20 | day: "Dag",
21 | list: "Agenda"
22 | },
23 | allDayText: "Hele dag",
24 | eventLimitText: "extra",
25 | noEventsMessage: "Geen evenementen om te laten zien"
26 | };
27 |
28 | return nl;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/af.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.af = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var af = {
8 | code: "af",
9 | week: {
10 | dow: 1,
11 | doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
12 | },
13 | buttonText: {
14 | prev: "Vorige",
15 | next: "Volgende",
16 | today: "Vandag",
17 | year: "Jaar",
18 | month: "Maand",
19 | week: "Week",
20 | day: "Dag",
21 | list: "Agenda"
22 | },
23 | allDayHtml: "Heeldag",
24 | eventLimitText: "Addisionele",
25 | noEventsMessage: "Daar is geen gebeurtenisse nie"
26 | };
27 |
28 | return af;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/fi.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fi = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var fi = {
8 | code: "fi",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Edellinen",
15 | next: "Seuraava",
16 | today: "Tänään",
17 | month: "Kuukausi",
18 | week: "Viikko",
19 | day: "Päivä",
20 | list: "Tapahtumat"
21 | },
22 | weekLabel: "Vk",
23 | allDayText: "Koko päivä",
24 | eventLimitText: "lisää",
25 | noEventsMessage: "Ei näytettäviä tapahtumia"
26 | };
27 |
28 | return fi;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/id.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.id = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var id = {
8 | code: "id",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "mundur",
15 | next: "maju",
16 | today: "hari ini",
17 | month: "Bulan",
18 | week: "Minggu",
19 | day: "Hari",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Mg",
23 | allDayHtml: "Sehari
penuh",
24 | eventLimitText: "lebih",
25 | noEventsMessage: "Tidak ada acara untuk ditampilkan"
26 | };
27 |
28 | return id;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/pl.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.pl = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var pl = {
8 | code: "pl",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Poprzedni",
15 | next: "Następny",
16 | today: "Dziś",
17 | month: "Miesiąc",
18 | week: "Tydzień",
19 | day: "Dzień",
20 | list: "Plan dnia"
21 | },
22 | weekLabel: "Tydz",
23 | allDayText: "Cały dzień",
24 | eventLimitText: "więcej",
25 | noEventsMessage: "Brak wydarzeń do wyświetlenia"
26 | };
27 |
28 | return pl;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-dz.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-dz'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arDz = {
8 | code: "ar-dz",
9 | week: {
10 | dow: 0,
11 | doy: 4 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arDz;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-kw.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-kw'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arKw = {
8 | code: "ar-kw",
9 | week: {
10 | dow: 0,
11 | doy: 12 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arKw;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-ly.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ly'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arLy = {
8 | code: "ar-ly",
9 | week: {
10 | dow: 6,
11 | doy: 12 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arLy;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-ma.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ma'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arMa = {
8 | code: "ar-ma",
9 | week: {
10 | dow: 6,
11 | doy: 12 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arMa;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-sa.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-sa'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arSa = {
8 | code: "ar-sa",
9 | week: {
10 | dow: 0,
11 | doy: 6 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arSa;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ar-tn.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-tn'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var arTn = {
8 | code: "ar-tn",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "السابق",
16 | next: "التالي",
17 | today: "اليوم",
18 | month: "شهر",
19 | week: "أسبوع",
20 | day: "يوم",
21 | list: "أجندة"
22 | },
23 | weekLabel: "أسبوع",
24 | allDayText: "اليوم كله",
25 | eventLimitText: "أخرى",
26 | noEventsMessage: "أي أحداث لعرض"
27 | };
28 |
29 | return arTn;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/bg.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bg = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var bg = {
8 | code: "bg",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "назад",
15 | next: "напред",
16 | today: "днес",
17 | month: "Месец",
18 | week: "Седмица",
19 | day: "Ден",
20 | list: "График"
21 | },
22 | allDayText: "Цял ден",
23 | eventLimitText: function (n) {
24 | return "+още " + n;
25 | },
26 | noEventsMessage: "Няма събития за показване"
27 | };
28 |
29 | return bg;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/dtree/DtreeResponse.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.dtree;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/2/27 13:01
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class DtreeResponse {
10 | /** 状态码*/
11 | private int code;
12 | /** 信息标识*/
13 | private String msg;
14 | /** 状态类*/
15 | private Status status;
16 | /** 数据*/
17 | private Object data;
18 | public int getCode() {
19 | return code;
20 | }
21 |
22 | public void setCode(int code) {
23 | this.code = code;
24 | }
25 |
26 | public String getMsg() {
27 | return msg;
28 | }
29 |
30 | public void setMsg(String msg) {
31 | this.msg = msg;
32 | }
33 |
34 | public Status getStatus() {
35 | return status;
36 | }
37 |
38 | public void setStatus(Status status) {
39 | this.status = status;
40 | }
41 |
42 | public Object getData() {
43 | return data;
44 | }
45 |
46 | public void setData(Object data) {
47 | this.data = data;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/importutil/StudentExcelImport.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.importutil;
2 |
3 | import cn.afterturn.easypoi.excel.annotation.Excel;
4 |
5 | /**
6 | * @Auther: chenyanwu
7 | * @Date: 2019/4/26 15:05
8 | * @Description:
9 | * @Version 1.0
10 | */
11 | public class StudentExcelImport {
12 | @Excel(name = "姓名", orderNum = "1", width = 20)
13 | private String name;
14 |
15 | @Excel(name = "年龄", orderNum = "2")
16 | private Integer age;
17 |
18 | @Excel(name = "地址", orderNum = "3", width = 60)
19 | private String address;
20 |
21 | public String getName() {
22 | return name;
23 | }
24 |
25 | public void setName(String name) {
26 | this.name = name;
27 | }
28 |
29 | public Integer getAge() {
30 | return age;
31 | }
32 |
33 | public void setAge(Integer age) {
34 | this.age = age;
35 | }
36 |
37 | public String getAddress() {
38 | return address;
39 | }
40 |
41 | public void setAddress(String address) {
42 | this.address = address;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2019 chyanwu
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/el.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.el = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var el = {
8 | code: "el",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Προηγούμενος",
15 | next: "Επόμενος",
16 | today: "Σήμερα",
17 | month: "Μήνας",
18 | week: "Εβδομάδα",
19 | day: "Ημέρα",
20 | list: "Ατζέντα"
21 | },
22 | weekLabel: "Εβδ",
23 | allDayText: "Ολοήμερο",
24 | eventLimitText: "περισσότερα",
25 | noEventsMessage: "Δεν υπάρχουν γεγονότα για να εμφανιστεί"
26 | };
27 |
28 | return el;
29 |
30 | }));
31 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/daygrid/main.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | FullCalendar Day Grid Plugin v4.1.0
3 | Docs & License: https://fullcalendar.io/
4 | (c) 2019 Adam Shaw
5 | */.fc-dayGridDay-view .fc-content-skeleton,.fc-dayGridWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-dayGrid-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid{overflow:hidden}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-dayGrid-view .fc-day-number,.fc-dayGrid-view .fc-week-number{padding:2px}.fc-dayGrid-view th.fc-day-number,.fc-dayGrid-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-dayGrid-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-dayGrid-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-dayGrid-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-dayGrid-view td.fc-week-number{text-align:center}.fc-dayGrid-view td.fc-week-number>*{display:inline-block;min-width:1.25em}
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/cs.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.cs = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var cs = {
8 | code: "cs",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Dříve",
15 | next: "Později",
16 | today: "Nyní",
17 | month: "Měsíc",
18 | week: "Týden",
19 | day: "Den",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Týd",
23 | allDayText: "Celý den",
24 | eventLimitText: function (n) {
25 | return "+další: " + n;
26 | },
27 | noEventsMessage: "Žádné akce k zobrazení"
28 | };
29 |
30 | return cs;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/kk.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.kk = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var kk = {
8 | code: "kk",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Алдыңғы",
15 | next: "Келесі",
16 | today: "Бүгін",
17 | month: "Ай",
18 | week: "Апта",
19 | day: "Күн",
20 | list: "Күн тәртібі"
21 | },
22 | weekLabel: "Не",
23 | allDayText: "Күні бойы",
24 | eventLimitText: function (n) {
25 | return "+ тағы " + n;
26 | },
27 | noEventsMessage: "Көрсету үшін оқиғалар жоқ"
28 | };
29 |
30 | return kk;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/lv.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.lv = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var lv = {
8 | code: "lv",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Iepr.",
15 | next: "Nāk.",
16 | today: "Šodien",
17 | month: "Mēnesis",
18 | week: "Nedēļa",
19 | day: "Diena",
20 | list: "Dienas kārtība"
21 | },
22 | weekLabel: "Ned.",
23 | allDayText: "Visu dienu",
24 | eventLimitText: function (n) {
25 | return "+vēl " + n;
26 | },
27 | noEventsMessage: "Nav notikumu"
28 | };
29 |
30 | return lv;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sr.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sr = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var sr = {
8 | code: "sr",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Prethodna",
15 | next: "Sledeći",
16 | today: "Danas",
17 | month: "Mеsеc",
18 | week: "Nеdеlja",
19 | day: "Dan",
20 | list: "Planеr"
21 | },
22 | weekLabel: "Sed",
23 | allDayText: "Cеo dan",
24 | eventLimitText: function (n) {
25 | return "+ još " + n;
26 | },
27 | noEventsMessage: "Nеma događaja za prikaz"
28 | };
29 |
30 | return sr;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/et.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.et = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var et = {
8 | code: "et",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Eelnev",
15 | next: "Järgnev",
16 | today: "Täna",
17 | month: "Kuu",
18 | week: "Nädal",
19 | day: "Päev",
20 | list: "Päevakord"
21 | },
22 | weekLabel: "näd",
23 | allDayText: "Kogu päev",
24 | eventLimitText: function (n) {
25 | return "+ veel " + n;
26 | },
27 | noEventsMessage: "Kuvamiseks puuduvad sündmused"
28 | };
29 |
30 | return et;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/fr.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fr = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var fr = {
8 | code: "fr",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Précédent",
15 | next: "Suivant",
16 | today: "Aujourd'hui",
17 | year: "Année",
18 | month: "Mois",
19 | week: "Semaine",
20 | day: "Jour",
21 | list: "Mon planning"
22 | },
23 | weekLabel: "Sem.",
24 | allDayHtml: "Toute la
journée",
25 | eventLimitText: "en plus",
26 | noEventsMessage: "Aucun événement à afficher"
27 | };
28 |
29 | return fr;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/hi.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hi = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var hi = {
8 | code: "hi",
9 | week: {
10 | dow: 0,
11 | doy: 6 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "पिछला",
15 | next: "अगला",
16 | today: "आज",
17 | month: "महीना",
18 | week: "सप्ताह",
19 | day: "दिन",
20 | list: "कार्यसूची"
21 | },
22 | weekLabel: "हफ्ता",
23 | allDayText: "सभी दिन",
24 | eventLimitText: function (n) {
25 | return "+अधिक " + n;
26 | },
27 | noEventsMessage: "कोई घटनाओं को प्रदर्शित करने के लिए"
28 | };
29 |
30 | return hi;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/hr.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hr = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var hr = {
8 | code: "hr",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Prijašnji",
15 | next: "Sljedeći",
16 | today: "Danas",
17 | month: "Mjesec",
18 | week: "Tjedan",
19 | day: "Dan",
20 | list: "Raspored"
21 | },
22 | weekLabel: "Tje",
23 | allDayText: "Cijeli dan",
24 | eventLimitText: function (n) {
25 | return "+ još " + n;
26 | },
27 | noEventsMessage: "Nema događaja za prikaz"
28 | };
29 |
30 | return hr;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ru.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ru = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ru = {
8 | code: "ru",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Пред",
15 | next: "След",
16 | today: "Сегодня",
17 | month: "Месяц",
18 | week: "Неделя",
19 | day: "День",
20 | list: "Повестка дня"
21 | },
22 | weekLabel: "Нед",
23 | allDayText: "Весь день",
24 | eventLimitText: function (n) {
25 | return "+ ещё " + n;
26 | },
27 | noEventsMessage: "Нет событий для отображения"
28 | };
29 |
30 | return ru;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/vi.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.vi = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var vi = {
8 | code: "vi",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Trước",
15 | next: "Tiếp",
16 | today: "Hôm nay",
17 | month: "Tháng",
18 | week: "Tuần",
19 | day: "Ngày",
20 | list: "Lịch biểu"
21 | },
22 | weekLabel: "Tu",
23 | allDayText: "Cả ngày",
24 | eventLimitText: function (n) {
25 | return "+ thêm " + n;
26 | },
27 | noEventsMessage: "Không có sự kiện để hiển thị"
28 | };
29 |
30 | return vi;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/importutil/ErpSFamilyMemberMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/bs.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bs = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var bs = {
8 | code: "bs",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Prošli",
15 | next: "Sljedeći",
16 | today: "Danas",
17 | month: "Mjesec",
18 | week: "Sedmica",
19 | day: "Dan",
20 | list: "Raspored"
21 | },
22 | weekLabel: "Sed",
23 | allDayText: "Cijeli dan",
24 | eventLimitText: function (n) {
25 | return "+ još " + n;
26 | },
27 | noEventsMessage: "Nema događaja za prikazivanje"
28 | };
29 |
30 | return bs;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/fa.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fa = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var fa = {
8 | code: "fa",
9 | week: {
10 | dow: 6,
11 | doy: 12 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | dir: 'rtl',
14 | buttonText: {
15 | prev: "قبلی",
16 | next: "بعدی",
17 | today: "امروز",
18 | month: "ماه",
19 | week: "هفته",
20 | day: "روز",
21 | list: "برنامه"
22 | },
23 | weekLabel: "هف",
24 | allDayText: "تمام روز",
25 | eventLimitText: function (n) {
26 | return "بیش از " + n;
27 | },
28 | noEventsMessage: "هیچ رویدادی به نمایش"
29 | };
30 |
31 | return fa;
32 |
33 | }));
34 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sq.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sq = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var sq = {
8 | code: "sq",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "mbrapa",
15 | next: "Përpara",
16 | today: "sot",
17 | month: "Muaj",
18 | week: "Javë",
19 | day: "Ditë",
20 | list: "Listë"
21 | },
22 | weekLabel: "Ja",
23 | allDayHtml: "Gjithë
ditën",
24 | eventLimitText: function (n) {
25 | return "+më tepër " + n;
26 | },
27 | noEventsMessage: "Nuk ka evente për të shfaqur"
28 | };
29 |
30 | return sq;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/fr-ch.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ch'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var frCh = {
8 | code: "fr-ch",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Précédent",
15 | next: "Suivant",
16 | today: "Courant",
17 | year: "Année",
18 | month: "Mois",
19 | week: "Semaine",
20 | day: "Jour",
21 | list: "Mon planning"
22 | },
23 | weekLabel: "Sm",
24 | allDayHtml: "Toute la
journée",
25 | eventLimitText: "en plus",
26 | noEventsMessage: "Aucun événement à afficher"
27 | };
28 |
29 | return frCh;
30 |
31 | }));
32 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ro.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ro = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ro = {
8 | code: "ro",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "precedentă",
15 | next: "următoare",
16 | today: "Azi",
17 | month: "Lună",
18 | week: "Săptămână",
19 | day: "Zi",
20 | list: "Agendă"
21 | },
22 | weekLabel: "Săpt",
23 | allDayText: "Toată ziua",
24 | eventLimitText: function (n) {
25 | return "+alte " + n;
26 | },
27 | noEventsMessage: "Nu există evenimente de afișat"
28 | };
29 |
30 | return ro;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sk.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.sk = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var sk = {
8 | code: "sk",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Predchádzajúci",
15 | next: "Nasledujúci",
16 | today: "Dnes",
17 | month: "Mesiac",
18 | week: "Týždeň",
19 | day: "Deň",
20 | list: "Rozvrh"
21 | },
22 | weekLabel: "Ty",
23 | allDayText: "Celý deň",
24 | eventLimitText: function (n) {
25 | return "+ďalšie: " + n;
26 | },
27 | noEventsMessage: "Žiadne akcie na zobrazenie"
28 | };
29 |
30 | return sk;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/it.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.it = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var it = {
8 | code: "it",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Prec",
15 | next: "Succ",
16 | today: "Oggi",
17 | month: "Mese",
18 | week: "Settimana",
19 | day: "Giorno",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Sm",
23 | allDayHtml: "Tutto il
giorno",
24 | eventLimitText: function (n) {
25 | return "+altri " + n;
26 | },
27 | noEventsMessage: "Non ci sono eventi da visualizzare"
28 | };
29 |
30 | return it;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/sr-cyrl.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['sr-cyrl'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var srCyrl = {
8 | code: "sr-cyrl",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Претходна",
15 | next: "следећи",
16 | today: "Данас",
17 | month: "Месец",
18 | week: "Недеља",
19 | day: "Дан",
20 | list: "Планер"
21 | },
22 | weekLabel: "Сед",
23 | allDayText: "Цео дан",
24 | eventLimitText: function (n) {
25 | return "+ још " + n;
26 | },
27 | noEventsMessage: "Нема догађаја за приказ"
28 | };
29 |
30 | return srCyrl;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/uk.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.uk = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var uk = {
8 | code: "uk",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Попередній",
15 | next: "далі",
16 | today: "Сьогодні",
17 | month: "Місяць",
18 | week: "Тиждень",
19 | day: "День",
20 | list: "Порядок денний"
21 | },
22 | weekLabel: "Тиж",
23 | allDayText: "Увесь день",
24 | eventLimitText: function (n) {
25 | return "+ще " + n + "...";
26 | },
27 | noEventsMessage: "Немає подій для відображення"
28 | };
29 |
30 | return uk;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/ms.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ms = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var ms = {
8 | code: "ms",
9 | week: {
10 | dow: 1,
11 | doy: 7 // The week that contains Jan 1st is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Sebelum",
15 | next: "Selepas",
16 | today: "hari ini",
17 | month: "Bulan",
18 | week: "Minggu",
19 | day: "Hari",
20 | list: "Agenda"
21 | },
22 | weekLabel: "Mg",
23 | allDayText: "Sepanjang hari",
24 | eventLimitText: function (n) {
25 | return "masih ada " + n + " acara";
26 | },
27 | noEventsMessage: "Tiada peristiwa untuk dipaparkan"
28 | };
29 |
30 | return ms;
31 |
32 | }));
33 |
--------------------------------------------------------------------------------
/src/main/java/template/xmlTemplate.vm:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | #foreach ( $item in ${columns})
6 | #set($iskey=false)
7 | #foreach($key in $primaryKeys)
8 | #if( $item.column == $key )
9 | #set($iskey=true)
10 |
11 | #end
12 | #end
13 | #end
14 |
15 | #foreach ( $item in ${columns})
16 | #set($iskey=false)
17 | #foreach($key in $primaryKeys)
18 | #if( $item.column == $key )
19 | #set($iskey=true)
20 | #end
21 | #end
22 | #if($iskey ==false)
23 |
24 | #end
25 | #end
26 |
27 |
28 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/de.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.de = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var de = {
8 | code: "de",
9 | week: {
10 | dow: 1,
11 | doy: 4 // The week that contains Jan 4th is the first week of the year.
12 | },
13 | buttonText: {
14 | prev: "Zurück",
15 | next: "Vor",
16 | today: "Heute",
17 | year: "Jahr",
18 | month: "Monat",
19 | week: "Woche",
20 | day: "Tag",
21 | list: "Terminübersicht"
22 | },
23 | weekLabel: "KW",
24 | allDayText: "Ganztägig",
25 | eventLimitText: function (n) {
26 | return "+ weitere " + n;
27 | },
28 | noEventsMessage: "Keine Ereignisse anzuzeigen"
29 | };
30 |
31 | return de;
32 |
33 | }));
34 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/core/locales/zh-cn.js:
--------------------------------------------------------------------------------
1 | (function (global, factory) {
2 | typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 | typeof define === 'function' && define.amd ? define(factory) :
4 | (global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['zh-cn'] = factory()));
5 | }(this, function () { 'use strict';
6 |
7 | var zhCn = {
8 | code: "zh-cn",
9 | week: {
10 | // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
11 | dow: 1,
12 | doy: 4 // The week that contains Jan 4th is the first week of the year.
13 | },
14 | buttonText: {
15 | prev: "上月",
16 | next: "下月",
17 | today: "今天",
18 | month: "月",
19 | week: "周",
20 | day: "日",
21 | list: "日程"
22 | },
23 | weekLabel: "周",
24 | allDayText: "全天",
25 | eventLimitText: function (n) {
26 | return "另外 " + n + " 个";
27 | },
28 | noEventsMessage: "没有事件显示"
29 | };
30 |
31 | return zhCn;
32 |
33 | }));
34 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/rbac/ErpRoleMenuServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleMenu;
4 | import com.chenyanwu.erp.erpframework.dao.rbac.ErpRoleMenuMapper;
5 | import com.chenyanwu.erp.erpframework.service.rbac.ErpRoleMenuService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | import java.util.List;
11 |
12 | /**
13 | *
14 | * 服务实现类
15 | *
16 | *
17 | * @author chenyanwu
18 | * @date 2019-02-27 17:04:18
19 | */
20 | @Service
21 | public class ErpRoleMenuServiceImpl extends BaseServiceImpl
22 | implements ErpRoleMenuService {
23 |
24 | @Autowired
25 | private ErpRoleMenuMapper erprolemenuMapper;
26 |
27 | @Autowired
28 | public void setMapper() {
29 | super.setMapper(erprolemenuMapper);
30 | }
31 |
32 | @Override
33 | public int insertList(List extends ErpRoleMenu> var1) {
34 | return erprolemenuMapper.insertList(var1);
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/lay/modules/code.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.4.5 MIT License By https://www.layui.com */
2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('- '+o.replace(/[\r\t\n]+/g,"
- ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend(''+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"
");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/upload/WaterMarkImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.upload;
2 |
3 | import com.chenyanwu.erp.erpframework.service.upload.WaterMarkTemplate;
4 |
5 | import java.awt.*;
6 |
7 | /**
8 | * @ClassName WaterMarkImpl
9 | * @Description 在图片上添加水印
10 | * @Author chenyanwu
11 | * @Date 2018/12/17 12:26
12 | * @Version 1.0
13 | */
14 | public class WaterMarkImpl extends WaterMarkTemplate {
15 | @Override
16 | public void drawString(String text, int width, int height, Graphics2D graphics2D) {
17 | String markText = WATER_MARK;
18 | if(!"".equals(text)) {
19 | markText = text;
20 | }
21 | //计算文字水印的宽高
22 | int fontW = FONT_SIZE * getTextLength(markText);
23 | int fontH = FONT_SIZE;
24 |
25 | int widthDiff = width - fontW;
26 | int heightDiff = height - fontH;
27 |
28 | int x = X;
29 | int y= Y;
30 |
31 | if(x>widthDiff){
32 | x = widthDiff;
33 | }
34 | if (y>heightDiff){
35 | y = heightDiff;
36 | }
37 | // 将水印文字绘制到画板
38 | graphics2D.drawString(markText, x, y + FONT_SIZE);
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/list/main.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | FullCalendar List View Plugin v4.1.0
3 | Docs & License: https://fullcalendar.io/
4 | (c) 2019 Adam Shaw
5 | */.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee}
--------------------------------------------------------------------------------
/src/main/resources/templates/upload/uploadphoto.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | videoPlay
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/main/resources/templates/home/index.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/main/resources/templates/upload/uploadvideo.ftl:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | videoPlay
6 |
7 |
8 |
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/calendar/ErpRoomMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/util/JsonUtil.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common.util;
2 |
3 | import com.fasterxml.jackson.core.JsonFactory;
4 | import com.fasterxml.jackson.core.JsonGenerator;
5 | import com.fasterxml.jackson.databind.ObjectMapper;
6 |
7 | import java.io.StringWriter;
8 |
9 | /**
10 | * @Auther: chenyanwu
11 | * @Date: 2019/2/22 12:54
12 | * @Description:
13 | * @Version 1.0
14 | */
15 | public class JsonUtil {
16 | private static ObjectMapper mapper;
17 |
18 | static {
19 | mapper=SpringContextHolder.getBean(ObjectMapper.class);
20 | }
21 | public static String bean2Json(Object obj) {
22 | try {
23 | StringWriter sw = new StringWriter();
24 | JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
25 |
26 |
27 | mapper.writeValue(gen, obj);
28 | gen.close();
29 |
30 | return sw.toString();
31 | }catch (Exception e){
32 | return null;
33 | }
34 |
35 | }
36 |
37 | public static T json2Bean(String jsonStr, Class objClass) {
38 | try {
39 | return mapper.readValue(jsonStr, objClass);
40 | }
41 | catch (Exception e){
42 | return null;
43 | }
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/rbac/ErpUserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpUser;
4 | import com.chenyanwu.erp.erpframework.dao.rbac.ErpUserMapper;
5 | import com.chenyanwu.erp.erpframework.service.rbac.ErpUserService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | import java.util.List;
11 |
12 | /**
13 | *
14 | * 服务实现类
15 | *
16 | *
17 | * @author chenyanwu
18 | * @date 2019-02-27 11:14:41
19 | */
20 | @Service("erpUserService")
21 | public class ErpUserServiceImpl extends BaseServiceImpl
22 | implements ErpUserService {
23 |
24 | @Autowired
25 | private ErpUserMapper erpuserMapper;
26 |
27 | @Autowired
28 | public void setMapper() {
29 | super.setMapper(erpuserMapper);
30 | }
31 |
32 | @Override
33 | public List selectByExample(Object var1) {
34 | return erpuserMapper.selectByExample(var1);
35 | }
36 |
37 | @Override
38 | public ErpUser findUserByLoginName(String loginName) {
39 | return erpuserMapper.findUserByLoginName(loginName);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/controller/calendar/CalendarController.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.controller.calendar;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.calendar.ErpRoom;
4 | import com.chenyanwu.erp.erpframework.service.calendar.ErpRoomService;
5 | import javafx.collections.MapChangeListener;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Controller;
8 | import org.springframework.web.bind.annotation.GetMapping;
9 | import org.springframework.web.bind.annotation.RequestMapping;
10 | import org.springframework.web.servlet.ModelAndView;
11 |
12 | import java.util.HashMap;
13 | import java.util.List;
14 | import java.util.Map;
15 |
16 | /**
17 | * @Auther: chenyanwu
18 | * @Date: 2019/5/15 09:19
19 | * @Description:
20 | * @Version 1.0
21 | */
22 | @Controller
23 | @RequestMapping("/calendar")
24 | public class CalendarController {
25 |
26 | @Autowired
27 | ErpRoomService roomService;
28 |
29 | @GetMapping("/index")
30 | public ModelAndView index(ModelAndView modelAndView) {
31 | List list = roomService.selectAll();
32 | Map> map = new HashMap<>();
33 | map.put("roomList", list);
34 | modelAndView.addAllObjects(map);
35 | return modelAndView;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/rbac/ErpRoleUserServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRoleUser;
4 | import com.chenyanwu.erp.erpframework.dao.rbac.ErpRoleUserMapper;
5 | import com.chenyanwu.erp.erpframework.service.rbac.ErpRoleUserService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 |
10 | import java.util.List;
11 |
12 | /**
13 | *
14 | * 服务实现类
15 | *
16 | *
17 | * @author chenyanwu
18 | * @date 2019-02-27 17:28:29
19 | */
20 | @Service
21 | public class ErpRoleUserServiceImpl extends BaseServiceImpl
22 | implements ErpRoleUserService {
23 |
24 | @Autowired
25 | private ErpRoleUserMapper erproleuserMapper;
26 |
27 | @Autowired
28 | public void setMapper() {
29 | super.setMapper(erproleuserMapper);
30 | }
31 |
32 | @Override
33 | public List selectByExample(Object var1) {
34 | return erproleuserMapper.selectByExample(var1);
35 | }
36 |
37 | @Override
38 | public int insertList(List extends ErpRoleUser> var1) {
39 | return erproleuserMapper.insertList(var1);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/rbac/ErpRoleServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpRole;
4 | import com.chenyanwu.erp.erpframework.dao.rbac.ErpRoleMapper;
5 | import com.chenyanwu.erp.erpframework.service.rbac.ErpRoleService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.slf4j.Logger;
8 | import org.slf4j.LoggerFactory;
9 | import org.springframework.stereotype.Service;
10 | import org.springframework.beans.factory.annotation.Autowired;
11 |
12 | import java.util.List;
13 |
14 | /**
15 | *
16 | * 服务实现类
17 | *
18 | *
19 | * @author chenyanwu
20 | * @date 2019-02-21 17:39:55
21 | */
22 | @Service
23 | public class ErpRoleServiceImpl extends BaseServiceImpl
24 | implements ErpRoleService {
25 |
26 | private final Logger logger = LoggerFactory.getLogger(ErpRoleServiceImpl.class);
27 |
28 | @Autowired
29 | private ErpRoleMapper erproleMapper;
30 |
31 | @Autowired
32 | public void setMapper() {
33 | super.setMapper(erproleMapper);
34 | }
35 |
36 | @Override
37 | public List selectByExample(Object var1) {
38 | logger.info("当前的条件值为:[{}]" + var1);
39 | return erproleMapper.selectByExample(var1);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/PageResultBean.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common;
2 |
3 | /**
4 | * @ClassName PageResultBean
5 | * @Description TODO
6 | * @Author chenyanwu
7 | * @Date 2019/1/15 16:36
8 | * @Version 1.0
9 | */
10 | public class PageResultBean extends ResultBean {
11 | private int pageNum;
12 | private int pageSize;
13 | private long total;
14 |
15 | public PageResultBean() {
16 | }
17 |
18 | /**
19 | * total的值需要自己给根据实际数据设置
20 | *
21 | * @param data
22 | * @param pageNum
23 | * @param pageSize
24 | */
25 | public PageResultBean(T data, int pageNum, int pageSize, long total) {
26 | super(data);
27 | this.pageNum = pageNum;
28 | this.pageSize = pageSize;
29 | this.total = total;
30 | }
31 |
32 | public int getPageNum() {
33 | return pageNum;
34 | }
35 |
36 | public void setPageNum(int pageNum) {
37 | this.pageNum = pageNum;
38 | }
39 |
40 | public int getPageSize() {
41 | return pageSize;
42 | }
43 |
44 | public void setPageSize(int pageSize) {
45 | this.pageSize = pageSize;
46 | }
47 |
48 | public long getTotal() {
49 | return total;
50 | }
51 |
52 | public void setTotal(long total) {
53 | this.total = total;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/vo/CalendarTaskVo.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.vo;
2 |
3 | import java.util.Map;
4 |
5 | /**
6 | * @Auther: chenyanwu
7 | * @Date: 2019/5/16 17:54
8 | * @Description:
9 | * @Version 1.0
10 | */
11 | public class CalendarTaskVo {
12 | private String title;
13 | private String start;
14 | private String end;
15 | private String id;
16 | private Map extendedProps;
17 |
18 | public String getTitle() {
19 | return title;
20 | }
21 |
22 | public void setTitle(String title) {
23 | this.title = title;
24 | }
25 |
26 | public String getStart() {
27 | return start;
28 | }
29 |
30 | public void setStart(String start) {
31 | this.start = start;
32 | }
33 |
34 | public String getEnd() {
35 | return end;
36 | }
37 |
38 | public void setEnd(String end) {
39 | this.end = end;
40 | }
41 |
42 | public String getId() {
43 | return id;
44 | }
45 |
46 | public void setId(String id) {
47 | this.id = id;
48 | }
49 |
50 | public Map getExtendedProps() {
51 | return extendedProps;
52 | }
53 |
54 | public void setExtendedProps(Map extendedProps) {
55 | this.extendedProps = extendedProps;
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/vo/ShowMenu.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.vo;
2 |
3 |
4 | import java.util.List;
5 |
6 | public class ShowMenu {
7 | private String id;
8 | private String pid;
9 | private String title;
10 | private String icon;
11 | private String href;
12 | private List children;
13 |
14 | public String getId() {
15 | return id;
16 | }
17 |
18 | public void setId(String id) {
19 | this.id = id;
20 | }
21 |
22 | public String getPid() {
23 | return pid;
24 | }
25 |
26 | public void setPid(String pid) {
27 | this.pid = pid;
28 | }
29 |
30 | public String getHref() {
31 | return href;
32 | }
33 |
34 | public void setHref(String href) {
35 | this.href = href;
36 | }
37 |
38 | public String getIcon() {
39 | return icon;
40 | }
41 |
42 | public void setIcon(String icon) {
43 | this.icon = icon;
44 | }
45 |
46 | public String getTitle() {
47 | return title;
48 | }
49 |
50 | public void setTitle(String title) {
51 | this.title = title;
52 | }
53 |
54 | public List getChildren() {
55 | return children;
56 | }
57 |
58 | public void setChildren(List children) {
59 | this.children = children;
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/exception/BusinessException.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.exception;
2 |
3 |
4 | /**
5 | * Created by wd on 2016-7-20.
6 | */
7 | //业务异常,异常里的信息为友好信息,可以直接展示给用户查看,例如登录时提示“用户名不存在或密码错误”
8 | public class BusinessException extends RuntimeException{
9 | private String errCode;
10 | private Object data;
11 |
12 | public BusinessException(String errCode, String errMsg){
13 | super(errMsg);
14 | this.errCode = errCode;
15 | }
16 |
17 | public BusinessException(MsgContentStruct errEntity){
18 | super(errEntity.Value());
19 |
20 | this.errCode = errEntity.Key();
21 | }
22 |
23 | public BusinessException(MsgContentStruct errEntity, Object... paras){
24 | super(errEntity.FormatValue(paras));
25 |
26 | this.errCode = errEntity.Key();
27 | }
28 |
29 | public BusinessException(String errCode, String errMsg, Object data){
30 | super(errMsg);
31 | this.errCode = errCode;
32 | this.data = data;
33 | }
34 |
35 | public String getErrCode() {
36 | return errCode;
37 | }
38 |
39 | public void setErrCode(String errCode) {
40 | this.errCode = errCode;
41 | }
42 |
43 | public Object getData() {
44 | return data;
45 | }
46 |
47 | public void setData(Object data) {
48 | this.data = data;
49 | }
50 | }
--------------------------------------------------------------------------------
/src/main/resources/mapper/importutil/ErpStudentExcelMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | delete from erp_student_excel
20 | where id in
21 |
22 | #{erpStudentExcel.id}
23 |
24 |
25 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/rbac/ErpRoleMenu.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.rbac;
2 | import javax.persistence.*;
3 | import java.io.Serializable;
4 | import javax.validation.constraints.NotNull;
5 | import org.hibernate.validator.constraints.Length;
6 | import com.chenyanwu.erp.erpframework.entity.BaseEntity;
7 |
8 |
9 | /**
10 | *
11 | *
12 | *
13 | *
14 | *
15 | *
16 | * @author chenyanwu
17 | * @date 2019-02-27 17:04:18
18 | * @version
19 | */
20 | @Table(name = "erp_role_menu")
21 | public class ErpRoleMenu implements Serializable {
22 |
23 | /**
24 | * 角色ID
25 | */
26 | @Length(max=32,message="角色ID 长度不能超过32")
27 | @Column(name = "role_id")
28 | private String roleId;
29 | /**
30 | * 菜单ID
31 | */
32 | @Length(max=32,message="菜单ID 长度不能超过32")
33 | @Column(name = "menu_id")
34 | private String menuId;
35 |
36 |
37 | public String getRoleId() {
38 | return roleId;
39 | }
40 |
41 | public void setRoleId(String roleId) {
42 | this.roleId = roleId;
43 | }
44 |
45 |
46 | public String getMenuId() {
47 | return menuId;
48 | }
49 |
50 | public void setMenuId(String menuId) {
51 | this.menuId = menuId;
52 | }
53 |
54 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/rbac/ErpRoleUser.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.rbac;
2 | import javax.persistence.*;
3 | import java.io.Serializable;
4 | import javax.validation.constraints.NotNull;
5 | import org.hibernate.validator.constraints.Length;
6 | import com.chenyanwu.erp.erpframework.entity.BaseEntity;
7 |
8 |
9 | /**
10 | *
11 | *
12 | *
13 | *
14 | *
15 | *
16 | * @author chenyanwu
17 | * @date 2019-02-27 17:28:29
18 | * @version
19 | */
20 | @Table(name = "erp_role_user")
21 | public class ErpRoleUser implements Serializable {
22 |
23 | /**
24 | * 角色ID
25 | */
26 | @Length(max=32,message="角色ID 长度不能超过32")
27 | @Column(name = "role_id")
28 | private String roleId;
29 | /**
30 | * 用户ID
31 | */
32 | @Length(max=32,message="用户ID 长度不能超过32")
33 | @Column(name = "user_id")
34 | private String userId;
35 |
36 |
37 | public String getRoleId() {
38 | return roleId;
39 | }
40 |
41 | public void setRoleId(String roleId) {
42 | this.roleId = roleId;
43 | }
44 |
45 |
46 | public String getUserId() {
47 | return userId;
48 | }
49 |
50 | public void setUserId(String userId) {
51 | this.userId = userId;
52 | }
53 |
54 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/rbac/ErpRole.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity.rbac;
2 | import javax.persistence.*;
3 | import java.io.Serializable;
4 | import javax.validation.constraints.NotNull;
5 | import org.hibernate.validator.constraints.Length;
6 | import com.chenyanwu.erp.erpframework.entity.BaseEntity;
7 | import java.util.Date;
8 |
9 |
10 | /**
11 | *
12 | *
13 | *
14 | *
15 | *
16 | *
17 | * @author chenyanwu
18 | * @date 2019-02-21 17:39:55
19 | * @version
20 | */
21 | @Table(name = "erp_role")
22 | public class ErpRole extends BaseEntity implements Serializable {
23 |
24 | /**
25 | * 角色名称
26 | */
27 | @Length(max=40,message="角色名称 长度不能超过40")
28 | @Column(name = "name")
29 | private String name;
30 | /**
31 | * 备注
32 | */
33 | @Length(max=255,message="备注 长度不能超过255")
34 | @Column(name = "comment")
35 | private String comment;
36 |
37 |
38 | public String getName() {
39 | return name;
40 | }
41 |
42 | public void setName(String name) {
43 | this.name = name;
44 | }
45 |
46 |
47 | public String getComment() {
48 | return comment;
49 | }
50 |
51 | public void setComment(String comment) {
52 | this.comment = comment;
53 | }
54 |
55 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/log/ErpLogServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.log;
2 |
3 | import com.chenyanwu.erp.erpframework.annotation.Log;
4 | import com.chenyanwu.erp.erpframework.entity.log.ErpLog;
5 | import com.chenyanwu.erp.erpframework.dao.log.ErpLogMapper;
6 | import com.chenyanwu.erp.erpframework.service.log.ErpLogService;
7 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
8 | import org.springframework.stereotype.Service;
9 | import org.springframework.beans.factory.annotation.Autowired;
10 |
11 | import java.util.List;
12 |
13 | /**
14 | *
15 | * 服务实现类
16 | *
17 | *
18 | * @author chenyanwu
19 | * @date 2019-05-06 15:29:27
20 | */
21 | @Service
22 | public class ErpLogServiceImpl extends BaseServiceImpl
23 | implements ErpLogService {
24 |
25 | @Autowired
26 | private ErpLogMapper erplogMapper;
27 |
28 | @Autowired
29 | public void setMapper() {
30 | super.setMapper(erplogMapper);
31 | }
32 |
33 | @Override
34 | public List selectByExample(Object var1) {
35 | return erplogMapper.selectByExample(var1);
36 | }
37 |
38 | @Override
39 | public Integer softDeleteByID(String id) {
40 | ErpLog erpLog = erplogMapper.selectByPrimaryKey(id);
41 | erpLog.setIsDeleted(1);
42 | return erplogMapper.updateByPrimaryKey(erpLog);
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/exception/MsgContentStruct.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.exception;
2 |
3 | import com.chenyanwu.erp.erpframework.common.util.SpringContextHolder;
4 | import org.springframework.context.MessageSource;
5 | import org.springframework.context.i18n.LocaleContextHolder;
6 |
7 | import java.util.Locale;
8 |
9 | /**
10 | * Created by wd on 2016-7-20.
11 | */
12 | public class MsgContentStruct {
13 | private String key;
14 | private String value ;
15 |
16 | private static MessageSource messageSource= SpringContextHolder.getBean(MessageSource.class);
17 |
18 | public MsgContentStruct(String key, String value){
19 | this.key = key;
20 | this.value = value;
21 | }
22 |
23 | public String Key() {
24 | return key;
25 | }
26 |
27 | public String Value() {
28 | //默认采用的是acceptheaderLocaleResolver,检查http头的accept_language
29 | Locale locale1= LocaleContextHolder.getLocale();
30 | if(locale1!=null){//如果指定了国际化
31 | this.value=messageSource.getMessage(key,null,locale1);
32 | }
33 | return this.value;
34 | }
35 |
36 | public String FormatValue(Object... paras){
37 | //默认采用的是acceptheaderLocaleResolver,检查http头的accept_language
38 | Locale locale1= LocaleContextHolder.getLocale();
39 | if(locale1!=null){//如果指定了国际化
40 | this.value=messageSource.getMessage(key,null,locale1);
41 | }
42 |
43 | return String.format(value, paras);
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/rbac/ErpRoleMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/src/main/resources/mapper/calendar/ErpCalendarTaskMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
26 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/util/StringUtils.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common.util;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/2/22 12:53
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class StringUtils {
10 |
11 | public static boolean isNullOrEmpty(String s) {
12 | return s == null || "".equals(s);
13 | }
14 |
15 | public static boolean isBlank(CharSequence cs) {
16 | int strLen;
17 | if (cs != null && (strLen = cs.length()) != 0) {
18 | for(int i = 0; i < strLen; ++i) {
19 | if (!Character.isWhitespace(cs.charAt(i))) {
20 | return false;
21 | }
22 | }
23 |
24 | return true;
25 | } else {
26 | return true;
27 | }
28 | }
29 |
30 | public static boolean isNotBlank(CharSequence cs) {
31 | return !isBlank(cs);
32 | }
33 |
34 | /**
35 | * 是否包含字符串
36 | *
37 | * @param str 验证字符串
38 | * @param strs 字符串组
39 | * @return 包含返回true
40 | */
41 | public static boolean inStringIgnoreCase(String str, String... strs) {
42 | if (str != null && strs != null) {
43 | for (String s : strs) {
44 | if (str.equalsIgnoreCase(trim(s))) {
45 | return true;
46 | }
47 | }
48 | }
49 | return false;
50 | }
51 |
52 | /**
53 | * 去空格
54 | */
55 | public static String trim(String str) {
56 | return (str == null ? "" : str.trim());
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/config/Config.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.config;
2 |
3 | import com.alibaba.druid.pool.DruidDataSource;
4 | import org.springframework.boot.web.servlet.MultipartConfigFactory;
5 | import org.springframework.context.annotation.Bean;
6 | import org.springframework.context.annotation.ComponentScan;
7 | import org.springframework.context.annotation.Configuration;
8 |
9 | import javax.servlet.MultipartConfigElement;
10 | import javax.sql.DataSource;
11 |
12 | /**
13 | * @ClassName Config
14 | * @Description TODO
15 | * @Author chenyanwu
16 | * @Date 2019/1/15 18:43
17 | * @Version 1.0
18 | */
19 | @Configuration
20 | @ComponentScan(basePackages = {"com.chenyanwu.erp.erpframework"})
21 | public class Config {
22 | // @Bean
23 | // public DataSource dataSource() {
24 | // DruidDataSource druidDataSource = new DruidDataSource();
25 | // druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
26 | // druidDataSource.setUrl("jdbc:mysql://127.0.0.1:3306/erp-framework?useUnicode=true&characterEncoding=utf8");
27 | // druidDataSource.setUsername("root");
28 | // druidDataSource.setPassword("mysql");
29 | // return druidDataSource;
30 | // }
31 |
32 | @Bean
33 | public MultipartConfigElement multipartConfigElement() {
34 | MultipartConfigFactory factory = new MultipartConfigFactory();
35 | // 单个数据大小
36 | factory.setMaxFileSize("102400KB");
37 | /// 总上传数据大小
38 | factory.setMaxRequestSize("512000KB");
39 | return factory.createMultipartConfig();
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/src/main/resources/static/plugins/frame/js/fsButtonCommon.js:
--------------------------------------------------------------------------------
1 | /*
2 | * fsLayui - A Front-end Rapid Development Framework.
3 | * Copyright (C) 2017-2019 wueasy.com
4 |
5 | * This program is free software: you can redistribute it and/or modify
6 | * it under the terms of the GNU Affero General Public License as published
7 | * by the Free Software Foundation, either version 3 of the License, or
8 | * (at your option) any later version.
9 |
10 | * This program is distributed in the hope that it will be useful,
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 | * GNU Affero General Public License for more details.
14 |
15 | * You should have received a copy of the GNU Affero General Public License
16 | * along with this program. If not, see .
17 | */
18 | /**
19 | * 按钮拓展配置
20 | * @author: fallsea
21 | * @version 2.3.0
22 | */
23 | layui.define(['fsConfig'], function (exports) {
24 |
25 | var fsConfig = layui.fsConfig,
26 | statusName = $.result(fsConfig,"global.result.statusName","errorNo"),
27 | msgName = $.result(fsConfig,"global.result.msgName","errorInfo"),
28 | dataName = $.result(fsConfig,"global.result.dataName","results.data"),
29 | successNo = $.result(fsConfig,"global.result.successNo","0"),
30 | FsButtonCommon = function (){
31 |
32 | };
33 |
34 |
35 | FsButtonCommon.prototype.test = function(elem,data,datagrid,fsCommon){
36 | alert("测试自定义按钮"+JSON.stringify(data));
37 | }
38 |
39 | var fsButtonCommon = new FsButtonCommon();
40 | exports('fsButtonCommon', fsButtonCommon);
41 | });
42 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/importutil/ErpSFamilyMemberServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.importutil.ErpSFamilyMember;
4 | import com.chenyanwu.erp.erpframework.dao.importutil.ErpSFamilyMemberMapper;
5 | import com.chenyanwu.erp.erpframework.service.importutil.ErpSFamilyMemberService;
6 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
7 | import org.springframework.stereotype.Service;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import tk.mybatis.mapper.entity.Example;
10 |
11 | import java.util.List;
12 |
13 | /**
14 | *
15 | * 服务实现类
16 | *
17 | *
18 | * @author chenyanwu
19 | * @date 2019-04-29 11:37:43
20 | */
21 | @Service
22 | public class ErpSFamilyMemberServiceImpl extends BaseServiceImpl
23 | implements ErpSFamilyMemberService {
24 |
25 | @Autowired
26 | private ErpSFamilyMemberMapper erpsfamilymemberMapper;
27 |
28 | @Autowired
29 | public void setMapper() {
30 | super.setMapper(erpsfamilymemberMapper);
31 | }
32 |
33 | @Override
34 | public List findFamilyMemberByStuId(String stuId) {
35 | Example example = new Example(ErpSFamilyMember.class);
36 | example.createCriteria().andEqualTo("studId", stuId);
37 | return erpsfamilymemberMapper.selectByExample(example);
38 | }
39 |
40 | @Override
41 | public int insertList(List list) {
42 | return erpsfamilymemberMapper.insertList(list);
43 | }
44 |
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/codegenerator/model/DictItem.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common.codegenerator.model;
2 |
3 | /**
4 | * @ClassName DictItem
5 | * @Description TODO
6 | * @Author chenyanwu
7 | * @Date 2019/1/14 17:22
8 | * @Version 1.0
9 | */
10 | public class DictItem {
11 | private String dictId;
12 | private String dictCode;
13 | private String dictText;
14 | private int itemSort;
15 | private String itemText;
16 | private String itemValue;
17 |
18 | public String getDictId() {
19 | return dictId;
20 | }
21 |
22 | public void setDictId(String dictId) {
23 | this.dictId = dictId;
24 | }
25 |
26 | public String getDictCode() {
27 | return dictCode;
28 | }
29 |
30 | public void setDictCode(String dictCode) {
31 | this.dictCode = dictCode;
32 | }
33 |
34 | public String getDictText() {
35 | return dictText;
36 | }
37 |
38 | public void setDictText(String dictText) {
39 | this.dictText = dictText;
40 | }
41 |
42 | public int getItemSort() {
43 | return itemSort;
44 | }
45 |
46 | public void setItemSort(int itemSort) {
47 | this.itemSort = itemSort;
48 | }
49 |
50 | public String getItemText() {
51 | return itemText;
52 | }
53 |
54 | public void setItemText(String itemText) {
55 | this.itemText = itemText;
56 | }
57 |
58 | public String getItemValue() {
59 | return itemValue;
60 | }
61 |
62 | public void setItemValue(String itemValue) {
63 | this.itemValue = itemValue;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/codegenerator/core/BeanUtils.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common.codegenerator.core;
2 |
3 | import java.lang.reflect.Field;
4 | import java.util.HashMap;
5 | import java.util.Map;
6 |
7 | /**
8 | * @ClassName BeanUtils
9 | * @Description TODO
10 | * @Author chenyanwu
11 | * @Date 2019/1/15 9:37
12 | * @Version 1.0
13 | */
14 | public class BeanUtils {
15 |
16 | public static Map getValueMap(Object obj) {
17 |
18 | Map map = new HashMap();
19 | // System.out.println(obj.getClass());
20 | // 获取f对象对应类中的所有属性域
21 | Field[] fields = obj.getClass().getDeclaredFields();
22 | for (int i = 0, len = fields.length; i < len; i++) {
23 | String varName = fields[i].getName();
24 | try {
25 | // 获取原来的访问控制权限
26 | boolean accessFlag = fields[i].isAccessible();
27 | // 修改访问控制权限
28 | fields[i].setAccessible(true);
29 | // 获取在对象f中属性fields[i]对应的对象中的变量
30 | Object o = fields[i].get(obj);
31 | if (o != null) {
32 | map.put(varName, o);
33 | }
34 | // System.out.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
35 | // 恢复访问控制权限
36 | fields[i].setAccessible(accessFlag);
37 | } catch (IllegalArgumentException ex) {
38 | ex.printStackTrace();
39 | } catch (IllegalAccessException ex) {
40 | ex.printStackTrace();
41 | }
42 | }
43 | return map;
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/src/main/resources/static/fullcalendar/moment/main.min.js:
--------------------------------------------------------------------------------
1 | /*!
2 | FullCalendar Moment Plugin v4.1.0
3 | Docs & License: https://fullcalendar.io/
4 | (c) 2019 Adam Shaw
5 | */
6 | !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("moment"),require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","moment","@fullcalendar/core"],t):(e=e||self,t(e.FullCalendarMoment={},e.moment,e.FullCalendar))}(this,function(e,t,n){"use strict";function r(e,t){if(!(t instanceof n.Calendar))throw new Error("must supply a Calendar instance");return u(e,t.dateEnv.timeZone,null,t.dateEnv.locale.codes[0])}function a(e){return t.duration(e)}function o(e,t){var n=i(e);if(t.end){var r=u(t.start.array,t.timeZone,t.start.timeZoneOffset,t.localeCodes[0]),a=u(t.end.array,t.timeZone,t.end.timeZoneOffset,t.localeCodes[0]);return d(n,l(r),l(a),t.separator)}return u(t.date.array,t.timeZone,t.date.timeZoneOffset,t.localeCodes[0]).format(n.whole)}function l(e){return function(t){return t?e.format(t):""}}function u(e,n,r,a){var o;return"local"===n?o=t(e):"UTC"===n?o=t.utc(e):t.tz?o=t.tz(e,n):(o=t.utc(e),null!=r&&o.utcOffset(r)),o.locale(a),o}function i(e){var t=e.match(/^(.*?)\{(.*)\}(.*)$/);if(t){var n=i(t[2]);return{head:t[1],middle:n,tail:t[3],whole:t[1]+n.whole+t[3]}}return{head:null,middle:null,tail:null,whole:e}}function d(e,t,n,r){if(e.middle){var a=t(e.head),o=d(e.middle,t,n,r),l=t(e.tail),u=n(e.head),i=d(e.middle,t,n,r),f=n(e.tail);if(a===u&&l===f)return a+(o===i?o:o+r+i)+l}return t(e.whole)+r+n(e.whole)}t=t&&t.hasOwnProperty("default")?t.default:t;var f=n.createPlugin({cmdFormatter:o});e.default=f,e.toDuration=a,e.toMoment=r,Object.defineProperty(e,"__esModule",{value:!0})});
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/tagsinput/jquery.tagsinput-revisited.min.css:
--------------------------------------------------------------------------------
1 | .tagsinput,.tagsinput *{box-sizing:border-box}.tagsinput{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;background:#fff;font-family:sans-serif;font-size:14px;line-height:20px;color:#556270;padding:5px 5px 0;border:1px solid #e6e6e6;border-radius:2px}.tagsinput.focus{border-color:#ccc}.tagsinput .tag{position:relative;background:#556270;display:block;max-width:100%;word-wrap:break-word;color:#fff;padding:5px 30px 5px 5px;border-radius:2px;margin:0 5px 5px 0}.tagsinput .tag .tag-remove{position:absolute;background:0 0;display:block;width:30px;height:30px;top:0;right:0;cursor:pointer;text-decoration:none;text-align:center;color:#ff6b6b;line-height:30px;padding:0;border:0}.tagsinput .tag .tag-remove:after,.tagsinput .tag .tag-remove:before{background:#ff6b6b;position:absolute;display:block;width:10px;height:2px;top:14px;left:10px;content:''}.tagsinput .tag .tag-remove:before{-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.tagsinput .tag .tag-remove:after{-webkit-transform:rotateZ(-45deg);transform:rotateZ(-45deg)}.tagsinput div{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tagsinput div input{background:0 0;display:block;width:100%;font-size:14px;line-height:20px;padding:5px;border:0;margin:0 5px 5px 0}.tagsinput div input.error{color:#ff6b6b}.tagsinput div input::-ms-clear{display:none}.tagsinput div input::-webkit-input-placeholder{color:#ccc;opacity:1}.tagsinput div input:-moz-placeholder{color:#ccc;opacity:1}.tagsinput div input::-moz-placeholder{color:#ccc;opacity:1}.tagsinput div input:-ms-input-placeholder{color:#ccc;opacity:1}
--------------------------------------------------------------------------------
/src/main/java/template/beanTemplate.vm:
--------------------------------------------------------------------------------
1 | package ${entityPackage};
2 | import javax.persistence.*;
3 | import java.io.Serializable;
4 | import javax.validation.constraints.NotNull;
5 | import org.hibernate.validator.constraints.Length;
6 | import com.chenyanwu.erp.erpframework.entity.BaseEntity;
7 | #if (${hasDate})
8 | import java.util.Date;
9 | #end
10 |
11 | #if (${hasBigdecimal})
12 |
13 | import java.math.BigDecimal;
14 | #end
15 |
16 | /**
17 | *
18 | *
19 | *${remark}
20 | *
21 | *
22 | *
23 | * @author ${author}
24 | * @date ${dateTime}
25 | * @version
26 | */
27 | @Table(name = "${tableName}")
28 | public class ${beanName} extends BaseEntity implements Serializable {
29 |
30 | #foreach ($item in $columns)
31 | #if (!${baseColumns.contains($item.lowerProperty)})
32 | #if (${item.remark} && ${item.remark}!='' )
33 | /**
34 | * ${item.remark}
35 | */
36 | #end
37 | #if ( ${item.type} == "String" )
38 | @Length(max=${item.maxLength},message="${item.remark} 长度不能超过${item.maxLength}")
39 | #end
40 | #if ( ${item.allowNull} == false )
41 | @NotNull(message = "${item.column} not allow null")
42 | #end
43 | @Column(name = "${item.column}")
44 | private ${item.type} ${item.lowerProperty};
45 | #end
46 | #end
47 |
48 | #foreach ($item in $columns)
49 | #if (!${baseColumns.contains($item.lowerProperty)})
50 |
51 | public ${item.type} get${item.property}() {
52 | return ${item.lowerProperty};
53 | }
54 |
55 | public void set${item.property}(${item.type} ${item.lowerProperty}) {
56 | this.${item.lowerProperty} = ${item.lowerProperty};
57 | }
58 |
59 | #end
60 | #end
61 | }
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/config/CaptchaFormAuthenticationFilter.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.config;
2 |
3 | import org.apache.shiro.authc.AuthenticationToken;
4 | import org.apache.shiro.subject.Subject;
5 | import org.apache.shiro.web.filter.authc.FormAuthenticationFilter;
6 |
7 | import javax.servlet.ServletRequest;
8 | import javax.servlet.ServletResponse;
9 | import javax.servlet.http.HttpServletRequest;
10 | import javax.servlet.http.HttpServletResponse;
11 |
12 | /**
13 | * @Auther: chenyanwu
14 | * @Date: 2019/3/10 00:42
15 | * @Description:
16 | * @Version 1.0
17 | */
18 | public class CaptchaFormAuthenticationFilter extends FormAuthenticationFilter {
19 | /**
20 | * 覆盖默认实现,用sendRedirect直接跳出框架,以免造成js框架重复加载js出错。
21 | *
22 | * @param token
23 | * @param subject
24 | * @param request
25 | * @param response
26 | * @return
27 | * @throws Exception
28 | * @see FormAuthenticationFilter#onLoginSuccess(AuthenticationToken, org.apache.shiro.subject.Subject, ServletRequest, ServletResponse)
29 | */
30 | @Override
31 | protected boolean onLoginSuccess(AuthenticationToken token, Subject subject, ServletRequest request, ServletResponse response) throws Exception {
32 | //issueSuccessRedirect(request, response);
33 | //we handled the success redirect directly, prevent the chain from continuing:
34 | HttpServletRequest httpServletRequest = (HttpServletRequest) request;
35 | HttpServletResponse httpServletResponse = (HttpServletResponse) response;
36 | httpServletResponse.sendRedirect(httpServletRequest.getContextPath() + this.getSuccessUrl());
37 |
38 | return true;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/common/util/DateConverter.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.common.util;
2 |
3 | import org.apache.commons.lang.StringUtils;
4 | import org.springframework.core.convert.converter.Converter;
5 |
6 | import java.text.SimpleDateFormat;
7 | import java.util.Date;
8 |
9 | /**
10 | * @Auther: chenyanwu
11 | * @Date: 2019/2/27 22:54
12 | * @Description:
13 | * @Version 1.0
14 | */
15 | public class DateConverter implements Converter {
16 | private static final String dateFormat = "yyyy-MM-dd HH:mm:ss";
17 | private static final String shortDateFormat = "yyyy-MM-dd";
18 |
19 | /**
20 | * @see Converter#convert(Object)
21 | */
22 | @Override
23 | public Date convert(String source) {
24 | if (StringUtils.isBlank(source)) {
25 | return null;
26 | }
27 | source = source.trim();
28 | try {
29 | if (source.contains("-")) {
30 | SimpleDateFormat formatter;
31 | if (source.contains(":")) {
32 | formatter = new SimpleDateFormat(dateFormat);
33 | } else {
34 | formatter = new SimpleDateFormat(shortDateFormat);
35 | }
36 | Date dtDate = formatter.parse(source);
37 | return dtDate;
38 | } else if (source.matches("^\\d+$")) {
39 | Long lDate = new Long(source);
40 | return new Date(lDate);
41 | }
42 | } catch (Exception e) {
43 | throw new RuntimeException(String.format("parser %s to Date fail", source));
44 | }
45 | throw new RuntimeException(String.format("parser %s to Date fail", source));
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/FastDFSFile.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity;
2 |
3 | /**
4 | * @Auther: chenyanwu
5 | * @Date: 2019/5/10 16:28
6 | * @Description:
7 | * @Version 1.0
8 | */
9 | public class FastDFSFile {
10 | private String name;
11 |
12 | private byte[] content;
13 |
14 | private String ext;
15 |
16 | private String md5;
17 |
18 | private String author;
19 |
20 | public FastDFSFile(String name, byte[] content, String ext, String height,
21 | String width, String author) {
22 | super();
23 | this.name = name;
24 | this.content = content;
25 | this.ext = ext;
26 | this.author = author;
27 | }
28 |
29 | public FastDFSFile(String name, byte[] content, String ext) {
30 | super();
31 | this.name = name;
32 | this.content = content;
33 | this.ext = ext;
34 |
35 | }
36 |
37 | public String getName() {
38 | return name;
39 | }
40 |
41 | public void setName(String name) {
42 | this.name = name;
43 | }
44 |
45 | public byte[] getContent() {
46 | return content;
47 | }
48 |
49 | public void setContent(byte[] content) {
50 | this.content = content;
51 | }
52 |
53 | public String getExt() {
54 | return ext;
55 | }
56 |
57 | public void setExt(String ext) {
58 | this.ext = ext;
59 | }
60 |
61 | public String getMd5() {
62 | return md5;
63 | }
64 |
65 | public void setMd5(String md5) {
66 | this.md5 = md5;
67 | }
68 |
69 | public String getAuthor() {
70 | return author;
71 | }
72 |
73 | public void setAuthor(String author) {
74 | this.author = author;
75 | }
76 | }
77 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # erp-framework
2 |
3 | erp-framework是一个基于在Springboot框架上的开箱即用的管理平台,目的为了简化构建平台的繁杂过程,让大家直接能够基于在此结构上直接开发或者扩展。
4 |
5 | **QQ交流群:1023992012**
6 | **登录用户/密码: admin/1**
7 |
8 | 1、代码更新日志
9 |
10 | **2019年1月15日**
11 | 主要完成了代码生成工具,目的是完成基本的增删改查功能,无需重复复制代码
12 |
13 | **2019年2月3日**
14 | 调整对应的代码功能,使用Mybatis-Plus实现代码的生成功能,同时实现权限功能,优化Swagger代码独立于一个module中。
15 |
16 | **2019年3月6日**
17 | 重新调整框架的目录结构,实现权限管理功能界面的开发
18 |
19 | **2019年4月4日**
20 | 集成shiro,实现用户登录权限管理
21 |
22 | **2019年4月26日~2019年4月28日**
23 | 使用fork/join来实现数据的导入功能
24 |
25 | **2019年5月5日~2019年5月13日**
26 | 实现pdf预览,基于Webupload和FastDFS的文件上传
27 |
28 | 2、技术选型
29 |
30 | 后端技术:
31 |
32 | 技术 | 名称 | 官网
33 | ------------ | ------------- | -------------
34 | SpringBoot | 容器框架 |
35 | freemarker | 模板引擎 |
36 | velocity | 模板引擎 |
37 | tk.mybatis | ORM框架 |
38 | Mybatis-plus | ORM框架和代码生成 |
39 | Lombok | setter和getter |
40 | mysql-connector-java | 连接驱动 |
41 | druid | 数据库连接池 |
42 | pagehelper | 分页插件 |
43 | swagger2 | 接口测试框架 | https://swagger.io/
44 | Jackson-databind | 对象与json相互转换 |
45 | Apache Shiro | 权限控制 |
46 | hutool | 工具类 |
47 | Shiro-redis | 缓存 |
48 | Easypoi | Excel导入导出工具 |
49 | Itextpdf | PDF预览 |
50 | FastDFS | 分布式文件系统 |
51 |
52 | 前端技术:
53 |
54 | 技术 | 名称 | 官网
55 | ------------ | ------------- | -------------
56 | Layui | |
57 | Webuploader | 文件上传 |
58 |
59 | 3、目录结构
60 |
61 | 
62 |
63 | 4、简单功能界面
64 | 
65 | 
66 | 
67 | 
68 | 
69 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/BaseServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl;
2 |
3 | import com.chenyanwu.erp.erpframework.service.BaseService;
4 | import org.springframework.transaction.annotation.Transactional;
5 | import tk.mybatis.mapper.common.Mapper;
6 |
7 | import java.util.List;
8 |
9 | /**
10 | * @ClassName BaseServiceImpl
11 | * @Description TODO
12 | * @Author chenyanwu
13 | * @Date 2019/1/15 15:33
14 | * @Version 1.0
15 | */
16 | public class BaseServiceImpl implements BaseService {
17 |
18 | protected Mapper mapper;
19 |
20 | public void setMapper(Mapper mapper) {
21 | this.mapper = mapper;
22 | }
23 |
24 | @Override
25 | @Transactional
26 | public int insertSelective(T t) {
27 | return mapper.insertSelective(t);
28 | }
29 |
30 | @Override
31 | @Transactional
32 | public int delete(T t) {
33 | return mapper.delete(t);
34 | }
35 |
36 | @Override
37 | @Transactional
38 | public int deleteByPrimaryKey(Id id) {
39 | return mapper.deleteByPrimaryKey(id);
40 | }
41 |
42 | @Override
43 | public int deleteByExample(Object o) {
44 | return mapper.deleteByExample(o);
45 | }
46 |
47 |
48 | @Override
49 | @Transactional
50 | public int updateByPrimaryKey(T t) {
51 | return mapper.updateByPrimaryKey(t);
52 | }
53 |
54 | @Override
55 | public int updateByPrimaryKeySelective(T t) {
56 | return mapper.updateByPrimaryKeySelective(t);
57 | }
58 |
59 | @Override
60 | public T selectByPrimaryKey(Id id) {
61 | return mapper.selectByPrimaryKey(id);
62 | }
63 |
64 | @Override
65 | public List selectAll() {
66 | return mapper.selectAll();
67 | }
68 | }
69 |
--------------------------------------------------------------------------------
/src/main/resources/static/assets/libs/layui/lay/modules/laytpl.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.4.5 MIT License By https://www.layui.com */
2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/importutil/ImportTask.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.importutil;
2 |
3 | import com.chenyanwu.erp.erpframework.common.Constants;
4 | import com.chenyanwu.erp.erpframework.common.util.SpringContextHolder;
5 | import com.chenyanwu.erp.erpframework.service.importutil.ImportTemplate;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Component;
8 |
9 | import java.util.List;
10 | import java.util.concurrent.RecursiveTask;
11 |
12 | /**
13 | * @Auther: chenyanwu
14 | * @Date: 2019/4/28 12:23
15 | * @Description:
16 | * @Version 1.0
17 | */
18 | @Component
19 | public class ImportTask extends RecursiveTask {
20 |
21 | @Autowired
22 | private ImportTemplate importTemplate;
23 |
24 | private List list;
25 | private int fromIndex;
26 | private int toIndex;
27 |
28 | public ImportTask() {
29 |
30 | }
31 |
32 | public ImportTask(List list, int fromIndex, int toIndex) {
33 | this.list = list;
34 | this.fromIndex = fromIndex;
35 | this.toIndex = toIndex;
36 | }
37 |
38 | @Override
39 | protected Integer compute() {
40 | if(toIndex - fromIndex < Constants.THRESHOLD) {
41 | if(importTemplate == null) {
42 | importTemplate = SpringContextHolder.getBean("erpStudentServiceImpl");
43 | }
44 | return (Integer) importTemplate.importDataReturn(list, fromIndex, toIndex);
45 | } else {
46 | int mid = (fromIndex + toIndex) / 2;
47 | ImportTask left = new ImportTask(list, fromIndex, mid);
48 | ImportTask right = new ImportTask(list, mid+1, toIndex);
49 | invokeAll(left, right);
50 | return left.join() + right.join();
51 | }
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/entity/MySysUser.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.entity;
2 |
3 | import com.chenyanwu.erp.erpframework.common.util.JsonUtil;
4 | import com.chenyanwu.erp.erpframework.config.MyShiroRealm;
5 | import org.apache.shiro.SecurityUtils;
6 |
7 | /**
8 | * @Auther: chenyanwu
9 | * @Date: 2019/3/8 16:54
10 | * @Description:
11 | * @Version 1.0
12 | */
13 | public class MySysUser {
14 | /**
15 | * 取出Shiro中的当前用户LoginName.
16 | */
17 | public static String icon() {
18 | return ShiroUser().getIcon();
19 | }
20 |
21 | public static String id() {
22 | return ShiroUser().getId();
23 | }
24 |
25 | public static String loginName() {
26 | return ShiroUser().getLoginName();
27 | }
28 |
29 | public static String name(){
30 | return ShiroUser().getName();
31 | }
32 |
33 | public static MyShiroRealm.ShiroUser ShiroUser() {
34 | MyShiroRealm.ShiroUser user= (MyShiroRealm.ShiroUser) SecurityUtils.getSubject().getPrincipal();
35 | return user;
36 |
37 | /**
38 | * 这个方式解决了拦截时候,从SecurityUtils.getSubject().getPrincipal()获取的对象为null,而强行转换而报错,但是返回的数据导致拦截器return false,而不能继续执行
39 | * 目前验证码显示不出来,从而问题依旧没有解决
40 | */
41 | // Object obj = SecurityUtils.getSubject().getPrincipal();
42 | // MyShiroRealm.ShiroUser user = new MyShiroRealm.ShiroUser();
43 | // if(obj==null){
44 | // return new MyShiroRealm.ShiroUser();
45 | // }
46 | //
47 | // if(obj instanceof MyShiroRealm.ShiroUser) {
48 | // user = (MyShiroRealm.ShiroUser) obj;
49 | // } else {
50 | // System.out.print(obj.getClass()+"1111");
51 | // user = JsonUtil.json2Bean(JsonUtil.bean2Json(obj), MyShiroRealm.ShiroUser.class);
52 | // }
53 | // return user;
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/main/java/com/chenyanwu/erp/erpframework/service/impl/rbac/ErpMenuServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.chenyanwu.erp.erpframework.service.impl.rbac;
2 |
3 | import com.chenyanwu.erp.erpframework.entity.dtree.DtreeResponse;
4 | import com.chenyanwu.erp.erpframework.entity.rbac.ErpMenu;
5 | import com.chenyanwu.erp.erpframework.dao.rbac.ErpMenuMapper;
6 | import com.chenyanwu.erp.erpframework.entity.vo.ShowMenu;
7 | import com.chenyanwu.erp.erpframework.service.dtree.DtreeService;
8 | import com.chenyanwu.erp.erpframework.service.rbac.ErpMenuService;
9 | import com.chenyanwu.erp.erpframework.service.impl.BaseServiceImpl;
10 | import org.springframework.stereotype.Service;
11 | import org.springframework.beans.factory.annotation.Autowired;
12 |
13 | import net.sf.json.JSONObject;
14 |
15 | import java.util.HashMap;
16 | import java.util.List;
17 | import java.util.Map;
18 |
19 | /**
20 | *
21 | * 服务实现类
22 | *
23 | *
24 | * @author chenyanwu
25 | * @date 2019-02-27 11:15:03
26 | */
27 | @Service
28 | public class ErpMenuServiceImpl extends BaseServiceImpl
29 | implements ErpMenuService {
30 |
31 | @Autowired
32 | private ErpMenuMapper erpmenuMapper;
33 |
34 | @Autowired
35 | private DtreeService dtreeService;
36 |
37 | @Autowired
38 | public void setMapper() {
39 | super.setMapper(erpmenuMapper);
40 | }
41 |
42 | @Override
43 | public String getTreeMenuList(String roleId) {
44 | DtreeResponse response = dtreeService.getMenuDtreeResponse(roleId);
45 | JSONObject obj = JSONObject.fromObject(response);
46 | return obj.toString();
47 | }
48 |
49 | @Override
50 | public List getShowMenuByUser(String id) {
51 | Map map = new HashMap();
52 | map.put("userId", id);
53 | map.put("parentId", "0");
54 | return erpmenuMapper.selectShowMenuByUser(map);
55 | }
56 | }
57 |
--------------------------------------------------------------------------------