diff --git a/.gitignore b/.gitignore index 2c0e049aa912dea2d08c6ce523673d19230d6581..19c1a8f04ebdfb8a9d6de03b382e9aacbca673d7 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,5 @@ nbdist/ !*/build/*.java !*/build/*.html !*/build/*.xml + +ruoyi/uploadPath/ diff --git a/doc/development.md b/doc/development.md new file mode 100644 index 0000000000000000000000000000000000000000..f96ff7ac13da1c68978dab45fade18fe1d9d8a0c --- /dev/null +++ b/doc/development.md @@ -0,0 +1,161 @@ +# 配餐功能说明 +- 功能说明: +记录病患营养配餐会诊结果,并通过配餐页面设置在病患每日报餐的依据 +- 数据结构 +独立单表,记录病患营养配餐情况 +* 数据说明 + 病患id、正餐类型(早午晚,夜间加餐)、配餐号、配餐频次、用法、 + 是否替代正餐、作废标志、更新日期、更新人 + * 对应创建营养配餐日志表,用于记录修改的历史情况 + - 界面设计 + 1. 搜索栏:住院号、姓名、科室、床号、作废标志 + 2. 功能栏: 添加、删除、作废、每日简报、记录表、拷贝并新增、拷贝、粘贴 + 3. 数据栏:科室、姓名、床号、餐号、频次、用法、时间、更新人、早午晚、描述 + + - 功能设计 + 1. 新增会诊记录 + - 选择科室、找到病人 + - 选择餐号、用法 + - 多选早午晚加,自动生成频次,频次可以手动修改 + 2. 拷贝并新增 + - 选择列表中某个记录 + - 选择“拷贝并新增”按钮 + - 选择列的数据填充到新增弹出层表格中 + - 操作员选择科室、病人,确认后,产生新营养配餐记录 + 3. 拷贝功能 + - 选择列表中任意一个记录 + - 点击“拷贝”按钮后,按钮文字变成“批量粘贴” + - 选择多个除拷贝的数据列病患记录外的其他病患记录 + - 点击“批量粘贴”,其他被选择的病患记录更新为拷贝列一样的营养配餐数据 + 3. 作废按钮 + - 可以多选,多个病患营养配餐数据设置为作废状态,有需要的时候,可以恢复 + 4. 签领单下载 + - 导出签领单格式的excel + - 数据格式以病患为单位的单日统计表,列出空项目,用于签名 + - 统计项:餐数、单项汇总早午晚加的数据 + - 合计汇总; 总人数、餐数、科室分类统计 + - 可选择一周内多日导出 + + # 收费结算功能 + 1. 开票挂账 + - 列表所有已结算病患结算单 + - 列表后方设置快捷开票按钮,只针对当前结算单开票 + - 选择按钮“开票”,选择病人,列出该病患所有可开票结算单 + - 选择可多选对应的结算单,列出待开发票汇总金额 + 点击“开票” + - 输入单位信息、发票信息 + - 选择开票,记录开票信息 + - 选择挂账, 记录挂账信息 + 2. 对应数据结构 + - id、发票单位、发票id、日期、开票人、收款方式、应收、实收、凭证列表 + 3. 收费窗口日常收费 + - 选择病患信息 + - 输入结算日期、实收金额 + - 确认后,提示现金收款、在线支付 + 3. 开票挂账逻辑 + - 功能说明;记录开票后收款的信息,并记录汇款情况和总体情况 + - 先开票后收款:单位、病患姓名、金额、对应的结算记录、应收、实收 + - 查看未收款情况 + - 记录回款情况:回款日期、金额、余额、凭证list + - 确认后,更新发票收款状态、结算单状态 + 4. 集体多人挂账方式 + - 功能说明:记录合作机构长期滚动结算的信息 + - 先新增合作单位 + - 为合作单位绑定结算相关的病患信息 + - 可以生成结算单(按月结算) + - 结算挂账记录 + - 回款历史清单 + - 统计 + - 记录方式:用报餐表记录流水,结算单记录个人或多人的汇总 + - 数据格式:添加字段:个人/多人标志 多人list、收款方式:现金、在线支付、银行转账 + 5. 操作 + - 选择合作单位 + - 列出该单位所有对象未结算金额 + - 可以对任意对象生成月结单或出院结算单 + - 汇总金额后,输入开票信息 + - 相关统计:历史发票、历史回款流水 + +# 前端:员工报餐 +## 功能说明: +- 配置多种模式,适应不同的场景 + - 记账模式 + - 说明: + 针对公司包餐的形式,或者是,先记录后结算的模式,员工只需要报餐和用餐登记即可 + - 补贴模式 + - 说明: + 公司承担部分餐费,餐费以补贴形式发到员工账上,用于用餐消费 + - 销售模式 + - 说明: + 员工用餐完全自费,可在价格上优惠的模式,食堂独立经营 +- 记账模式设计 + - 以仁爱为例 + - 界面设计 + - tabbar:首页、订单、个人、login + - 首页 + - 第一栏:姓名、现在正在用餐、用餐时间、余额 + - 第二栏;当前订单 + - 第三栏;当前菜品 + - 第四栏;一周菜谱 + - 第五栏:订餐区 + - 一周日历 + - 早午晚复选框 + - 根据报餐模式显示: + - 自动模式;停餐 + - 手动模式:报餐 + - 订单 + - 显示所有有效订单 + - 点击订单显示详情和二维码,下方有取消订单按钮 + - 个人 + - 显示个人信息 + - 余额信息 + - 当前订餐模式配置 + - 退出登录按钮 +- 前端接口api清单: + - 获取用餐时间;getDinnerTimeSetting + - 获取当天订单详情;getOrderOfToday + - 获取每周菜谱:getWeekMenu + - 获取有效订单列表;getAvailableOrder + - 发送订餐订单信息;PostOrder + - 获取二维码:getQrcode + - 获取当前订餐模式配置信息;getConfiguration + - 更新当前配置:postConfiguration + - 登录/登出:login / logout + - 获取工作日/节假日信息:getWorkday / getHoliday + - 获取菜品信息:getProduct + - 获取其他商品信息:getOtherProduct + - 生成购物订单;postProductOrder + - 取消当前订单; postCurrentOrder + - 请求停餐/恢复:postStopOrder / postRestoreOrder + +- 后端:定时任务生成员工订餐逻辑 + - 系统配置表: + - 数据库格式:id、企业id、config_key, config_value, flag + - 记账模式有效 + - 取所有自动报餐并且当天没有停餐记录的员工,生成当天报餐订单记录 + - 分别生成早午晚 + +# 前端:护工报餐功能 +## 功能说明 + - 优化:在数据表中增加订单详情描述,减少前端计算 +## UI设计 + - tabbar:科室、报餐、个人 + - 科室:显示科室清单,首选本人负责的科室 + - 报餐:列表方式显示:床号、姓名、订餐描述、营养配餐 + - 显示个人:早午晚加餐的明细 + - 快捷按钮:全天停餐、变更 + - 个人:姓名、公司、报餐科室、退出登录 + - 报餐操作 + - 选择正餐类型,复选框,可以考虑增加早午晚类型的过滤,减少显示类型 + - 选择加餐开关 + - 选择加蛋数量 + - 功能按钮 + - 更新 + - 停餐 + - 记住修改 + + + ## 问题记录 + 1. 营养配餐每小时频次怎么回事 + 2. 了解残联这种长期合作的结算方式怎样 + 3. 营养配餐记录表的要求 + 4. 营养配餐替代正餐逻辑,如果替代的话, 护工是应该无权修改正餐报餐 diff --git a/pom.xml b/pom.xml index 3d70c1cbbe8a1f0cacb9ce9f7711e839503e97c1..7af6e30fea9ffc59e9d4dab918aa5317777499e5 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ ruoyi http://www.ruoyi.vip - 若依管理系统 + 食堂管理系统 3.3.0 @@ -117,7 +117,13 @@ springfox-swagger-ui ${swagger.version} - + + + org.springframework.boot + spring-boot-devtools + + true + commons-io diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index 57b0323e3e2255500d98970589a1ab8e6aa53e07..24e40a6089afbd2ae013cbb7be55ae6de0b60a15 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -8,7 +8,7 @@ 3.3.0 4.0.0 - jar + war ruoyi-admin @@ -17,11 +17,10 @@ - org.springframework.boot - spring-boot-devtools - true + spring-boot-configuration-processor + true diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java index 3ae6f96dca74ee720a7070abcfb5904164fce17b..5c97330c035d6ca70dce13d850e11fb06de89cff 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -16,6 +16,6 @@ public class RuoYiApplication { System.setProperty("spring.devtools.restart.enabled", "false"); SpringApplication.run(RuoYiApplication.class, args); - System.out.println("(♥◠‿◠)ノ゙ 若依启动成功 ლ(´ڡ`ლ)゙"); + System.out.println("(♥◠‿◠)ノ゙ 食堂管理启动成功 ლ(´ڡ`ლ)゙"); } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java index 12737856306fcf9b73a00265681610eff094882b..ce923ad83ef59bef5c2e6bead0e39cf3eec5f495 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/SwaggerConfig.java @@ -113,7 +113,7 @@ public class SwaggerConfig // 用ApiInfoBuilder进行定制 return new ApiInfoBuilder() // 设置标题 - .title("标题:若依管理系统_接口文档") + .title("标题:食堂管理系统_接口文档") // 描述 .description("描述:用于管理集团旗下公司的人员信息,具体包括XXX,XXX模块...") // 作者信息 diff --git a/ruoyi-admin/src/main/resources/META-INF/additional-spring-configuration-metadata.json b/ruoyi-admin/src/main/resources/META-INF/additional-spring-configuration-metadata.json new file mode 100644 index 0000000000000000000000000000000000000000..0416b1b98900e8c1e9e5ec0da974d6cb4a9b0a11 --- /dev/null +++ b/ruoyi-admin/src/main/resources/META-INF/additional-spring-configuration-metadata.json @@ -0,0 +1,14 @@ +{ + "properties": [ + { + "name": "fantang.templatePath", + "type": "java.lang.String", + "description": "Description for spring.fantang.templatePath." + }, + { + "name": "fantang.fileWebUrl", + "type": "java.lang.String", + "description": "Description for spring.fantang.fileWebUrl." + } + ] +} \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml index 6d476c9cc01cb6b5da25ce0f386455501f3b7dec..f3344c30cc07295811c02f402f3869b8fd66523d 100644 --- a/ruoyi-admin/src/main/resources/application-dev.yml +++ b/ruoyi-admin/src/main/resources/application-dev.yml @@ -1,79 +1,83 @@ # 数据源配置 spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driverClassName: com.mysql.cj.jdbc.Driver - druid: - # 主库数据源 - master: - url: jdbc:mysql://192.168.0.222:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true - username: root - password: root - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: - # 初始连接数 - initialSize: 5 - # 最小连接池数量 - minIdle: 10 - # 最大连接池数量 - maxActive: 20 - # 配置获取连接等待超时的时间 - maxWait: 60000 - # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - timeBetweenEvictionRunsMillis: 60000 - # 配置一个连接在池中最小生存的时间,单位是毫秒 - minEvictableIdleTimeMillis: 300000 - # 配置一个连接在池中最大生存的时间,单位是毫秒 - maxEvictableIdleTimeMillis: 900000 - # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 设置白名单,不填则允许所有访问 - allow: - url-pattern: /druid/* - # 控制台管理用户名和密码 - login-username: - login-password: - filter: - stat: - enabled: true - # 慢SQL记录 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true - # redis 配置 - redis: - # 地址 - host: 192.168.0.222 - # 端口,默认为6379 - port: 6379 - # 数据库索引 - database: 0 - # 密码 - password: - # 连接超时时间 - timeout: 10s - lettuce: - pool: - # 连接池中的最小空闲连接 - min-idle: 0 - # 连接池中的最大空闲连接 - max-idle: 8 - # 连接池的最大数据库连接数 - max-active: 8 - # #连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms \ No newline at end of file + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql://192.168.3.95:3306/fantang_test?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: root + password: 123456 + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: true + url: jdbc:mysql://8.129.41.210:3306/kaiping?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: kaiping + password: awLjrADFYLzt2f3D + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: + login-password: + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + # redis 配置 + redis: + # 地址 + host: 127.0.0.1 + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 2 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + +fantang: + templatePath: Z:\\程序开发\\项目测试\\三院饭堂\\饭堂收费票据模板.pdf + fileWebUrl: http://127.0.0.1:9001/dev-api/ \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml index e9cf4a70c0ca5db3be47b91be8468ae03bf47e11..85d3c3e09c63d7233f9eb586374df85a973eb6d8 100644 --- a/ruoyi-admin/src/main/resources/application-prod.yml +++ b/ruoyi-admin/src/main/resources/application-prod.yml @@ -1,79 +1,84 @@ # 数据源配置 spring: - datasource: - type: com.alibaba.druid.pool.DruidDataSource - driverClassName: com.mysql.cj.jdbc.Driver - druid: - # 主库数据源 - master: - url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true - username: root - password: root - # 从库数据源 - slave: - # 从数据源开关/默认关闭 - enabled: false - url: - username: - password: - # 初始连接数 - initialSize: 5 - # 最小连接池数量 - minIdle: 10 - # 最大连接池数量 - maxActive: 20 - # 配置获取连接等待超时的时间 - maxWait: 60000 - # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 - timeBetweenEvictionRunsMillis: 60000 - # 配置一个连接在池中最小生存的时间,单位是毫秒 - minEvictableIdleTimeMillis: 300000 - # 配置一个连接在池中最大生存的时间,单位是毫秒 - maxEvictableIdleTimeMillis: 900000 - # 配置检测连接是否有效 - validationQuery: SELECT 1 FROM DUAL - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - webStatFilter: - enabled: true - statViewServlet: - enabled: true - # 设置白名单,不填则允许所有访问 - allow: - url-pattern: /druid/* - # 控制台管理用户名和密码 - login-username: - login-password: - filter: - stat: - enabled: true - # 慢SQL记录 - log-slow-sql: true - slow-sql-millis: 1000 - merge-sql: true - wall: - config: - multi-statement-allow: true - # redis 配置 - redis: - # 地址 - host: 192.168.0.222 - # 端口,默认为6379 - port: 6379 - # 数据库索引 - database: 0 - # 密码 - password: - # 连接超时时间 - timeout: 10s - lettuce: - pool: - # 连接池中的最小空闲连接 - min-idle: 0 - # 连接池中的最大空闲连接 - max-idle: 8 - # 连接池的最大数据库连接数 - max-active: 8 - # #连接池最大阻塞等待时间(使用负值表示没有限制) - max-wait: -1ms \ No newline at end of file + datasource: + type: com.alibaba.druid.pool.DruidDataSource + driverClassName: com.mysql.cj.jdbc.Driver + druid: + # 主库数据源 + master: + url: jdbc:mysql:///sanyuan?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: sanyuan + password: ZbAky8PJEksDSz42 + # 从库数据源 + slave: + # 从数据源开关/默认关闭 + enabled: true + url: jdbc:mysql://8.129.41.210:3306/kaiping?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8&autoReconnect=true + username: kaiping + password: awLjrADFYLzt2f3D + # 初始连接数 + initialSize: 5 + # 最小连接池数量 + minIdle: 10 + # 最大连接池数量 + maxActive: 20 + # 配置获取连接等待超时的时间 + maxWait: 60000 + # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 + timeBetweenEvictionRunsMillis: 60000 + # 配置一个连接在池中最小生存的时间,单位是毫秒 + minEvictableIdleTimeMillis: 300000 + # 配置一个连接在池中最大生存的时间,单位是毫秒 + maxEvictableIdleTimeMillis: 900000 + # 配置检测连接是否有效 + validationQuery: SELECT 1 FROM DUAL + testWhileIdle: true + testOnBorrow: false + testOnReturn: false + webStatFilter: + enabled: true + statViewServlet: + enabled: true + # 设置白名单,不填则允许所有访问 + allow: + url-pattern: /druid/* + # 控制台管理用户名和密码 + login-username: + login-password: + filter: + stat: + enabled: true + # 慢SQL记录 + log-slow-sql: true + slow-sql-millis: 1000 + merge-sql: true + wall: + config: + multi-statement-allow: true + # redis 配置 + redis: + # 地址 + host: 127.0.0.1 + # 端口,默认为6379 + port: 6379 + # 数据库索引 + database: 2 + # 密码 + password: + # 连接超时时间 + timeout: 10s + lettuce: + pool: + # 连接池中的最小空闲连接 + min-idle: 0 + # 连接池中的最大空闲连接 + max-idle: 8 + # 连接池的最大数据库连接数 + max-active: 8 + # #连接池最大阻塞等待时间(使用负值表示没有限制) + max-wait: -1ms + + # 饭堂配置参数 +fantang: + templatePath: /root/sanyuan/template/饭堂收费票据模板.pdf + fileWebUrl: http://8.135.81.183:8080/prod-api/ \ No newline at end of file diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 8c4b983c35a847ef1bce3946a550f73d5f785aee..512896e0c9e9c7485cd0009f4fa879b103326ed9 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -3,7 +3,7 @@ ruoyi: # 名称 name: RuoYi # 版本 - version: 3.3.0 + version: 3.2.1 # 版权年份 copyrightYear: 2020 # 实例演示开关 @@ -18,11 +18,10 @@ ruoyi: # 开发环境配置 server: # 服务器的HTTP端口,默认为8080 - port: 8080 + port: 9000 servlet: # 应用的访问路径 context-path: / - # undertow 配置 undertow: # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的 max-http-post-size: -1 @@ -35,19 +34,11 @@ server: worker-threads: 256 # 是否分配的直接内存 direct-buffers: true -# # tomcat 配置 -# tomcat: -# # tomcat的URI编码 -# uri-encoding: UTF-8 -# # tomcat最大线程数,默认为200 -# max-threads: 500 -# # Tomcat启动初始化的线程数,默认值25 -# min-spare-threads: 30 # 日志配置 logging: level: - com.ruoyi: @logging.level@ + com.ruoyi: debug org.springframework: warn # Spring配置 @@ -56,15 +47,15 @@ spring: messages: # 国际化资源文件路径 basename: i18n/messages - profiles: - active: @profiles.active@ + profiles: + active: dev # 文件上传 servlet: - multipart: - # 单个文件大小 - max-file-size: 10MB - # 设置总上传的文件大小 - max-request-size: 20MB + multipart: + # 单个文件大小 + max-file-size: 10MB + # 设置总上传的文件大小 + max-request-size: 20MB # 服务模块 devtools: restart: @@ -73,13 +64,13 @@ spring: # token配置 token: - # 令牌自定义标识 - header: Authorization - # 令牌密钥 - secret: abcdefghijklmnopqrstuvwxyz - # 令牌有效期(默认30分钟) - expireTime: 30 - + # 令牌自定义标识 + header: Authorization + # 令牌密钥 + secret: abcdefghijklmnopqrstuvwxyz + # 令牌有效期(默认30分钟) + expireTime: 30 + # MyBatis配置 # https://baomidou.com/config/ mybatis-plus: @@ -169,11 +160,11 @@ mybatis-plus: selectStrategy: NOT_NULL # PageHelper分页插件 -pagehelper: +pagehelper: helperDialect: mysql reasonable: true supportMethodsArguments: true - params: count=countSql + params: count=countSql # Swagger配置 swagger: @@ -183,7 +174,7 @@ swagger: pathMapping: /dev-api # 防止XSS攻击 -xss: +xss: # 过滤开关 enabled: true # 排除链接(多个用逗号分隔) diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java index 385439e213f694817c33da22c29af983daef4d79..d11dd534fdd61ef77e40183adcf8bb60e869f052 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java @@ -97,7 +97,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter // 过滤请求 .authorizeRequests() // 对于登录login 验证码captchaImage 允许匿名访问 - .antMatchers("/login", "/captchaImage").anonymous() + .antMatchers("/login", "/captchaImage","/client_api/**","/huiyuan/**").anonymous() .antMatchers( HttpMethod.GET, "/*.html", diff --git a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java index ded158709579161c0cecb3b6fbb10d278f7aef6a..07166f86915d285caf7c0862f4b176d3a76585d0 100644 --- a/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java +++ b/ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java @@ -211,7 +211,7 @@ public class GenUtils */ public static String replaceText(String text) { - return RegExUtils.replaceAll(text, "(?:表|若依)", ""); + return RegExUtils.replaceAll(text, "(?:表|食堂)", ""); } /** diff --git a/ruoyi-quartz/pom.xml b/ruoyi-quartz/pom.xml index a6068a62bcf54ac1ddfe7b9176172abe900e4056..46e4b8e71c8423beeb76d0269694546db6410065 100644 --- a/ruoyi-quartz/pom.xml +++ b/ruoyi-quartz/pom.xml @@ -34,6 +34,14 @@ com.ruoyi ruoyi-common + + com.ruoyi + ruoyi-system + + + com.ruoyi + ruoyi-system + diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/FtGenerateOrderTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/FtGenerateOrderTask.java new file mode 100644 index 0000000000000000000000000000000000000000..ae162fb6545df99e7c7a2f2e90f3740766d61b9b --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/FtGenerateOrderTask.java @@ -0,0 +1,64 @@ +package com.ruoyi.quartz.task; + +import com.ruoyi.system.fantang.mapper.FtReportMealVoMapper; +import com.ruoyi.system.fantang.service.impl.FtFoodDemandDaoServiceImpl; +import com.ruoyi.system.fantang.service.impl.FtOrderDaoServiceImpl; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 定时任务调度测试 + * + * @author ruoyi + */ +@Slf4j +@Component("OrderingTask") +public class FtGenerateOrderTask { + + @Autowired + private FtFoodDemandDaoServiceImpl foodDemandDaoService; + + @Autowired + private FtReportMealVoMapper reportMealVoMapper; + + @Autowired + private FtOrderDaoServiceImpl orderDaoService; + + public void GenerateOrderTask() { + System.out.println("执行生成一条病患默认订餐配置记录"); + log.info("执行生成一条病患默认订餐配置记录"); + foodDemandDaoService.GenerateOrderForNewPatient(); + } + + public void GeneratePatientTomorrowReportMeal() { + System.out.println("生成次日病患报餐记录"); + log.info("生成次日病患报餐记录"); + reportMealVoMapper.insertTomorrowReportMeal(); + } + + // 生成次日员工订餐记录 + public void GenerateStaffTomorrowOrder() { + log.info("生成次日员工订餐记录"); + orderDaoService.GenerateStaffTomorrowOrder(); + } + + // 更新用餐状态为用餐状态,用餐前提前2小时关闭报餐数据修改 + public void updateBreakfastDinnerFlag() { + log.info("更新早餐数:{}", reportMealVoMapper.updateBreakfastDinnerFlag()); + } + + // 更新用餐状态为用餐状态,用餐前提前2小时关闭报餐数据修改 + public void updateLunchDinnerFlag() { + log.info("更新午餐数:{}", reportMealVoMapper.updateLunchDinnerFlag()); + } + + // 更新用餐状态为用餐状态,用餐前提前2小时关闭报餐数据修改 + public void updateDinnerDinnerFlag() { + log.info("更新晚餐数:{}", reportMealVoMapper.updateDinnerDinnerFlag()); + + log.info("更新加餐数:{}", reportMealVoMapper.updateAdditionDinnerFlag()); + + } + +} diff --git a/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ftSyncPatientTask.java b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ftSyncPatientTask.java new file mode 100644 index 0000000000000000000000000000000000000000..ae0e3fd255cd4e07804aab642d12f6852ef052b3 --- /dev/null +++ b/ruoyi-quartz/src/main/java/com/ruoyi/quartz/task/ftSyncPatientTask.java @@ -0,0 +1,34 @@ +package com.ruoyi.quartz.task; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.system.fantang.domain.FtRemotePatientDao; +import com.ruoyi.system.fantang.mapper.FtFoodDaoMapper; +import com.ruoyi.system.fantang.mapper.FtRemotePatientDaoMapper; +import com.ruoyi.system.service.impl.SyncPatientServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.List; + +/** + * 定时任务调度测试 + * + * @author ruoyi + */ +@DataSource(value = DataSourceType.SLAVE) +@Component("SyncPatient") +public class ftSyncPatientTask { + @Autowired + private FtRemotePatientDaoMapper ftRemotePatientDaoMapper; + + @Autowired + private SyncPatientServiceImpl syncPatientService; + + public void ftGetRemotePatient() { + System.out.println("执行同步远程病患数据"); +// List list = ftRemotePatientDaoMapper.selectList(null); +// System.out.println(list); + syncPatientService.insertToLocalSync(ftRemotePatientDaoMapper.selectList(null)); + } +} diff --git a/ruoyi-system/pom.xml b/ruoyi-system/pom.xml index cddc6a3a4790b7c02b961d7242e630300d45d431..d3a4048d3ca2b9bb76d54cc740d71bcbd9228600 100644 --- a/ruoyi-system/pom.xml +++ b/ruoyi-system/pom.xml @@ -23,6 +23,20 @@ ruoyi-common + + + com.itextpdf + itextpdf + 5.5.13.2 + + + + + com.itextpdf + itext-asian + 5.2.0 + + \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerType.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerType.java new file mode 100644 index 0000000000000000000000000000000000000000..daf900680a6955f402ab2c987acbf48c05a14491 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerType.java @@ -0,0 +1,39 @@ +package com.ruoyi.system.fantang.common; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; + +import java.util.Date; + +public enum DinnerType { + breakfast, lunch, dinner, notMatch; + + /** + * 根据当前时间判断现在的就餐类型, + * @return 返回就餐类型的枚举类 + */ + public static DinnerType GetDinnerType() { + + String today = DateUtil.today(); + Date breakfastStart = DateUtil.parse(today + " 07:30"); + Date breakfastEnd = DateUtil.parse(today + " 08:30"); + + Date lunchStart = DateUtil.parse(today + " 11:30"); + Date lunchEnd = DateUtil.parse(today + " 12:30"); + + Date dinnerStart = DateUtil.parse(today + " 17:00"); + Date dinnerEnd = DateUtil.parse(today + " 18:00"); + + DateTime now = new DateTime(DateTime.now()); + if (now.isIn(breakfastStart, breakfastEnd) == true) { + return DinnerType.breakfast; + } else if (now.isIn(lunchStart, lunchEnd) == true) { + return DinnerType.lunch; + } else if (now.isIn(dinnerStart, dinnerEnd) == true){ + return DinnerType.dinner; + }else { + return DinnerType.notMatch; + } + } + + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerTypeUtils.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerTypeUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..6ed82193172a3918619baca68626b69ccbf850e8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/DinnerTypeUtils.java @@ -0,0 +1,92 @@ +package com.ruoyi.system.fantang.common; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.ruoyi.system.fantang.service.IFtConfigDaoService; +import com.ruoyi.system.fantang.service.impl.FtConfigDaoServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; + +import java.util.Date; +import java.util.Map; + +public class DinnerTypeUtils { + + public enum DinnerType { + breakfast, lunch, dinner, notMatch; + } + + public static DinnerTypeUtils instance; + + public static DinnerTypeUtils getInstance(IFtConfigDaoService configDaoService ) { + if (instance == null) { + instance = new DinnerTypeUtils(configDaoService ); + } + return instance; + } + + public void updateDinnerTypeUtils(String settings){ + String[] setting = settings.split(","); + if (setting.length != 6) { + return; + } + String today = DateUtil.today(); + this.breakfastStart = DateUtil.parse(today + " " + setting[0]); + this.breakfastEnd = DateUtil.parse(today + " " + setting[1]); + + this.lunchStart = DateUtil.parse(today + " " + setting[2]); + this.lunchEnd = DateUtil.parse(today + " " + setting[3]); + + this.dinnerStart = DateUtil.parse(today + " " + setting[4]); + this.dinnerEnd = DateUtil.parse(today + " " + setting[5]); + + } + + private Date breakfastStart; + private Date breakfastEnd; + + private Date lunchStart; + private Date lunchEnd; + + private Date dinnerStart; + private Date dinnerEnd; + + + /** + * 初始化用餐类型判断基础类,加载用餐时间参数 + * @param configDaoService + */ + private DinnerTypeUtils(IFtConfigDaoService configDaoService) { + + Map setting = configDaoService.getDinnerTimeSetting(); + String today = DateUtil.today(); + this.breakfastStart = DateUtil.parse(today + " " + setting.get("breakfastStart")); + this.breakfastEnd = DateUtil.parse(today + " " + setting.get("breakfastEnd")); + + this.lunchStart = DateUtil.parse(today + " " + setting.get("lunchStart")); + this.lunchEnd = DateUtil.parse(today + " " + setting.get("lunchEnd")); + + this.dinnerStart = DateUtil.parse(today + " " + setting.get("dinnerStart")); + this.dinnerEnd = DateUtil.parse(today + " " + setting.get("dinnerEnd")); + + } + + /** + * 根据当前时间判断现在的就餐类型, + * + * @return 返回就餐类型的枚举类 + */ + public DinnerType getDinnerType() { + + DateTime now = new DateTime(DateTime.now()); + if (now.isIn(this.breakfastStart, this.breakfastEnd)) { + return DinnerType.breakfast; + } else if (now.isIn(this.lunchStart, this.lunchEnd)) { + return DinnerType.lunch; + } else if (now.isIn(this.dinnerStart, this.dinnerEnd)) { + return DinnerType.dinner; + } else { + return DinnerType.notMatch; + } + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java new file mode 100644 index 0000000000000000000000000000000000000000..18764420dec8a3ca48d18ffa5af737a35270dabd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/common/NumberToList.java @@ -0,0 +1,173 @@ +package com.ruoyi.system.fantang.common; + +import java.util.*; + +import static org.apache.commons.lang3.StringUtils.split; + +public class NumberToList { + + public static Map convertTo(float number, String level) { + String[] str = {"fen","jiao","yuan", "shi", "bai", "qian", "wan", "shiwan", "baiwan", "qianwan"}; + Map map = new HashMap<>(); + // 最大转换20W以内的数值 + if (number >= 100000000 || number <= 0 ){ + return null; + } + long ret = (long) (number*100); + boolean flag = false; + boolean clear = false; + + for (String s : str) { + switch (s) { + case "fen": + map.put(s + level, String.valueOf(ret%10)); + if (ret < 10) { + flag = true; + } + break; + case "jiao": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 100) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10) % 10)); + } + break; + case "yuan": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 1000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100) % 10)); + } + break; + case "shi": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 10000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 1000) % 10)); + } + break; + case "bai": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 100000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10000) % 10)); + } + break; + case "qian": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 1000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100000) % 10)); + } + break; + case "wan": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 10000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 1000000) % 10)); + } + break; + case "shiwan": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 100000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 10000000) % 10)); + } + break; + case "baiwan": + if (flag){ + if (clear) { + map.put(s + level, " "); + } else { + map.put(s + level, "¥"); + clear = true; + } + } else { + if (ret < 1000000000) { + flag = true; + } + map.put(s + level, String.valueOf((ret / 100000000) % 10)); + } + break; + default: + break; + } + } + + return map; + } + + public static String convertToHan(float number) { + String[] hanNumber = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" }; + String[] han = { "佰", "拾", "万", "仟", "佰", "拾", "元", "角", "分"}; + + StringBuilder builder = new StringBuilder(); + String[] str = String.valueOf((long) (number * 100)).split(""); + int i = han.length - 1; + for (int j = str.length - 1; j >= 0 ; j--) { + builder + .append(han[i]) + .append(hanNumber[Integer.parseInt(str[j])]) + .append(" "); + i--; + } + return builder.reverse().toString(); + + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java new file mode 100644 index 0000000000000000000000000000000000000000..5e8958e3afdcc546d8e0f95eac0c76127a28b91a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientController.java @@ -0,0 +1,663 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.codec.Base64; +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.common.DinnerTypeUtils; +import com.ruoyi.system.fantang.domain.*; +import com.ruoyi.system.fantang.service.*; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Calendar; +import java.util.Date; +import java.util.List; + +@Slf4j +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/client_api/staff") +public class ClientController extends BaseController { + + @Autowired + private IFtConfigDaoService iFtConfigDaoService; + + @Autowired + private IFtStaffInfoDaoService staffInfoDaoService; + + @Autowired + private IFtStaffDemandDaoService staffDemandDaoService; + + @Autowired + private IFtOrderDaoService orderDaoService; + + @Autowired + private IFtWeekMenuDaoService weekMenuDaoService; + + @Autowired + private IFtFaceinfoDaoService faceinfoDaoService; + + @Autowired + private IFtStaffSubsidyDaoService staffSubsidyDaoService; + + @Autowired + private IFtFoodDaoService foodDaoService; + + @Autowired + private IFtOrderDaoService iFtOrderDaoService; + + @Autowired + private IFtFoodDefaultDaoService foodDefaultDaoService; + + @Autowired + private IFtStaffStopMealsDaoService staffStopMealsDaoService; + + /** + * 获取用餐时间信息 + * 日期:2020年12月11日 + * 作者:陈智兴 + * type:订餐类型 + * + * @return + */ + @GetMapping("/getDinnerTimeSetting") + public AjaxResult getDinnerTimeSetting() { + return AjaxResult.success(iFtConfigDaoService.getDinnerTimeSetting()); + } + + /** + * 获取员工当天订单信息 + * 日期:2020年12月11日 + * 作者:陈智兴 + * + * @return AjaxResult + */ + @GetMapping("/getOrderOfToday/{staffId}") + public AjaxResult getOrderOfToday(@PathVariable("staffId") Long staffId) { + return AjaxResult.success(orderDaoService.getOrderOfToday(staffId)); + } + + /** + * 获取员工某一天的订单信息 + * 日期:2020年12月11日 + * 作者:陈智兴 + *

+ * return + */ + @GetMapping("/getOrderOfDay") + public AjaxResult getOrderOfDate(@RequestParam("staffId") Long staffId, @RequestParam("orderDate") Date orderDate) { + return AjaxResult.success(orderDaoService.getOrderOfDay(staffId, orderDate)); + } + + + @GetMapping("/getWeekMenu") + public AjaxResult getWeekMenu() { + return AjaxResult.success("调用每周菜谱成功"); + } + + @GetMapping("/getAvailableOrder/{staffId}") + public AjaxResult getAvailableOrder(@PathVariable("staffId") Integer staffId) { + return AjaxResult.success(orderDaoService.getAvailableOrder(staffId)); + } + + + /** + * 获取员工停餐信息 + * 日期:2020年12月21日 + * 作者:陈智兴 + *

+ * param JSONObject staffId: 员工id + * return + */ + @PostMapping("/getAvailableStopOrder") + public AjaxResult getAvailableStopOrder(@RequestBody JSONObject params) { + return AjaxResult.success(orderDaoService.getAvailableStopOrder(params.getLong("staffId"))); + } + + + /** + * 推送订单信息 + * 日期:2020年12月11日 + * 作者:陈智兴 + *

+ * param JSONObject staffId: 员工id + * orderType:订餐类型 + * demandDate: 订餐用餐日期 + * return + */ + @PostMapping("/PostOrder") + public AjaxResult postOrder(@RequestBody JSONObject params) { + return AjaxResult.success(orderDaoService.insertOrder(params.getLong("staffId"), params.getInteger("orderType"), params.getDate("demandDate"))); + } + + /** + * 推送停餐信息 + * 日期:2020年12月21日 + * 作者:陈智兴 + *

+ * param staffId: 员工id + * type:订餐类型 + * demandDate: 订餐用餐日期 + * return -1: 已报停餐信息, 1: 停餐成功 + */ + @PostMapping("/postStopOrder") + public AjaxResult postStopOrder(@RequestBody JSONObject params) { + return AjaxResult.success(orderDaoService.stopOrder(params.getLong("staffId"), params.getInteger("orderType"), params.getDate("demandDate"))); + } + + /** + * 员工取消订餐信息 + * 日期:2020年12月21日 + * 作者:陈智兴 + *

+ * param staffId: 员工id + * type:订餐类型 + * demandDate: 订餐用餐日期 + * return -1: 已报停餐信息, 1: 停餐成功 + */ + @PostMapping("/postCancelOrder") + public AjaxResult postCancelOrder(@RequestBody JSONObject params) { + return orderDaoService.cancelOrder(params.getLong("orderId")); + } + + /** + * 推送取消停餐信息 + * 日期:2020年12月21日 + * 作者:陈智兴 + *

+ * param staffId: 员工id + * type:订餐类型 + * demandDate: 订餐用餐日期 + * return -1: 已报停餐信息, 1: 停餐成功 + */ + @PostMapping("/postCancelStopOrder") + public AjaxResult postCancelStopOrder(@RequestBody JSONObject params) { + return AjaxResult.success(orderDaoService.cancelStopOrder(params.getLong("orderId"))); + } + + // 获取配置信息 + @GetMapping("/getConfiguration/{staffId}") + public AjaxResult getConfiguration(@PathVariable("staffId") Long staffId) { + return AjaxResult.success(staffDemandDaoService.getConfiguration(staffId)); + } + + /** + * 员工登录 + * 日期:2020年12月10日 + * 作者: 陈智兴 + * 修改:首次创建 + *

+ * param { tel: 手机号码; + * password: 密码 + * } + * return 返回员工信息 + */ + @GetMapping("/login") + public AjaxResult login(String tel, String password) { + return staffInfoDaoService.login(tel, password); + } + + @PostMapping("/logout") + public AjaxResult logout(@RequestBody JSONObject params) { + return AjaxResult.success(staffInfoDaoService.logout(params.getLong("staffId"))); + } + + @GetMapping("/getWorkday") + public AjaxResult getWorkday() { + return null; + } + + @GetMapping("/getProduct") + public AjaxResult getProduct() { + return null; + } + + @GetMapping("/getOtherProduct") + public AjaxResult getOtherProduct() { + return null; + } + + @PostMapping("/postProductOrder") + public AjaxResult postProductOrder() { + return null; + } + + @PostMapping("/postCurrentOrder") + public AjaxResult postCurrentOrder() { + return null; + } + + @PostMapping("/postRestoreOrder") + public AjaxResult postRestoreOrder() { + return null; + } + + /** + * 初始化员工订餐配置文件,并返回初始化后的记录给前端 + * params: staffId + * return + */ + @PostMapping("/initDemandMode") + public AjaxResult initDemandMode(@RequestBody JSONObject params) { + return staffDemandDaoService.initDemandMode(params.getLong("staffId")); + } + + /** + * 设置订餐模式 + * 日期:2020年12月11日 + * 作者: 陈智兴 + * 修改:首次创建 + * + * @param { config_id: id; + * demandMode: true:自动模式;false:手动模式 + * } + * @return + */ + @PostMapping("/setDemandMode") + public AjaxResult setDemandMode(@RequestBody JSONObject params) { + Long id = params.getLong("id"); + Integer type = params.getInteger("type"); + Boolean demandMode = params.getBoolean("demandModeFlag"); + return staffDemandDaoService.setDemandMode(id, type, demandMode); + } + + /** + * 返回某天的菜单 + * param today + * return + */ + @PostMapping("/getMenuOfDay") + public AjaxResult getMenuOfDay(@RequestBody JSONObject params) { + String[] weekDays = {"周日", "周一", "周二", "周三", "周四", "周五", "周六"}; + Calendar cal = Calendar.getInstance(); + cal.setTime(params.getDate("date")); + int w = cal.get(Calendar.DAY_OF_WEEK) - 1; + if (w < 0) { + w = 0; + } + return weekMenuDaoService.getMenuOfDay(weekDays[w]); + } + + @GetMapping("/StatisGetOrderOfDate") + public AjaxResult statisGetOrderOfDate(@RequestParam Date date) { + return AjaxResult.success(orderDaoService.statisGetOrderOfDate(date,1 ,50)); + } + + /** + * 获取指定日期的订单明细 + * 类型,日期 + * 类型 = 0 ,所有 + * type = 1,2,3:早,午,晚 + */ + @PostMapping("/getOrderDetailedByDate") + public AjaxResult getOrderDetailedByDate(@RequestBody JSONObject params) { + + String createAt = params.getString("createAt"); + Integer orderType = params.getInteger("orderType"); + String start = createAt + " 00:00:00"; + String end = createAt + " 23:59:59"; + +// QueryWrapper wrapper = new QueryWrapper<>(); +// if (orderType != 0) { +// wrapper.eq("order_type", orderType); +// } +// wrapper.between("create_at", start, end); +// orderDaoService.list(wrapper); + + List orderList; + + if (orderType != 0) { + orderList = orderDaoService.listDetailedByDate(orderType, start, end); + } else { + orderList = orderDaoService.listAllDetailedByDate(start, end); + } + + return AjaxResult.success(orderList); + } + + /** + * 查看补贴记录 + */ + @GetMapping("/getStaffSubsidy/{staffId}") + public AjaxResult getStaffSubsidy(@PathVariable Long staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + + return AjaxResult.success(staffSubsidyDaoService.list(wrapper)); + } + + /** + * 查看补贴余额 + */ + @GetMapping("/getStaffSubsidyBalance/{staffId}") + public AjaxResult getStaffSubsidyBalance(@PathVariable Long staffId) { + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(staffId); + + return AjaxResult.success(staffInfoDao.getBalance()); + } + + /** + * 查看商品清单 + */ + @GetMapping("/getGoodsList") + public AjaxResult getGoodsList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("type", 2); + List list = foodDaoService.list(wrapper); + + return AjaxResult.success(list); + } + + /** + * 用餐流水(订单)查看 + */ + @GetMapping("/getStaffOrder/{staffId}") + public AjaxResult getStaffOrder(@PathVariable Long staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + + return AjaxResult.success(iFtOrderDaoService.list(wrapper)); + } + + /** + * 获取截止订餐参数 + */ + @GetMapping("/getStopDinnerTime") + public AjaxResult getStopDinnerTime() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("config_key", "stop_dinner"); + FtConfigDao ftConfigDao = iFtConfigDaoService.getOne(wrapper); + + return AjaxResult.success(ftConfigDao.getConfigValue()); + } + + /** + * 获取菜品清单 + */ + @GetMapping("/getFoodList") + public AjaxResult getFoodList() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("type", 1) + .or() + .eq("type", 4); + List list = foodDaoService.list(wrapper); + + return AjaxResult.success(list); + } + + /** + * 获取各餐品的价格清单 + * + * @param + * @author : 陈智兴 + */ + @GetMapping("/getDinnerPriceList") + public AjaxResult getDinnerPriceList() { + List list = foodDefaultDaoService.list(null); + return AjaxResult.success(list); + } + + + /** + * 获取订餐优惠比例 + */ + @GetMapping("/getOrderDiscount/{orderId}") + public AjaxResult getOrderDiscount(@PathVariable Long orderId) { + FtOrderDao ftOrderDao = orderDaoService.getById(orderId); + + return AjaxResult.success(ftOrderDao.getDiscount()); + } + + /** + * 补贴订单收款 + */ + @Transactional + @PostMapping("/orderCollection") + public AjaxResult orderCollection(@RequestBody JSONObject params) { + + // 员工 id + Long staffId = params.getLong("staffId"); + + // 订餐类型 + Integer type = params.getInteger("type"); + + // 总价 + BigDecimal totalPrice = params.getBigDecimal("receipts"); + + // 生成新订单 + FtOrderDao orderDao = new FtOrderDao(); + orderDao.setOrderType(type); + orderDao.setStaffId(staffId); + orderDao.setTotalPrice(totalPrice); + Date today = new Date(); + orderDao.setCreateAt(today); + orderDao.setOrderSrc("在线订单"); + // 余额支付 + orderDao.setPayType(3); + // 已支付 + orderDao.setPayFlag(1); + // 未过期 + orderDao.setExpiredFlag(0); + // 未核销 + orderDao.setWriteOffFlag(0); + DateTime tomorrow = DateUtil.offsetDay(today, 1); + orderDao.setOrderDate(tomorrow); + + // 当前订单员工信息 + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(orderDao.getStaffId()); + + // 员工账户补贴余额 + BigDecimal balance = staffInfoDao.getBalance(); + + // 余额是否大于实收 + if (balance.compareTo(totalPrice) < 0) { + + return AjaxResult.error("补贴余额不足"); + + } else { + + // 更新员工账户补贴余额 + BigDecimal nowBalance = balance.subtract(totalPrice); + staffInfoDao.setBalance(nowBalance); + staffInfoDaoService.updateById(staffInfoDao); + + orderDaoService.save(orderDao); + + // 添加补贴流水记录 + FtStaffSubsidyDao staffSubsidyDao = new FtStaffSubsidyDao(); + staffSubsidyDao.setStaffId(orderDao.getStaffId()); + staffSubsidyDao.setSubsidyType("餐费补贴"); + staffSubsidyDao.setIncomeType(2); + staffSubsidyDao.setPrice(totalPrice); + staffSubsidyDao.setConsumAt(today); + staffSubsidyDao.setOrderId(orderDao.getOrderId()); + staffSubsidyDaoService.save(staffSubsidyDao); + + } + + return AjaxResult.success(orderDao); + } + + /** + * 补贴订单退款 + */ + @Transactional + @PostMapping("/orderRefund") + public AjaxResult orderRefund(@RequestBody JSONObject params) { + + // 订单 id + Integer orderId = params.getInteger("orderId"); + + // 当前订单信息 + FtOrderDao orderDao = orderDaoService.getById(orderId); + if (orderDao == null) { + AjaxResult.error("无效订单"); + } + // 更新订单信息 + orderDao.setPayFlag(2); + orderDaoService.save(orderDao); + + // 总价 + BigDecimal totalPrice = orderDao.getTotalPrice(); + + // 当前订单员工信息 + FtStaffInfoDao staffInfoDao = staffInfoDaoService.getById(orderDao.getStaffId()); + + // 员工账户补贴余额 + BigDecimal balance = staffInfoDao.getBalance(); + + // 更新员工账户补贴余额 + staffInfoDao.setBalance(balance.add(totalPrice)); + staffInfoDaoService.updateById(staffInfoDao); + + // 添加补贴流水记录 + FtStaffSubsidyDao staffSubsidyDao = new FtStaffSubsidyDao(); + staffSubsidyDao.setStaffId(orderDao.getStaffId()); + // 退款 + staffSubsidyDao.setIncomeType(4); + staffSubsidyDao.setPrice(totalPrice); + staffSubsidyDao.setConsumAt(new Date()); + staffSubsidyDao.setOrderId(orderDao.getOrderId()); + staffSubsidyDaoService.save(staffSubsidyDao); + + return AjaxResult.success("已退款"); + } + + + /** + * 今日员工报餐统计 + */ + @GetMapping("/getStatisticsOrderOfToday") + public AjaxResult getStatisticsOrderOfToday() { + + Date today = new Date(); + + return AjaxResult.success(orderDaoService.statisGetOrderOfDate(today, 1, 100)); + } + + /** + * 明日员工报餐统计 + */ + @GetMapping("/getStatisticsOrderOfTomorrow") + public AjaxResult getStatisticsReportMealsOfTomorrow() { + AjaxResult result = new AjaxResult(); + result.success(); + result.put("reports", orderDaoService.getStatisticsReportMealsOfTomorrow()); + result.put("staffs", orderDaoService.getStatisticsStaffOfTomorrow()); + result.put("stops", orderDaoService.getStopOrderOfTomorrow()); + result.put("order",orderDaoService.statisGetOrderOfDate(DateUtil.offsetDay(new Date(), 1), 1, 100) ); + + return result; + } + + + /** + * 人脸识别设备心跳信号 + * + * @param request + * @return + */ + @PostMapping("/heartbeat") + public String faceDeviceHeartbeatEvent(@RequestBody JSONObject request) { + System.out.println("face device heartbeat....."); + System.out.println(request); + return "ok"; + + } + + + @PostMapping("/verify") + public String faceDeviceVerifyEvent(@RequestBody JSONObject request) { + + // 判断是否在用餐时间,否则只写日志,不处理事件 + DinnerTypeUtils.DinnerType dinnerType = DinnerTypeUtils.getInstance(iFtConfigDaoService).getDinnerType(); + System.out.println(request); + if (dinnerType == DinnerTypeUtils.DinnerType.notMatch) { + log.info("未到用餐时间人脸记录 : {} ", request); + return request.toJSONString(); + } + + // 从数据中获取人脸id + JSONObject info = request.getJSONObject("info"); + Integer personId = info.getInteger("PersonID"); + Long deviceId = info.getLong("DeviceID"); + + // 判断该设备是否有效 + Boolean isEffective = iFtConfigDaoService.isDeviceEffective(deviceId); + if (!isEffective) { + log.info("设备有效性 : {} ", "该人脸识别设备已失效"); + return "该人脸识别设备已失效"; + } + + log.info("用餐时人脸记录 : {} ", info); + // 是否有该员工 + FtStaffInfoDao staffInfoDao = staffInfoDaoService.inStaff(personId); + + if (staffInfoDao != null) { + + // 获取员工 id + Long staffId = staffInfoDao.getStaffId(); + + String message; + + // 进行核销,如果该员工没有订餐则自动生成一个订餐记录并核销 + switch (dinnerType) { + case breakfast: + message = orderDaoService.setWriteOff(staffId, 1, deviceId); + break; + case lunch: + message = orderDaoService.setWriteOff(staffId, 2, deviceId); + break; + case dinner: + message = orderDaoService.setWriteOff(staffId, 3, deviceId); + break; + default: + throw new IllegalStateException("Unexpected value: " + dinnerType); + } + log.info("人脸核销结果 : {}", message); + + return message; + + } else { + + // 如果该人脸id没有对应的员工,则记录找日志中 + log.info("员工查询 : {}", "没有找到该员工"); + return "没有找到该员工"; + } + + } + + /** + * 自动切换手动报餐时清空停餐记录 + */ + @DeleteMapping("deleteStopMeals/{staffId}") + public AjaxResult deleteStopMeals(@PathVariable Long staffId) { + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + staffStopMealsDaoService.remove(wrapper); + + return AjaxResult.success("已删除"); + } + + @PostMapping("qrcode") + public AjaxResult qrcode(@RequestBody JSONObject params) { + String data = params.getString("data"); + JSONObject jsonData = JSONObject.parseObject(Base64.decodeStr(data)); + Long staffId = jsonData.getLong("staffId"); + Long orderId = jsonData.getLong("orderId"); + String tel = jsonData.getString("tel"); + log.info("二维码:原始字串-{};员工id:{}; 订单id:{}", jsonData, staffId, orderId); + return AjaxResult.success(String.format("二维码:原始字串-%s;员工id:%d; 订单id:%d, 电话:%s", jsonData, staffId, orderId, tel)); + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java new file mode 100644 index 0000000000000000000000000000000000000000..d81aa798ed9f49c2535d4825752e0e1d4015c61b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/ClientPatientController.java @@ -0,0 +1,239 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.*; +import com.ruoyi.system.fantang.service.*; +import com.ruoyi.system.fantang.vo.FtPatientVo; +import com.ruoyi.system.fantang.vo.FtReportMealVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + + +@RestController +@RequestMapping("/client_api/patient") +public class ClientPatientController extends BaseController { + + @Autowired + private IFtPatientDaoService iFtPatientDaoService; + + @Autowired + private IFtStaffInfoDaoService iFtStaffInfoDaoService; + + @Autowired + private IFtDepartDaoService iFtDepartDaoService; + + @Autowired + private IFtReportMealsDaoService reportMealsDaoService; + + @Autowired + private IFtFoodDemandDaoService iFtFoodDemandDaoService; + + @Autowired + private IFtNutritionFoodDaoService iFftNutritionFoodDaoService; + + @Autowired + private IFtFoodDaoService iftFoodDaoService; + + /** + * 根据病人获取今日报餐信息 + */ + @GetMapping("/getReportMealsToday/{patientId}") + public AjaxResult getReportMealsToday(@PathVariable("patientId") Long patientId) { + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + String createAt = sdf.format(new Date()); + + return AjaxResult.success(iFtPatientDaoService.getReportMealsToday(createAt, patientId)); + } + + /** + * 根据病人获取次日报餐信息 + */ + @GetMapping("/getReportMealsTomorrow/{patientId}") + public AjaxResult getReportMealsTomorrow(@PathVariable("patientId") Long patientId) { + + DateTime tomorrow = DateUtil.tomorrow(); + String formatDate = DateUtil.formatDate(tomorrow); + + return AjaxResult.success(iFtPatientDaoService.getReportMealsToday(formatDate, patientId)); + } + + /** + * 根据科室获取次日报餐信息 + */ + @GetMapping("/getReportMealsByDepart/{departId}") + public AjaxResult getReportMealsByDepart(@PathVariable("departId") Long departId) { + + DateTime tomorrow = DateUtil.tomorrow(); + String formatDate = DateUtil.formatDate(tomorrow); + + List patientVos = iFtPatientDaoService.getReportMealsByDepart(departId, formatDate); + + return AjaxResult.success(patientVos); + } + + /** + * 获取护工默认部门信息 + */ + @GetMapping("/getDepartInfo/{staffId}") + public AjaxResult getDepartInfo(@PathVariable("staffId") Long staffId) { + + FtStaffInfoDao departInfo = iFtStaffInfoDaoService.getDepartInfo(staffId); + + return AjaxResult.success(departInfo); + } + + /** + * 获取部门列表 + */ + @GetMapping("/getAllDepart") + public AjaxResult getAllDepart() { + + return AjaxResult.success(iFtDepartDaoService.list()); + } + + /** + * 更改默认报餐部门 + */ + @PutMapping("/updateDepart") + public AjaxResult updateDepart(@RequestBody JSONObject params) { + Long staffId = params.getLong("staffId"); + String departId = params.getString("departId"); + + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("staff_id", staffId); + FtStaffInfoDao staffInfoDao = new FtStaffInfoDao(); + staffInfoDao.setDeptList(departId); + + return AjaxResult.success(iFtStaffInfoDaoService.update(staffInfoDao, wrapper)); + } + + /** + * 批量更新报餐记录 + */ + @PutMapping("/batchUpdateReportMeals") + public AjaxResult batchUpdateReportMeals(@RequestBody List reportMealsDaoList) { + return AjaxResult.success(reportMealsDaoService.updateBatchById(reportMealsDaoList)); + } + + /** + * 更新指定病患的报餐记录 + */ + @PutMapping("/updateReportMeals") + public AjaxResult updateReportMeals(@RequestBody FtReportMealsDao ftReportMealsDao) { + return AjaxResult.success(reportMealsDaoService.updateById(ftReportMealsDao)); + } + + /** + * 更新指定病患默认报餐数据 + */ + @PutMapping("/updateFoodDemand") + public AjaxResult updateFoodDemand(@RequestBody FtFoodDemandDao ftFoodDemandDao) { + return AjaxResult.success(iFtFoodDemandDaoService.updateById(ftFoodDemandDao)); + } + + /** + * 获取营养配餐配置信息 + */ + @GetMapping("getNutritionFood") + public AjaxResult getNutritionFood() { + return AjaxResult.success(iFftNutritionFoodDaoService.list()); + } + + /** + * 获取菜品清单 + */ + @GetMapping("/getFoodPrice") + public AjaxResult getFoodPrice() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.in("type", 1,4) + .gt("dinner_type", 0); + return AjaxResult.success(iftFoodDaoService.list(wrapper)); + } + + /** + * 病患报餐日统计 + */ + @GetMapping("/getStatisticsReportMealsOfDay") + public AjaxResult getStatisticsReportMealsOfDay(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfDay(day); + + return AjaxResult.success(list); + } + + + /** + * 明日(未报)病患报餐统计 + */ + @GetMapping("/getStatisticsReportMealsOfTomorrow") + public AjaxResult getStatisticsReportMealsOfTomorrow() { + + List list = iFtFoodDemandDaoService.getStatisticsFoodDemand(); + + return AjaxResult.success(list); + } + + /** + * 病患报餐周统计 + */ + @GetMapping("/getStatisticsReportMealsOfWeek") + public AjaxResult getStatisticsReportMealsOfWeek(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfWeek(day); + + return AjaxResult.success(list); + } + + /** + * 病患报餐月统计 + */ + @GetMapping("/getStatisticsReportMealsOfMonth") + public AjaxResult getStatisticsReportMealsOfMonth(@RequestParam("date") Date day) { + + List list = iFtFoodDemandDaoService.getStatisticsOfMonth(day); + + return AjaxResult.success(list); + } + + /** + * 按照用餐类型统计指定日期的各菜品数量 + * @author 陈智兴 + * @param day:查询日期 + * @return + */ + @GetMapping("/getStatisticsFoods") + public AjaxResult getStatisticsFoods(@RequestParam("departId") Integer departId, @RequestParam("date") Date day) { + List list = reportMealsDaoService.getStatisticsFoods(departId, day); + return AjaxResult.success(list); + } + + /** + * 接收病患报餐数据,更新;生成报餐日志表 + * @param list + * @return + */ + @PostMapping("/tomorrowReport") + public AjaxResult tomorrowReport(@RequestBody JSONArray list){ + List objects = list.toJavaList(JSONObject.class); + logger.info("送餐员报餐总数:{}", objects.size()); + for (JSONObject object : objects) { + FtReportMealsDao dao = JSONObject.toJavaObject(object, FtReportMealsDao.class); + reportMealsDaoService.updateById(dao); + } + + AjaxResult result = AjaxResult.success(); + return result; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..b485cb3f3c110031d32a2c351d782627c238bf36 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtCateringDaoController.java @@ -0,0 +1,203 @@ +package com.ruoyi.system.fantang.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtCateringDao; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.service.IFtCateringDaoService; +import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.util.*; + +/** + * 配餐功能Controller + * + * @author ft + * @date 2020-12-07 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/catering") +public class FtCateringDaoController extends BaseController { + + private final IFtCateringDaoService iFtCateringDaoService; + + private final IFtFoodDemandDaoService iFtFoodDemandDaoService; + + /** + * 查询配餐功能列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:list')") + @GetMapping("/list") + public TableDataInfo list(FtCateringDao ftCateringDao) { + startPage(); + List list = iFtCateringDaoService.listNewFormatter(ftCateringDao); + return getDataTable(list); + } + + /** + * 导出配餐功能列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:export')") + @Log(title = "配餐功能", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtCateringDao ftCateringDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftCateringDao); + List list = iFtCateringDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtCateringDao.class); + return util.exportExcel(list, "catering"); + } + + /** + * 获取配餐功能详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + FtCateringDao ftCateringDao = iFtCateringDaoService.getByIdNewFormatter(id); + return AjaxResult.success(ftCateringDao); + } + + /** + * 新增配餐功能 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:add')") + @Log(title = "配餐功能", businessType = BusinessType.INSERT) + @PostMapping + @Transactional + public AjaxResult add(@RequestBody FtCateringDao ftCateringDao) { + + // 添加一个病人新增 4 条营养配餐记录 + List ftCateringList = iFtCateringDaoService.addNutritionCatering(ftCateringDao); + + // 更新病人报餐配置表 + iFtFoodDemandDaoService.updateDayFoodDemand(ftCateringList); + + return AjaxResult.success("新增成功"); + } + + /** + * 修改配餐功能 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:edit')") + @Log(title = "配餐功能", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtCateringDao ftCateringDao) { + + Long patientId = ftCateringDao.getPatientId(); + Integer type = ftCateringDao.getType(); + Long number = ftCateringDao.getNumber(); + Boolean flag = ftCateringDao.getFlag(); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + wrapper.eq("type", type); + FtFoodDemandDao foodDemandDao = iFtFoodDemandDaoService.getOne(wrapper); + foodDemandDao.setNutritionFoodId(number); + foodDemandDao.setUpdateAt(new Date()); + foodDemandDao.setNutritionFoodFlag(flag); + iFtFoodDemandDaoService.updateById(foodDemandDao); + + return toAjax(iFtCateringDaoService.updateById(ftCateringDao) ? 1 : 0); + } + + /** + * 删除配餐功能 + */ + @PreAuthorize("@ss.hasPermi('fantang:catering:remove')") + @Log(title = "配餐功能", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return AjaxResult.success(iFtCateringDaoService.deleteByPatientId(ids)); + } + + /** + * 暂停多个病患营养配餐配置,并更新默认报餐配置 + */ + @PutMapping("/cancel/{ids}") + @Transactional + public AjaxResult cancel(@PathVariable Long[] ids) { + System.out.println(Arrays.toString(ids)); + + // 根据病人 id 修改 营养配餐 启用标志 + iFtCateringDaoService.cancelByPatientId(ids); + + return AjaxResult.success("已暂停"); + } + + + /** + * 恢复多个病患营养配餐配置,并更新默认报餐配置 + */ + @PutMapping("/restoreCatering/{ids}") + @Transactional + public AjaxResult restoreCatering(@PathVariable Long[] ids) { + System.out.println(Arrays.toString(ids)); + + // 根据病人 id 修改营养配餐启用标志 + iFtCateringDaoService.restoreByPatientId(ids); + + return AjaxResult.success("已恢复"); + } + + /** + * 根据病人 id 查找营养配餐数据 + */ + @GetMapping("/getByPatient/{patientId}") + public AjaxResult getByPatient(@PathVariable Long patientId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + wrapper.eq("type", 1); + return AjaxResult.success(iFtCateringDaoService.getOne(wrapper)); + } + + /** + * 根据病人 id 查找营养配餐数据 + */ + @GetMapping("/getAllByPatient/{patientId}") + public AjaxResult getAllByPatient(@PathVariable Long patientId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + return AjaxResult.success(iFtCateringDaoService.list(wrapper)); + } + + + /** + * 拷贝并新增 + */ + @PostMapping("/copyAndAdd") + public AjaxResult copyAndAdd(@RequestBody JSONObject params) { + List patientIds = params.getJSONArray("patientIds").toJavaList(Long.class); + List data = params.getJSONArray("data").toJavaList(FtCateringDao.class); + for (Long patientId : patientIds) { + Integer ftCateringDaoList = iFtCateringDaoService.copyAndAdd(patientId, data); + } + return AjaxResult.success(); + } + + @PutMapping("/paste") + public AjaxResult paste(@RequestBody JSONObject params) { + + List ids = params.getJSONArray("ids").toJavaList(Long.class); + List ftCateringDaoList = params.getJSONArray("copyItem").toJavaList(FtCateringDao.class); + + for (Long id : ids) { + iFtCateringDaoService.paste(id,ftCateringDaoList); + } + + return AjaxResult.success("已修改"); + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtConfigDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtConfigDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..379e9396a826e898f1d09f7e4010fc568dfab34c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtConfigDaoController.java @@ -0,0 +1,172 @@ +package com.ruoyi.system.fantang.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.common.DinnerTypeUtils; +import com.ruoyi.system.fantang.domain.FtConfigDao; +import com.ruoyi.system.fantang.service.IFtConfigDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 饭堂参数Controller + * + * @author ft + * @date 2020-12-07 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/fantangConfig") +public class FtConfigDaoController extends BaseController { + + private final IFtConfigDaoService iFtConfigDaoService; + + /** + * 查询饭堂参数列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:list')") + @GetMapping("/list") + public TableDataInfo list(FtConfigDao ftConfigDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftConfigDao); + if (ftConfigDao.getCorpId() != null) { + lqw.eq(FtConfigDao::getCorpId, ftConfigDao.getCorpId()); + } + if (StringUtils.isNotBlank(ftConfigDao.getConfigKey())) { + lqw.eq(FtConfigDao::getConfigKey, ftConfigDao.getConfigKey()); + } + if (StringUtils.isNotBlank(ftConfigDao.getConfigValue())) { + lqw.eq(FtConfigDao::getConfigValue, ftConfigDao.getConfigValue()); + } + if (ftConfigDao.getFlag() != null) { + lqw.eq(FtConfigDao::getFlag, ftConfigDao.getFlag()); + } + List list = iFtConfigDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出饭堂参数列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:export')") + @Log(title = "饭堂参数", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtConfigDao ftConfigDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftConfigDao); + List list = iFtConfigDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtConfigDao.class); + return util.exportExcel(list, "fantangConfig"); + } + + /** + * 获取饭堂参数详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtConfigDaoService.getById(id)); + } + + /** + * 新增饭堂参数 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:add')") + @Log(title = "饭堂参数", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtConfigDao ftConfigDao) { + return toAjax(iFtConfigDaoService.save(ftConfigDao) ? 1 : 0); + } + + /** + * 修改饭堂参数 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:edit')") + @Log(title = "饭堂参数", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtConfigDao ftConfigDao) { + return toAjax(iFtConfigDaoService.updateById(ftConfigDao) ? 1 : 0); + } + + /** + * 删除饭堂参数 + */ + @PreAuthorize("@ss.hasPermi('fantang:fantangConfig:remove')") + @Log(title = "饭堂参数", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtConfigDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } + + @PostMapping("/updateDinnerTime") + public AjaxResult updateDinnerTime(@RequestBody JSONObject params) { + + StringBuilder configValue = new StringBuilder(); + + SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); + JSONArray breakfastJson = params.getJSONArray("breakfast"); + JSONArray lunchJson = params.getJSONArray("lunch"); + JSONArray dinnerJson = params.getJSONArray("dinner"); + + List breakfastTime = breakfastJson.toJavaList(Date.class); + for (Date date : breakfastTime) { + String time = sdf.format(date); + System.out.println(time); + configValue.append(time).append(","); + } + + List lunchTime = lunchJson.toJavaList(Date.class); + for (Date date : lunchTime) { + String time = sdf.format(date); + System.out.println(time); + configValue.append(time).append(","); + } + + List dinnerTime = dinnerJson.toJavaList(Date.class); + + for (int i = 0; i < dinnerTime.size(); i++) { + String time = sdf.format(dinnerTime.get(i)); + configValue.append(time); + if (i != dinnerTime.size() - 1) { + configValue.append(","); + } + } + + iFtConfigDaoService.updateConfigValue(params.getLong("id"),configValue.toString()); + + DinnerTypeUtils.getInstance(iFtConfigDaoService).updateDinnerTypeUtils(configValue.toString()); + + return AjaxResult.success("已修改"); + } + + /** + * 修改人脸识别设备信息 + */ + @PostMapping("/updateFaceDevice") + public AjaxResult updateFaceDevice(@RequestBody JSONObject params) { + + String deviceId = params.getString("deviceId"); + Long deviceConfigId = params.getLong("deviceConfigId"); + iFtConfigDaoService.updateConfigValue(deviceConfigId, deviceId); + + String deviceFlag = params.getString("deviceFlag"); + Long flagConfigId = params.getLong("flagConfigId"); + iFtConfigDaoService.updateConfigValue(flagConfigId, deviceFlag); + + return AjaxResult.success("已修改"); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtDepartDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtDepartDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..d5416403322ad87b7976d27b95f141b8ed0a8241 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtDepartDaoController.java @@ -0,0 +1,113 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + +import java.util.List; +import java.util.Arrays; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.fantang.domain.FtDepartDao; +import com.ruoyi.system.fantang.service.IFtDepartDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 科室管理Controller + * + * @author ft + * @date 2020-11-24 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/depart" ) +public class FtDepartDaoController extends BaseController { + + private final IFtDepartDaoService iFtDepartDaoService; + + /** + * 查询科室管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:list')") + @GetMapping("/list") + public TableDataInfo list(FtDepartDao ftDepartDao) + { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftDepartDao); + if (StringUtils.isNotBlank(ftDepartDao.getDepartName())){ + lqw.like(FtDepartDao::getDepartName ,ftDepartDao.getDepartName()); + } + if (StringUtils.isNotBlank(ftDepartDao.getDepartCode())){ + lqw.eq(FtDepartDao::getDepartCode ,ftDepartDao.getDepartCode()); + } + List list = iFtDepartDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出科室管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:export')" ) + @Log(title = "科室管理" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(FtDepartDao ftDepartDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftDepartDao); + List list = iFtDepartDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtDepartDao. class); + return util.exportExcel(list, "depart" ); + } + + /** + * 获取科室管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:query')" ) + @GetMapping(value = "/{departId}" ) + public AjaxResult getInfo(@PathVariable("departId" ) Long departId) { + return AjaxResult.success(iFtDepartDaoService.getById(departId)); + } + + /** + * 新增科室管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:add')" ) + @Log(title = "科室管理" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtDepartDao ftDepartDao) { + return toAjax(iFtDepartDaoService.save(ftDepartDao) ? 1 : 0); + } + + /** + * 修改科室管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:edit')" ) + @Log(title = "科室管理" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtDepartDao ftDepartDao) { + return toAjax(iFtDepartDaoService.updateById(ftDepartDao) ? 1 : 0); + } + + /** + * 删除科室管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:depart:remove')" ) + @Log(title = "科室管理" , businessType = BusinessType.DELETE) + @DeleteMapping("/{departIds}" ) + public AjaxResult remove(@PathVariable Long[] departIds) { + return toAjax(iFtDepartDaoService.removeByIds(Arrays.asList(departIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFaceinfoDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFaceinfoDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..b478a3d92572704b304a8683a99b00c238ae2351 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFaceinfoDaoController.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.fantang.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.fantang.domain.FtFaceinfoDao; +import com.ruoyi.system.fantang.service.IFtFaceinfoDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 人脸信息Controller + * + * @author ryo + * @date 2021-01-11 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/faceInfo" ) +public class FtFaceinfoDaoController extends BaseController { + + private final IFtFaceinfoDaoService iFtFaceinfoDaoService; + + /** + * 查询人脸信息列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:list')") + @GetMapping("/list") + public TableDataInfo list(FtFaceinfoDao ftFaceinfoDao) { + startPage(); + List list = iFtFaceinfoDaoService.queryList(ftFaceinfoDao); + return getDataTable(list); + } + + /** + * 导出人脸信息列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:export')" ) + @Log(title = "人脸信息" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(FtFaceinfoDao ftFaceinfoDao) { + List list = iFtFaceinfoDaoService.queryList(ftFaceinfoDao); + ExcelUtil util = new ExcelUtil(FtFaceinfoDao.class); + return util.exportExcel(list, "faceInfo" ); + } + + /** + * 获取人脸信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:query')" ) + @GetMapping(value = "/{id}" ) + public AjaxResult getInfo(@PathVariable("id" ) Long id) { + return AjaxResult.success(iFtFaceinfoDaoService.getById(id)); + } + + /** + * 新增人脸信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:add')" ) + @Log(title = "人脸信息" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtFaceinfoDao ftFaceinfoDao) { + return toAjax(iFtFaceinfoDaoService.save(ftFaceinfoDao) ? 1 : 0); + } + + /** + * 修改人脸信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:edit')" ) + @Log(title = "人脸信息" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtFaceinfoDao ftFaceinfoDao) { + return toAjax(iFtFaceinfoDaoService.updateById(ftFaceinfoDao) ? 1 : 0); + } + + /** + * 删除人脸信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:faceInfo:remove')" ) + @Log(title = "人脸信息" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}" ) + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtFaceinfoDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..4a9a2199a780c421768f9086e4ca7ceb6bef6a45 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDaoController.java @@ -0,0 +1,107 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtFoodDao; +import com.ruoyi.system.fantang.service.IFtFoodDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 食品管理Controller + * + * @author ft + * @date 2020-11-24 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/food") +public class FtFoodDaoController extends BaseController { + + private final IFtFoodDaoService iFtFoodDaoService; + + /** + * 查询食品管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:list')") + @GetMapping("/list") + public TableDataInfo list(FtFoodDao ftFoodDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftFoodDao); + if (StringUtils.isNotBlank(ftFoodDao.getName())) { + lqw.like(FtFoodDao::getName, ftFoodDao.getName()); + } + if (ftFoodDao.getPrice() != null) { + lqw.eq(FtFoodDao::getPrice, ftFoodDao.getPrice()); + } + if (ftFoodDao.getType() != null) { + lqw.eq(FtFoodDao::getType, ftFoodDao.getType()); + } + List list = iFtFoodDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出食品管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:export')") + @Log(title = "食品管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtFoodDao ftFoodDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftFoodDao); + List list = iFtFoodDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtFoodDao.class); + return util.exportExcel(list, "food"); + } + + /** + * 获取食品管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:query')") + @GetMapping(value = "/{foodId}") + public AjaxResult getInfo(@PathVariable("foodId") Long foodId) { + return AjaxResult.success(iFtFoodDaoService.getById(foodId)); + } + + /** + * 新增食品管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:add')") + @Log(title = "食品管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtFoodDao ftFoodDao) { + return toAjax(iFtFoodDaoService.save(ftFoodDao) ? 1 : 0); + } + + /** + * 修改食品管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:edit')") + @Log(title = "食品管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtFoodDao ftFoodDao) { + return toAjax(iFtFoodDaoService.updateById(ftFoodDao) ? 1 : 0); + } + + /** + * 删除食品管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:food:remove')") + @Log(title = "食品管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{foodIds}") + public AjaxResult remove(@PathVariable Long[] foodIds) { + return toAjax(iFtFoodDaoService.removeByIds(Arrays.asList(foodIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDefaultDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDefaultDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..75d28facc963f4ba33e0d20bea68e326b2764ca6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDefaultDaoController.java @@ -0,0 +1,116 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtFoodDefaultDao; +import com.ruoyi.system.fantang.service.IFtFoodDaoService; +import com.ruoyi.system.fantang.service.IFtFoodDefaultDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 默认报餐管理Controller + * + * @author ft + * @date 2020-11-25 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/foodDefault") +public class FtFoodDefaultDaoController extends BaseController { + + private final IFtFoodDefaultDaoService iFtFoodDefaultDaoService; + + private final IFtFoodDaoService iFtFoodDaoService; + + /** + * 查询默认报餐管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:list')") + @GetMapping("/list") + public TableDataInfo list(FtFoodDefaultDao ftFoodDefaultDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftFoodDefaultDao); + if (ftFoodDefaultDao.getType() != null) { + lqw.eq(FtFoodDefaultDao::getType, ftFoodDefaultDao.getType()); + } + List list = iFtFoodDefaultDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出默认报餐管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:export')") + @Log(title = "默认报餐管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtFoodDefaultDao ftFoodDefaultDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftFoodDefaultDao); + List list = iFtFoodDefaultDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtFoodDefaultDao.class); + return util.exportExcel(list, "foodDefault"); + } + + /** + * 获取默认报餐管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtFoodDefaultDaoService.getById(id)); + } + + /** + * 新增默认报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:add')") + @Log(title = "默认报餐管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtFoodDefaultDao ftFoodDefaultDao) { + ftFoodDefaultDao.setCreatedAt(new Date()); + return toAjax(iFtFoodDefaultDaoService.save(ftFoodDefaultDao) ? 1 : 0); + } + + /** + * 修改默认报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:edit')") + @Log(title = "默认报餐管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtFoodDefaultDao ftFoodDefaultDao) { + String foodList = ftFoodDefaultDao.getFoodList(); + String[] temp = foodList.split(","); + BigDecimal totalPrice = new BigDecimal(0); + for (String foodId : temp) { + BigDecimal price = iFtFoodDaoService.getById(Long.parseLong(foodId)).getPrice(); + totalPrice = totalPrice.add(price); + } + ftFoodDefaultDao.setPrice(totalPrice); + + ftFoodDefaultDao.setUpdatedAt(new Date()); + return toAjax(iFtFoodDefaultDaoService.updateById(ftFoodDefaultDao) ? 1 : 0); + } + + /** + * 删除默认报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDefault:remove')") + @Log(title = "默认报餐管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtFoodDefaultDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDemandDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDemandDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..c9a69fd11f70299653d154cd8972830b51725641 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtFoodDemandDaoController.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 病人报餐Controller + * + * @author ft + * @date 2020-12-03 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/foodDemand") +public class FtFoodDemandDaoController extends BaseController { + + private final IFtFoodDemandDaoService iFtFoodDemandDaoService; + + /** + * 查询病人报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:list')") + @GetMapping("/list") + public TableDataInfo list(FtFoodDemandDao ftFoodDemandDao) { + startPage(); + + List list = iFtFoodDemandDaoService.listNewFormatter(ftFoodDemandDao); + return getDataTable(list); + } + + /** + * 导出病人报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:export')") + @Log(title = "病人报餐", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtFoodDemandDao ftFoodDemandDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftFoodDemandDao); + List list = iFtFoodDemandDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtFoodDemandDao.class); + return util.exportExcel(list, "foodDemand"); + } + + /** + * 获取病人报餐详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + FtFoodDemandDao ftFoodDemandDao = iFtFoodDemandDaoService.getByIdNewFormatter(id); + return AjaxResult.success(ftFoodDemandDao); + } + + /** + * 新增病人报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:add')") + @Log(title = "病人报餐", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtFoodDemandDao ftFoodDemandDao) { + ftFoodDemandDao.setFlag(true); + return toAjax(iFtFoodDemandDaoService.save(ftFoodDemandDao) ? 1 : 0); + } + + /** + * 修改病人报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:edit')") + @Log(title = "病人报餐", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtFoodDemandDao ftFoodDemandDao) { + ftFoodDemandDao.setUpdateAt(new Date()); + return toAjax(iFtFoodDemandDaoService.updateById(ftFoodDemandDao) ? 1 : 0); + } + + /** + * 删除病人报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:foodDemand:remove')") + @Log(title = "病人报餐", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtFoodDemandDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..e45b31e91c0a09d5e56b17c0af7c119ae46eeff4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtInvoiceDaoController.java @@ -0,0 +1,192 @@ +package com.ruoyi.system.fantang.controller; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtInvoiceDao; +import com.ruoyi.system.fantang.domain.FtSettlementDao; +import com.ruoyi.system.fantang.service.IFtInvoiceDaoService; +import com.ruoyi.system.fantang.service.IFtReturnDaoService; +import com.ruoyi.system.fantang.service.IFtSettlementDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 财务收费开票Controller + * + * @author ft + * @date 2020-12-08 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/invoice") +public class FtInvoiceDaoController extends BaseController { + + private final IFtInvoiceDaoService iFtInvoiceDaoService; + + private final IFtSettlementDaoService settSettlementDaoService; + + private final IFtReturnDaoService ftReturnDaoService; + + /** + * 查询财务收费开票列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:list')") + @GetMapping("/list") + public TableDataInfo list(FtInvoiceDao ftInvoiceDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftInvoiceDao); + + if (ftInvoiceDao.getInvoiceType() != null) { + lqw.eq(FtInvoiceDao::getInvoiceType, ftInvoiceDao.getInvoiceType()); + } + + List list = iFtInvoiceDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出财务收费开票列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:export')") + @Log(title = "财务收费开票", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtInvoiceDao ftInvoiceDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftInvoiceDao); + List list = iFtInvoiceDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtInvoiceDao.class); + return util.exportExcel(list, "invoice"); + } + + /** + * 获取财务收费开票详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtInvoiceDaoService.getById(id)); + } + + /** + * 新增财务收费开票 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:add')") + @Log(title = "财务收费开票", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtInvoiceDao ftInvoiceDao) { + return toAjax(iFtInvoiceDaoService.save(ftInvoiceDao) ? 1 : 0); + } + + /** + * 修改财务收费开票 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:edit')") + @Log(title = "财务收费开票", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtInvoiceDao ftInvoiceDao) { + return toAjax(iFtInvoiceDaoService.updateById(ftInvoiceDao) ? 1 : 0); + } + + /** + * 删除财务收费开票 + */ + @PreAuthorize("@ss.hasPermi('fantang:invoice:remove')") + @Log(title = "财务收费开票", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtInvoiceDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } + + @PostMapping("/addToInvoice") + @Transactional(propagation = Propagation.REQUIRES_NEW) + public AjaxResult addToInvoice(@RequestBody JSONObject params) { + + // 应收 + BigDecimal payable = params.getBigDecimal("payable"); + // 实收 + BigDecimal receipts = params.getBigDecimal("receipts"); + // 收款方式 + String type = params.getString("type"); + // 发票号 + String invoiceNum = params.getString("invoiceNum"); + // 发票名 + String invoiceName = params.getString("invoiceName"); + // 税号 + String taxId = params.getString("taxId"); + // 跟踪回款 + Integer invoiceType = params.getInteger("invoiceType"); + // 开票金额 + BigDecimal invoiceAmount = params.getBigDecimal("invoiceAmount"); + + FtInvoiceDao invoiceDao = new FtInvoiceDao(); + Date today = new Date(); + invoiceDao.setCreateAt(today); + invoiceDao.setPayable(payable); + invoiceDao.setReceipts(receipts); + invoiceDao.setCollectionType(type); + invoiceDao.setInvoiceNum(invoiceNum); + invoiceDao.setInvoiceName(invoiceName); + invoiceDao.setTaxId(taxId); + invoiceDao.setInvoiceType(invoiceType); + invoiceDao.setInvoiceAmount(invoiceAmount); + iFtInvoiceDaoService.save(invoiceDao); + + // 结算 ids + JSONArray settleIds = params.getJSONArray("settleIds"); + + if (settleIds!=null){ + + List ids = JSONObject.parseArray(settleIds.toString(), Long.class); + + List settleList = new ArrayList<>(); + for (Long id : ids) { + FtSettlementDao settlementDao = new FtSettlementDao(); + settlementDao.setSettleId(id); + settlementDao.setInvoiceId(invoiceDao.getId()); + settlementDao.setInvoiceFlag(1); + settleList.add(settlementDao); + } + + settSettlementDaoService.updateBatchById(settleList); + }else { + + FtSettlementDao settlementDao = new FtSettlementDao(); + settlementDao.setSettleId(params.getLong("settleId")); + settlementDao.setInvoiceId(invoiceDao.getId()); + settlementDao.setInvoiceFlag(1); + settSettlementDaoService.updateById(settlementDao); + + } + + return AjaxResult.success("已开票"); + } + + @PutMapping("/finish/{id}") + public AjaxResult finish(@PathVariable Long id){ + + FtInvoiceDao invoiceDao = new FtInvoiceDao(); + invoiceDao.setId(id); + invoiceDao.setInvoiceType(1); + + iFtInvoiceDaoService.updateById(invoiceDao); + + return AjaxResult.success("已结束跟踪"); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNotifyDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNotifyDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..d3df8eaee279b74919863aadecc6ed8b2a4331c8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNotifyDaoController.java @@ -0,0 +1,133 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtNotifyDao; +import com.ruoyi.system.fantang.service.IFtNotifyDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 系统信息Controller + * + * @author ft + * @date 2020-12-17 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/notify") +public class FtNotifyDaoController extends BaseController { + + private final IFtNotifyDaoService iFtNotifyDaoService; + + + @GetMapping("/isHaveNewMsg") + public AjaxResult isHaveNewMsg() { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("read_flag", 0); + wrapper.eq("message_type",1); + List list = iFtNotifyDaoService.list(wrapper); + int size = list.size(); + String msgBody = ""; + if (list.size() > 0) { + msgBody = "有 " + list.size() + " 条病患冲突消息待处理"; + } + Map messageData = new HashMap<>(); + messageData.put("size", size); + messageData.put("msgBody", msgBody); + + return AjaxResult.success(messageData); + } + + + /** + * 查询系统信息列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:list')") + @GetMapping("/list") + public TableDataInfo list(FtNotifyDao ftNotifyDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftNotifyDao); + if (ftNotifyDao.getMessageType() != null) { + lqw.eq(FtNotifyDao::getMessageType, ftNotifyDao.getMessageType()); + } + if (ftNotifyDao.getScope() != null) { + lqw.eq(FtNotifyDao::getScope, ftNotifyDao.getScope()); + } + if (StringUtils.isNotBlank(ftNotifyDao.getMessageBody())) { + lqw.eq(FtNotifyDao::getMessageBody, ftNotifyDao.getMessageBody()); + } + if (ftNotifyDao.getReadFlag() != null) { + lqw.eq(FtNotifyDao::getReadFlag, ftNotifyDao.getReadFlag()); + } + List list = iFtNotifyDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出系统信息列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:export')") + @Log(title = "系统信息", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtNotifyDao ftNotifyDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftNotifyDao); + List list = iFtNotifyDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtNotifyDao.class); + return util.exportExcel(list, "notify"); + } + + /** + * 获取系统信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtNotifyDaoService.getById(id)); + } + + /** + * 新增系统信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:add')") + @Log(title = "系统信息", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtNotifyDao ftNotifyDao) { + return toAjax(iFtNotifyDaoService.save(ftNotifyDao) ? 1 : 0); + } + + /** + * 修改系统信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:edit')") + @Log(title = "系统信息", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtNotifyDao ftNotifyDao) { + return toAjax(iFtNotifyDaoService.updateById(ftNotifyDao) ? 1 : 0); + } + + /** + * 删除系统信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:notify:remove')") + @Log(title = "系统信息", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtNotifyDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNutritionFoodDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNutritionFoodDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..0f14bedfc59c97a34884bf5c97cebbf57ecc812b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtNutritionFoodDaoController.java @@ -0,0 +1,121 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtNutritionFoodDao; +import com.ruoyi.system.fantang.service.IFtNutritionFoodDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 病患营养配餐Controller + * + * @author ft + * @date 2020-12-03 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/nutritionFood") +public class FtNutritionFoodDaoController extends BaseController { + + private final IFtNutritionFoodDaoService iFtNutritionFoodDaoService; + + /** + * 查询病患营养配餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:list')") + @GetMapping("/list") + public TableDataInfo list(FtNutritionFoodDao ftNutritionFoodDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftNutritionFoodDao); + if (StringUtils.isNotBlank(ftNutritionFoodDao.getName())) { + lqw.like(FtNutritionFoodDao::getName, ftNutritionFoodDao.getName()); + } + if (ftNutritionFoodDao.getPrice() != null) { + lqw.eq(FtNutritionFoodDao::getPrice, ftNutritionFoodDao.getPrice()); + } + if (ftNutritionFoodDao.getFlag() != null) { + lqw.eq(FtNutritionFoodDao::getFlag, ftNutritionFoodDao.getFlag()); + } + List list = iFtNutritionFoodDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出病患营养配餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:export')") + @Log(title = "病患营养配餐", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtNutritionFoodDao ftNutritionFoodDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftNutritionFoodDao); + List list = iFtNutritionFoodDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtNutritionFoodDao.class); + return util.exportExcel(list, "nutritionFood"); + } + + /** + * 获取病患营养配餐详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtNutritionFoodDaoService.getById(id)); + } + + /** + * 新增病患营养配餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:add')") + @Log(title = "病患营养配餐", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtNutritionFoodDao ftNutritionFoodDao) { + ftNutritionFoodDao.setFlag(true); + ftNutritionFoodDao.setCreateAt(new Date()); + return toAjax(iFtNutritionFoodDaoService.save(ftNutritionFoodDao) ? 1 : 0); + } + + /** + * 修改病患营养配餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:edit')") + @Log(title = "病患营养配餐", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtNutritionFoodDao ftNutritionFoodDao) { + return toAjax(iFtNutritionFoodDaoService.updateById(ftNutritionFoodDao) ? 1 : 0); + } + + /** + * 停用病患营养配餐 + */ + @PutMapping("/deactivate/{id}") + public AjaxResult deactivate(@PathVariable("id") Long id) { + FtNutritionFoodDao ftNutritionFoodDao = iFtNutritionFoodDaoService.getById(id); + ftNutritionFoodDao.setFlag(false); + iFtNutritionFoodDaoService.updateById(ftNutritionFoodDao); + return AjaxResult.success("停用成功"); + } + + /** + * 删除病患营养配餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:nutritionFood:remove')") + @Log(title = "病患营养配餐", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtNutritionFoodDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..89b024114ba13c79c5084aebc07e06de7597cba7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtOrderDaoController.java @@ -0,0 +1,237 @@ +package com.ruoyi.system.fantang.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.service.IFtOrderDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 订单管理Controller + * + * @author ft + * @date 2020-11-19 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/order") +public class FtOrderDaoController extends BaseController { + + private final IFtOrderDaoService iFtOrderDaoService; + + /** + * 查询订单管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:list')") + @GetMapping("/list") + public TableDataInfo list(FtOrderDao ftOrderDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftOrderDao); + if (ftOrderDao.getOrderType() != null) { + lqw.eq(FtOrderDao::getOrderType, ftOrderDao.getOrderType()); + } + if (ftOrderDao.getTotalPrice() != null) { + lqw.eq(FtOrderDao::getTotalPrice, ftOrderDao.getTotalPrice()); + } + if (ftOrderDao.getDiscount() != null) { + lqw.eq(FtOrderDao::getDiscount, ftOrderDao.getDiscount()); + } + if (ftOrderDao.getReceipts() != null) { + lqw.eq(FtOrderDao::getReceipts, ftOrderDao.getReceipts()); + } + if (ftOrderDao.getCreateAt() != null) { + lqw.eq(FtOrderDao::getCreateAt, ftOrderDao.getCreateAt()); + } + if (StringUtils.isNotBlank(ftOrderDao.getOrderSrc())) { + lqw.eq(FtOrderDao::getOrderSrc, ftOrderDao.getOrderSrc()); + } + if (ftOrderDao.getCurrentPrice() != null) { + lqw.eq(FtOrderDao::getCurrentPrice, ftOrderDao.getCurrentPrice()); + } + if (ftOrderDao.getPayType() != null) { + lqw.eq(FtOrderDao::getPayType, ftOrderDao.getPayType()); + } + if (ftOrderDao.getWriteOffAt() != null) { + lqw.eq(FtOrderDao::getWriteOffAt, ftOrderDao.getWriteOffAt()); + } + List list = iFtOrderDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出订单管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:export')") + @Log(title = "订单管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtOrderDao ftOrderDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftOrderDao); + List list = iFtOrderDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtOrderDao.class); + return util.exportExcel(list, "order"); + } + + /** + * 获取订单管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:query')") + @GetMapping(value = "/{orderId}") + public AjaxResult getInfo(@PathVariable("orderId") Long orderId) { + return AjaxResult.success(iFtOrderDaoService.getById(orderId)); + } + + /** + * 新增订单管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:add')") + @Log(title = "订单管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtOrderDao ftOrderDao) { + return toAjax(iFtOrderDaoService.save(ftOrderDao) ? 1 : 0); + } + + /** + * 修改订单管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:edit')") + @Log(title = "订单管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtOrderDao ftOrderDao) { + return toAjax(iFtOrderDaoService.updateById(ftOrderDao) ? 1 : 0); + } + + /** + * 删除订单管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:order:remove')") + @Log(title = "订单管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{orderIds}") + public AjaxResult remove(@PathVariable Long[] orderIds) { + return toAjax(iFtOrderDaoService.removeByIds(Arrays.asList(orderIds)) ? 1 : 0); + } + + /** + * 统计日报餐信息 + */ + @PostMapping("/getStatisGetOrderOfDay") + public AjaxResult getStatisGetOrderOfDay(@RequestBody JSONObject params) { + + Date selectDay = params.getDate("selectDay"); + Integer statisticsType = params.getInteger("statisticsType"); + Integer pageNum = params.getInteger("pageNum"); + Integer pageSize = params.getInteger("pageSize"); + + if (statisticsType == 1) { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDate(selectDay, pageNum, pageSize)); + } else { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfDateByPerson(selectDay, pageNum, pageSize)); + } + } + + @PostMapping("/exportOrderOfDay") + public AjaxResult exportOrderOfDay(@RequestBody JSONObject params) { + + Date selectDay = params.getDate("selectDay"); + Integer statisticsType = params.getInteger("statisticsType"); + + List list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfDateByPersonNoPage(selectDay); + } else { + list = null; + } + + ExcelUtil util = new ExcelUtil<>(FtOrderDao.class); + return util.exportExcel(list, "员工用餐统计"); + } + + /** + * 统计周报餐信息 + */ + @PostMapping("/getStatisGetOrderOfWeek") + public AjaxResult getStatisGetOrderOfWeek(@RequestBody JSONObject params) { + + Date selectWeek = params.getDate("selectWeek"); + Integer statisticsType = params.getInteger("statisticsType"); + Integer pageNum = params.getInteger("pageNum"); + Integer pageSize = params.getInteger("pageSize"); + + if (statisticsType == 1) { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfWeek(selectWeek, pageNum, pageSize)); + } else { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfWeekByPerson(selectWeek, pageNum, pageSize)); + } + + } + + @PostMapping("/exportOrderOfWeek") + public AjaxResult exportOrderOfWeek(@RequestBody JSONObject params) { + + Date selectWeek = params.getDate("selectWeek"); + Integer statisticsType = params.getInteger("statisticsType"); + + List list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfWeekByPersonNoPage(selectWeek); + } else { + list = null; + } + + ExcelUtil util = new ExcelUtil<>(FtOrderDao.class); + return util.exportExcel(list, "员工用餐统计"); + } + + /** + * 统计月报餐信息 + */ + @PostMapping("/getStatisGetOrderOfMonth") + public AjaxResult getStatisGetOrderOfMonth(@RequestBody JSONObject params) { + + Date selectMonth = params.getDate("selectMonth"); + Integer statisticsType = params.getInteger("statisticsType"); + Integer pageNum = params.getInteger("pageNum"); + Integer pageSize = params.getInteger("pageSize"); + + if (statisticsType == 1) { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonth(selectMonth, pageNum, pageSize)); + } else { + return AjaxResult.success(iFtOrderDaoService.statisGetOrderOfMonthByPerson(selectMonth, pageNum, pageSize)); + } + } + + @PostMapping("/exportOrderOfMonth") + public AjaxResult exportOrderOfMonth(@RequestBody JSONObject params){ + + Date selectMonth = params.getDate("selectMonth"); + Integer statisticsType = params.getInteger("statisticsType"); + + List list; + + if (statisticsType != 1) { + list = iFtOrderDaoService.statisOrderOfMonthByPersonNoPage(selectMonth); + } else { + list = null; + } + + ExcelUtil util = new ExcelUtil<>(FtOrderDao.class); + return util.exportExcel(list, "员工用餐统计"); + + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPatientDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPatientDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..b0e1435aef6abe14123208030bf915a8c1183a2d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPatientDaoController.java @@ -0,0 +1,155 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; +import com.ruoyi.system.fantang.service.IFtPatientDaoService; +import com.ruoyi.system.fantang.service.IFtReportMealsDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 病人管理Controller + * + * @author ft + * @date 2020-11-24 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/patient") +public class FtPatientDaoController extends BaseController { + + private final IFtPatientDaoService iFtPatientDaoService; + + private final IFtFoodDemandDaoService iFtFoodDemandDaoService; + + @Autowired + private IFtReportMealsDaoService reportMealsDaoService; + + /** + * 查询病人管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:list')") + @GetMapping("/list") + public TableDataInfo list(FtPatientDao ftPatientDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftPatientDao); + if (StringUtils.isNotBlank(ftPatientDao.getName())) { + lqw.like(FtPatientDao::getName, ftPatientDao.getName()); + } + if (StringUtils.isNotBlank(ftPatientDao.getBedId())) { + lqw.eq(FtPatientDao::getBedId, ftPatientDao.getBedId()); + } + if (StringUtils.isNotBlank(ftPatientDao.getHospitalId())) { + lqw.eq(FtPatientDao::getHospitalId, ftPatientDao.getHospitalId()); + } + List list = iFtPatientDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 根据 departId 查询病人列表 + */ + @GetMapping("/selectPatientByDepartId/{departId}") + public AjaxResult selectPatientByDepartId(@PathVariable("departId") Long departId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("depart_id", departId); + List list = iFtPatientDaoService.list(wrapper); + return AjaxResult.success(list); + } + + /** + * 根据 departId 查询所有没有营养配餐的病人列表 + * @author 陈智兴 + */ + @GetMapping("/selectNoCateringByDepartId/{departId}") + public AjaxResult selectNoCateringByDepartId(@PathVariable("departId") Long departId) { + List list = iFtPatientDaoService.selectNoCateringByDepartId(departId); + return AjaxResult.success(list); + } + + + /** + * 根据 patientId 查询病人床号 + */ + @GetMapping("/getBedIdById/{patientId}") + public AjaxResult getBedIdById(@PathVariable("patientId") Long patientId) { + String bedId = iFtPatientDaoService.getById(patientId).getBedId(); + return AjaxResult.success(bedId); + } + + /** + * 导出病人管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:export')") + @Log(title = "病人管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtPatientDao ftPatientDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftPatientDao); + List list = iFtPatientDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtPatientDao.class); + return util.exportExcel(list, "patient"); + } + + /** + * 获取病人管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:query')") + @GetMapping(value = "/{patientId}") + public AjaxResult getInfo(@PathVariable("patientId") Long patientId) { + return AjaxResult.success(iFtPatientDaoService.getById(patientId)); + } + + /** + * 新增病人管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:add')") + @Log(title = "病人管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtPatientDao ftPatientDao) { + + ftPatientDao.setCreateAt(new Date()); + ftPatientDao.setOffFlag(0); + iFtPatientDaoService.save(ftPatientDao); + + iFtFoodDemandDaoService.GenerateOrderByPatientId(ftPatientDao.getPatientId()); + reportMealsDaoService.insertTomorrowReportMealByPatient(ftPatientDao.getPatientId()); + + return AjaxResult.success("已添加"); + } + + /** + * 修改病人管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:edit')") + @Log(title = "病人管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtPatientDao ftPatientDao) { + return toAjax(iFtPatientDaoService.updateById(ftPatientDao) ? 1 : 0); + } + + /** + * 删除病人管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:patient:remove')") + @Log(title = "病人管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{patientIds}") + public AjaxResult remove(@PathVariable Long[] patientIds) { + return toAjax(iFtPatientDaoService.removeByIds(Arrays.asList(patientIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPrepaymentDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPrepaymentDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..5ec8ba0d9cebc568e0744be48498a8c0985810a5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtPrepaymentDaoController.java @@ -0,0 +1,227 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.date.DateUtil; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.config.RuoYiConfig; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentVo; +import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService; +import com.ruoyi.system.fantang.utils.PdfUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 收费管理Controller + * + * @author ft + * @date 2020-11-19 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/prepayment") +public class FtPrepaymentDaoController extends BaseController { + + private final IFtPrepaymentDaoService iFtPrepaymentDaoService; + + @Value("${fantang.templatePath}") + private String templatePath; + + @Value("${fantang.fileWebUrl}") + private String fileWebUrl; + + @GetMapping("/getCountById/{patientId}") + public AjaxResult getCountById(@PathVariable("patientId") Long patientId) { + FtPrepaymentVo dao = iFtPrepaymentDaoService.getCountById(patientId); + if (dao == null) + return AjaxResult.error("无该记录"); + return AjaxResult.success("操作成功", dao); + } + + /** + * 通过病人id查询收费管理详细 + * 作者:陈智兴 + * 日期:2020年12月2日 + * 功能: 前端查询预付款情况 + * + * @param patientId + * @return + */ + @GetMapping("/getPrepaymentByPatientId/{patientId}") + public AjaxResult getPrepaymentByPatientId(@PathVariable("patientId") Long patientId) { + FtPrepaymentDao ftPrepaymentDao = iFtPrepaymentDaoService.getByPatientId(patientId); + if (ftPrepaymentDao == null) { + return AjaxResult.error("无该记录"); + } + return AjaxResult.success("操作成功", ftPrepaymentDao); + } + + // 查询所有待缴费列表 + @PreAuthorize("@ss.hasPermi('fantang:prepayment:list')") + @GetMapping("/listNoPrepay") + public TableDataInfo listNoPrepay(FtPrepaymentVo params) { + startPage(); + return getDataTable(iFtPrepaymentDaoService.listNoPrepay(params)); + } + + // 查询所有已缴费列表 + @PreAuthorize("@ss.hasPermi('fantang:prepayment:list')") + @GetMapping("/listPrepay") + public TableDataInfo listPrepay(FtPrepaymentVo params) { + startPage(); + if (params.getPrepaidAt() != null) { + Date date = DateUtil.parse(params.getPrepaidAt().toString()); + params.setPrepaidAt(date); + } + return getDataTable(iFtPrepaymentDaoService.listPrepay(params)); + } + + // 查询所有已结算列表 + @PreAuthorize("@ss.hasPermi('fantang:prepayment:list')") + @GetMapping("/listAllPrepay") + public TableDataInfo listAllPrepay(FtPrepaymentVo params) { + startPage(); + + List list = iFtPrepaymentDaoService.listAllPrepay(params); + return getDataTable(list); + } + + + /** + * 查询收费管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:list')") + @GetMapping("/list") + public TableDataInfo list(FtPrepaymentDao ftPrepaymentDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftPrepaymentDao); + if (ftPrepaymentDao.getCollectAt() != null) { + lqw.eq(FtPrepaymentDao::getCollectAt, ftPrepaymentDao.getCollectAt()); + } + if (ftPrepaymentDao.getSettlementAt() != null) { + lqw.eq(FtPrepaymentDao::getSettlementAt, ftPrepaymentDao.getSettlementAt()); + } + if (ftPrepaymentDao.getSettlementFlag() != null) { + lqw.eq(FtPrepaymentDao::getSettlementFlag, ftPrepaymentDao.getSettlementFlag()); + } + if (ftPrepaymentDao.getPrepaid() != null) { + lqw.eq(FtPrepaymentDao::getPrepaid, ftPrepaymentDao.getPrepaid()); + } + if (ftPrepaymentDao.getPrepaidAt() != null) { + lqw.eq(FtPrepaymentDao::getPrepaidAt, ftPrepaymentDao.getPrepaidAt()); + } + if (ftPrepaymentDao.getPrepaidAt() != null) { + lqw.eq(FtPrepaymentDao::getPrepaidAt, ftPrepaymentDao.getPrepaidAt()); + } + List list = iFtPrepaymentDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出收费管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:export')") + @Log(title = "收费管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtPrepaymentDao ftPrepaymentDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftPrepaymentDao); + List list = iFtPrepaymentDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtPrepaymentDao.class); + return util.exportExcel(list, "prepayment"); + } + + /** + * 获取收费管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:query')") + @GetMapping(value = "/{prepaymentId}") + public AjaxResult getInfo(@PathVariable("prepaymentId") Long prepaymentId) { + return AjaxResult.success(iFtPrepaymentDaoService.getById(prepaymentId)); + } + + /** + * 新增收费管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:add')") + @Log(title = "收费管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtPrepaymentDao ftPrepaymentDao) { + ftPrepaymentDao.setCollectAt(new Date()); + + return toAjax(iFtPrepaymentDaoService.save(ftPrepaymentDao) ? 1 : 0); + } + + /** + * 修改收费管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:edit')") + @Log(title = "收费管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtPrepaymentVo ftPrepaymentDao) { + return toAjax(iFtPrepaymentDaoService.updateById(ftPrepaymentDao) ? 1 : 0); + } + + /** + * 删除收费管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:prepayment:remove')") + @Log(title = "收费管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{prepaymentIds}") + public AjaxResult remove(@PathVariable Long[] prepaymentIds) { + return toAjax(iFtPrepaymentDaoService.removeByIds(Arrays.asList(prepaymentIds)) ? 1 : 0); + } + + /** + * 生成 pdf 收据 + */ + @PostMapping("/generateReceiptPdf") + public AjaxResult generateReceiptPdf(@RequestBody JSONObject params) { + + String patientId = params.getString("patientId"); + + // 模板路径 +// String templatePath = "F:\\pdfTemplate\\饭堂票据模板2.pdf"; +// String templatePath = "Z:\\程序开发\\项目测试\\三院饭堂\\饭堂收费票据模板.pdf"; + + // 生成的新文件路径 + String outputPath = RuoYiConfig.getUploadPath() + "\\饭堂票据" + patientId + ".pdf"; + + PdfUtils.generatePrepaymentPdf(templatePath, outputPath, params); + + // 下载地址 + String downloadPath = "profile/upload/饭堂票据" + patientId + ".pdf"; + + return AjaxResult.success(fileWebUrl + downloadPath); + } + + /** + * 出院结清 + */ + @PutMapping("/leaveSettlePrepayment/{prepaymentId}") + public AjaxResult leaveSettlePrepayment(@PathVariable Long prepaymentId){ + + FtPrepaymentDao prepaymentDao = new FtPrepaymentDao(); + prepaymentDao.setPrepaymentId(prepaymentId); + prepaymentDao.setPrepaid(new BigDecimal(0)); + prepaymentDao.setSettlementFlag(1); + prepaymentDao.setSettlementAt(new Date()); + + iFtPrepaymentDaoService.updateById(prepaymentDao); + return AjaxResult.success("已结清"); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..67b9cd2457db417d30f7a0cc7db90de84aaea6f7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReportMealsDaoController.java @@ -0,0 +1,251 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.date.DateUnit; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.entity.ReportMealsDayEntity; +import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService; +import com.ruoyi.system.fantang.service.IFtReportMealsDaoService; +import com.ruoyi.system.fantang.vo.FtReportMealVo; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +import static com.ruoyi.common.core.domain.AjaxResult.success; + +/** + * 报餐管理Controller + * + * @author ft + * @date 2020-11-19 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/meals") +public class FtReportMealsDaoController extends BaseController { + + private final IFtReportMealsDaoService iFtReportMealsDaoService; + + @Autowired + private IFtPrepaymentDaoService prepaymentDaoService; + + + /** + * 查询指定用户上一次结算的日期,并通过这个日期计算未结算的天数 + */ + @GetMapping("/getLastSettlementDate/{patientId}") + public AjaxResult getLastSettlementDate(@PathVariable("patientId") Long patientId) { + // 初始化一个返回对象 + AjaxResult result = AjaxResult.success(); + + // 获取该病患的预付费数据 + FtPrepaymentDao prepaymentDao = prepaymentDaoService.getByPatientId(patientId); + result.put("prepayment", prepaymentDao); + + // 获取最近一次已结算的报餐记录,如果首次结算则返回第一条已用餐的记录 + FtReportMealsDao reportMealsDao = iFtReportMealsDaoService.getLastReportMeals(patientId); + + // 获取用餐日期 + Date diningAt = reportMealsDao.getDiningAt(); + // 获取结算日期 + Date settlementAt = reportMealsDao.getSettlementAt(); + ReportMealsDayEntity reportMealsDayEntity = new ReportMealsDayEntity(); + + // 如果首次结算 + if (settlementAt == null) { + // 计算第一条已用餐的用餐时间与现在相差多少天 + long betweenDays = DateUtil.between(diningAt, new Date(), DateUnit.DAY); + reportMealsDayEntity.setDays(betweenDays); + reportMealsDayEntity.setLastCreateDate(diningAt); + result.put("reportMeals", reportMealsDayEntity); + + return result; + } + + //计算上次结算日期与现在相差多少天 + long days = DateUtil.between(settlementAt, new Date(), DateUnit.DAY); + reportMealsDayEntity.setSettlementAt(settlementAt); + reportMealsDayEntity.setDays(days); + result.put("reportMeals", reportMealsDayEntity); + + return result; + } + + + /** + * 查询所有报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") + @GetMapping("/listAll") + public TableDataInfo listAll(FtReportMealVo ftReportMealsDao) { + startPage(); + List list = iFtReportMealsDaoService.listAll(); + return getDataTable(list); + } + + /** + * 查询所有未付费报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") + @GetMapping("/listNoPay") + public TableDataInfo listNoPay(FtReportMealVo ftReportMealsDao) { + startPage(); + List list = iFtReportMealsDaoService.listNoPay(); + return getDataTable(list); + } + + /** + * 查询所有已付费报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") + @GetMapping("/listPayoff") + public TableDataInfo listPayoff(FtReportMealVo ftReportMealsDao) { + startPage(); + + List list = iFtReportMealsDaoService.listPayoff(); + return getDataTable(list); + } + + + /** + * 查询报餐管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") + @GetMapping("/list") + public TableDataInfo list(FtReportMealsDao ftReportMealsDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftReportMealsDao); + if (ftReportMealsDao.getCreateAt() != null) { + lqw.eq(FtReportMealsDao::getCreateAt, ftReportMealsDao.getCreateAt()); + } + if (ftReportMealsDao.getType() != null) { + lqw.eq(FtReportMealsDao::getType, ftReportMealsDao.getType()); + } + if (ftReportMealsDao.getCreateBy() != null) { + lqw.eq(FtReportMealsDao::getCreateBy, ftReportMealsDao.getCreateBy()); + } + if (ftReportMealsDao.getPrice() != null) { + lqw.eq(FtReportMealsDao::getPrice, ftReportMealsDao.getPrice()); + } + List list = iFtReportMealsDaoService.list(lqw); + return getDataTable(list); + } + + @GetMapping("/listStatistics") + public TableDataInfo listStatistics(FtReportMealsDao ftReportMealsDao) { + + startPage(); + + return getDataTable(iFtReportMealsDaoService.listNutrition(ftReportMealsDao)); + } + + @PreAuthorize("@ss.hasPermi('fantang:meals:list')") + @GetMapping("/listMealsWithInSettle") + public TableDataInfo listMealsWithInSettle(FtReportMealsDao ftReportMealsDao) { + startPage(); + List list = iFtReportMealsDaoService.listMealsWithInSettle(ftReportMealsDao); + return getDataTable(list); + } + + /** + * 导出报餐管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:export')") + @Log(title = "报餐管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtReportMealsDao ftReportMealsDao) { + Date createAt = ftReportMealsDao.getCreateAt(); + + if (createAt != null) { + ftReportMealsDao.setBeginOfDay(createAt); + ftReportMealsDao.setEndOfDay(createAt); + } + + List list = iFtReportMealsDaoService.listPatientReportMeals(ftReportMealsDao); + + ExcelUtil util = new ExcelUtil<>(FtReportMealsDao.class); + return util.exportExcel(list, "病患报餐统计"); + } + + + /** + * 计算两个日期之间的未结算数据 + * + * @param dao + * @return + */ + @GetMapping("/countBillingBetween") + public AjaxResult countBillingBetween(ReportMealsDayEntity dao) { + return success(iFtReportMealsDaoService.countBillingBetween(dao)); + } + + /** + * 获取报餐管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return success(iFtReportMealsDaoService.getById(id)); + } + + /** + * 新增报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:add')") + @Log(title = "报餐管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtReportMealsDao ftReportMealsDao) { + return toAjax(iFtReportMealsDaoService.save(ftReportMealsDao) ? 1 : 0); + } + + /** + * 修改报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:edit')") + @Log(title = "报餐管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtReportMealsDao ftReportMealsDao) { + return toAjax(iFtReportMealsDaoService.updateById(ftReportMealsDao) ? 1 : 0); + } + + /** + * 删除报餐管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:meals:remove')") + @Log(title = "报餐管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtReportMealsDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } + + + @GetMapping("/listPatientReportMeals") + public TableDataInfo listPatientReportMeals(FtReportMealsDao ftReportMealsDao) { + startPage(); + Date createAt = ftReportMealsDao.getCreateAt(); + + if (createAt != null) { + ftReportMealsDao.setBeginOfDay(createAt); + ftReportMealsDao.setEndOfDay(createAt); + } + + List list = iFtReportMealsDaoService.listPatientReportMeals(ftReportMealsDao); + return getDataTable(list); + + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReturnDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReturnDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..25cd166bad79c90b47d3a94b6ae6d9965b6292c8 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtReturnDaoController.java @@ -0,0 +1,165 @@ +package com.ruoyi.system.fantang.controller; + +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtInvoiceDao; +import com.ruoyi.system.fantang.domain.FtReturnDao; +import com.ruoyi.system.fantang.service.IFtInvoiceDaoService; +import com.ruoyi.system.fantang.service.IFtReturnDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 回款登记Controller + * + * @author ft + * @date 2021-01-25 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/returnManage") +public class FtReturnDaoController extends BaseController { + + private final IFtReturnDaoService iFtReturnDaoService; + + private final IFtInvoiceDaoService iFtInvoiceDaoService; + + /** + * 查询回款登记列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:list')") + @GetMapping("/list") + public TableDataInfo list(FtReturnDao ftReturnDao) { + startPage(); + List list = iFtReturnDaoService.queryList(ftReturnDao); + return getDataTable(list); + } + + /** + * 导出回款登记列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:export')") + @Log(title = "回款登记", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtReturnDao ftReturnDao) { + List list = iFtReturnDaoService.queryList(ftReturnDao); + ExcelUtil util = new ExcelUtil(FtReturnDao.class); + return util.exportExcel(list, "returnManage"); + } + + /** + * 获取回款登记详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtReturnDaoService.getById(id)); + } + + /** + * 新增回款登记 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:add')") + @Log(title = "回款登记", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtReturnDao ftReturnDao) { + return toAjax(iFtReturnDaoService.save(ftReturnDao) ? 1 : 0); + } + + /** + * 修改回款登记 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:edit')") + @Log(title = "回款登记", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtReturnDao ftReturnDao) { + return toAjax(iFtReturnDaoService.updateById(ftReturnDao) ? 1 : 0); + } + + /** + * 删除回款登记 + */ + @PreAuthorize("@ss.hasPermi('fantang:returnManage:remove')") + @Log(title = "回款登记", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtReturnDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } + + @PostMapping("/addToReturn") + public AjaxResult addToReturn(@RequestBody JSONObject params) { + System.out.println(params); + + // 回款金额 + BigDecimal returnPrice = params.getBigDecimal("returnPrice"); + + // 开票金额 + BigDecimal invoiceAmount = params.getBigDecimal("invoiceAmount"); + + // 余额 + BigDecimal nowBalancePrice; + + // 发票 id + Long id = params.getLong("id"); + + if (returnPrice.compareTo(invoiceAmount) > 0) { + return AjaxResult.error("该次回款超出开票金额"); + } + + // 查找该发票上次的回款记录 + FtReturnDao lastReturn = iFtReturnDaoService.selectLastReturn(id); + + if (lastReturn == null) { + // 余额 + nowBalancePrice = invoiceAmount.subtract(returnPrice); + } else { + BigDecimal lastBalancePrice = lastReturn.getBalancePrice(); + if (lastBalancePrice.compareTo(returnPrice) < 0) { + return AjaxResult.error("该次回款超出开票金额"); + } else { + nowBalancePrice = lastBalancePrice.subtract(returnPrice); + } + } + + + FtReturnDao ftReturnDao = new FtReturnDao(); + ftReturnDao.setInvoiceId(id); + ftReturnDao.setReturnPrice(returnPrice); + ftReturnDao.setVoucherUrl(params.getString("voucherUrl")); + ftReturnDao.setReturnAt(new Date()); + ftReturnDao.setBalancePrice(nowBalancePrice); + + if (nowBalancePrice.compareTo(new BigDecimal(0)) == 0) { + FtInvoiceDao ftInvoiceDao = new FtInvoiceDao(); + ftInvoiceDao.setId(id); + ftInvoiceDao.setInvoiceType(1); + iFtInvoiceDaoService.updateById(ftInvoiceDao); + } + + iFtReturnDaoService.save(ftReturnDao); + + return AjaxResult.success("回款成功"); + } + + @GetMapping("/getReturnByInvoice/{id}") + public TableDataInfo getReturnByInvoice(@PathVariable Long id) { + startPage(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("invoice_id", id); + List list = iFtReturnDaoService.list(wrapper); + return getDataTable(list); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettleDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettleDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..2a53a85fd1b77a4f73748b7259f9bf119844cb41 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettleDaoController.java @@ -0,0 +1,289 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.domain.FtSettleDao; +import com.ruoyi.system.fantang.entity.ReportMealsPriceEntity; +import com.ruoyi.system.fantang.entity.SettleEntity; +import com.ruoyi.system.fantang.service.IFtInvoiceDaoService; +import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService; +import com.ruoyi.system.fantang.service.IFtReportMealsDaoService; +import com.ruoyi.system.fantang.service.IFtSettleDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.*; + +/** + * 结算报Controller + * + * @author ft + * @date 2020-11-19 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/settle") +public class FtSettleDaoController extends BaseController { + + private final IFtSettleDaoService iFtSettleDaoService; + + private final IFtReportMealsDaoService iFtReportMealsDaoService; + + private final IFtPrepaymentDaoService iFtPrepaymentDaoService; + + private final IFtInvoiceDaoService iFtInvoiceDaoService; + + + /** + * 显示报餐信息,包含日期,正餐与营养餐的总价格 + */ + @PostMapping("/showMealsWithSelect") + public AjaxResult showMealsWithSelect(@RequestBody SettleEntity settlement) { + + // 病人 id + Long patientId = settlement.getPatientId(); + + // 上次结算 / 用餐日期 + Date lastBillingDate = settlement.getLastBillingDate(); + + // 用户选择结算日期 + Date selectBillingDate = settlement.getSelectBillingDate(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + // 根据病人 id ,上次结算日期,选择日期查询病人非营养餐记录 + QueryWrapper reportMealsWrapper = new QueryWrapper<>(); + reportMealsWrapper + .eq("patient_id", patientId) + .eq("dining_flag",1) + .between("dining_at", sdf.format(lastBillingDate), DateUtil.endOfDay(selectBillingDate)); + Integer pageNum = settlement.getPageNum(); + Integer pageSize = settlement.getPageSize(); + IPage reportMealsList = iFtReportMealsDaoService.listPage(reportMealsWrapper, pageNum, pageSize); + + ReportMealsPriceEntity reportMealsPrice = iFtReportMealsDaoService.sumTotalPrice(patientId, DateUtil.beginOfDay(lastBillingDate), DateUtil.endOfDay(selectBillingDate)); + + Map data = new HashMap<>(2); + data.put("reportMealsList", reportMealsList); + data.put("reportMealsPrice", reportMealsPrice); + + return AjaxResult.success(data); + } + + @GetMapping("/showAllMealsWithNoPay") + public AjaxResult showAllMealsWithNoPay(@RequestParam("patientId") Long patientId, @RequestParam("pageNum") Integer pageNum,@RequestParam("pageSize") Integer pageSize) { + + // 查找该病人所有已用餐未结算记录 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + wrapper.eq("dining_flag",1); + wrapper.eq("settlement_flag",0); + + IPage reportMealsList = iFtReportMealsDaoService.listPage(wrapper, pageNum, pageSize); + ReportMealsPriceEntity reportMealsPrice = iFtReportMealsDaoService.sumAllTotalPrice(patientId); + + Map data = new HashMap<>(2); + data.put("reportMealsList", reportMealsList); + data.put("reportMealsPrice", reportMealsPrice); + + return AjaxResult.success(data); + } + + /** + * 新增结算报 + */ + @PostMapping("/addSettle") + public AjaxResult addSettle(@RequestBody SettleEntity settlement) { + + // 病人 id + Long patientId = settlement.getPatientId(); + + // 上次结算 / 用餐日期 + Date lastBillingDate = settlement.getLastBillingDate(); + + // 用户选择结算日期 + Date selectBillingDate = settlement.getSelectBillingDate(); + + // 应收 + BigDecimal sumTotalPrice = settlement.getSumTotalPrice(); + + // 实收 + BigDecimal netPeceipt = settlement.getNetPeceipt(); + + // 操作用户 + String userName = settlement.getUserName(); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + // 添加结算记录 + FtSettleDao ftSettleDao = new FtSettleDao(); + ftSettleDao.setReceipts(netPeceipt); + ftSettleDao.setPatientId(patientId); + Date nowDate = new Date(); + ftSettleDao.setSettleAt(nowDate); + ftSettleDao.setOpera(userName); + ftSettleDao.setPayable(sumTotalPrice); + ftSettleDao.setReceipts(netPeceipt); + + //支付方式 + switch (settlement.getPayType()) { + case 1: + ftSettleDao.setType("现金"); + break; + + case 2: + // 根据病人 id 查询预付费记录 + QueryWrapper prepaymentWrapper = new QueryWrapper<>(); + prepaymentWrapper.eq("patient_id", patientId); + FtPrepaymentDao prepaymentDao = iFtPrepaymentDaoService.getOne(prepaymentWrapper); + + // 预付费扣费 + BigDecimal prepaid = prepaymentDao.getPrepaid(); + BigDecimal balance = prepaid.subtract(netPeceipt); + prepaymentDao.setPrepaid(balance); + iFtPrepaymentDaoService.updateById(prepaymentDao); + + ftSettleDao.setType("预付款冲减"); + break; + + case 3: + ftSettleDao.setType("在线支付"); + break; + case 4 : + ftSettleDao.setType("银行汇款"); + break; + case 5: + ftSettleDao.setType("挂账"); + break; + + default: + } + + + iFtSettleDaoService.save(ftSettleDao); + + // 修改报餐信息 + UpdateWrapper reportMealsWrapper = new UpdateWrapper<>(); + reportMealsWrapper.eq("patient_id", patientId); + reportMealsWrapper.between("create_at", sdf.format(lastBillingDate), sdf.format(selectBillingDate)); + FtReportMealsDao reportMealsDao = new FtReportMealsDao(); + reportMealsDao.setSettlementFlag(1); + reportMealsDao.setSettlementAt(nowDate); + reportMealsDao.setSettlementBy(userName); + reportMealsDao.setSettlementId(ftSettleDao.getSettleId()); + iFtReportMealsDaoService.update(reportMealsDao, reportMealsWrapper); + + return AjaxResult.success("已收费"); + } + + /** + * 查询结算报列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:list')") + @GetMapping("/list") + public TableDataInfo list(FtSettleDao ftSettleDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftSettleDao); + if (ftSettleDao.getSettleAt() != null) { + lqw.eq(FtSettleDao::getSettleAt, ftSettleDao.getSettleAt()); + } + if (ftSettleDao.getPrice() != null) { + lqw.eq(FtSettleDao::getPrice, ftSettleDao.getPrice()); + } + if (ftSettleDao.getPayable() != null) { + lqw.eq(FtSettleDao::getPayable, ftSettleDao.getPayable()); + } + if (ftSettleDao.getReceipts() != null) { + lqw.eq(FtSettleDao::getReceipts, ftSettleDao.getReceipts()); + } + if (StringUtils.isNotBlank(ftSettleDao.getType())) { + lqw.eq(FtSettleDao::getType, ftSettleDao.getType()); + } + if (ftSettleDao.getRefund() != null) { + lqw.eq(FtSettleDao::getRefund, ftSettleDao.getRefund()); + } + List list = iFtSettleDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出结算报列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:export')") + @Log(title = "结算报", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtSettleDao ftSettleDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftSettleDao); + List list = iFtSettleDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtSettleDao.class); + return util.exportExcel(list, "settle"); + } + + /** + * 获取结算报详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:query')") + @GetMapping(value = "/{settleId}") + public AjaxResult getInfo(@PathVariable("settleId") Long settleId) { + return AjaxResult.success(iFtSettleDaoService.getById(settleId)); + } + + /** + * 新增结算报 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:add')") + @Log(title = "结算报", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtSettleDao ftSettleDao) { + ftSettleDao.setSettleAt(new Date()); + ftSettleDao.setReceipts(ftSettleDao.getNetPeceipt()); + + Long patientId = ftSettleDao.getPatientId(); + Date lastBillingDate = ftSettleDao.getLastBillingDate(); + Date selectBillingDate = ftSettleDao.getSelectBillingDate(); + iFtSettleDaoService.save(ftSettleDao); + Long settlementId = ftSettleDao.getSettleId(); + SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + iFtReportMealsDaoService.settleMeals(settlementId, patientId, ft.format(lastBillingDate), ft.format(selectBillingDate)); + iFtSettleDaoService.updateList(settlementId, patientId, ft.format(lastBillingDate), ft.format(selectBillingDate)); + + return AjaxResult.success("结算成功"); + } + + /** + * 修改结算报 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:edit')") + @Log(title = "结算报", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtSettleDao ftSettleDao) { + return toAjax(iFtSettleDaoService.updateById(ftSettleDao) ? 1 : 0); + } + + /** + * 删除结算报 + */ + @PreAuthorize("@ss.hasPermi('fantang:settle:remove')") + @Log(title = "结算报", businessType = BusinessType.DELETE) + @DeleteMapping("/{settleIds}") + public AjaxResult remove(@PathVariable Long[] settleIds) { + return toAjax(iFtSettleDaoService.removeByIds(Arrays.asList(settleIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettlementDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettlementDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..b3a142e83400ade48e5eef06988593c0e4312b61 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSettlementDaoController.java @@ -0,0 +1,98 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtSettleDao; +import com.ruoyi.system.fantang.domain.FtSettlementDao; +import com.ruoyi.system.fantang.service.IFtSettlementDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 结算管理Controller + * + * @author ft + * @date 2020-12-25 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/settlement") +public class FtSettlementDaoController extends BaseController { + + private final IFtSettlementDaoService iFtSettlementDaoService; + + /** + * 查询结算管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:list')") + @GetMapping("/list") + public TableDataInfo list(FtSettlementDao ftSettlementDao) { + startPage(); + List list = iFtSettlementDaoService.listWithPatient(ftSettlementDao); + return getDataTable(list); + } + + /** + * 导出结算管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:export')") + @Log(title = "结算管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtSettlementDao ftSettlementDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftSettlementDao); + List list = iFtSettlementDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtSettlementDao.class); + return util.exportExcel(list, "settlement"); + } + + /** + * 获取结算管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:query')") + @GetMapping(value = "/{settleId}") + public AjaxResult getInfo(@PathVariable("settleId") Long settleId) { + return AjaxResult.success(iFtSettlementDaoService.getById(settleId)); + } + + /** + * 新增结算管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:add')") + @Log(title = "结算管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtSettlementDao ftSettlementDao) { + return toAjax(iFtSettlementDaoService.save(ftSettlementDao) ? 1 : 0); + } + + /** + * 修改结算管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:edit')") + @Log(title = "结算管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtSettlementDao ftSettlementDao) { + return toAjax(iFtSettlementDaoService.updateById(ftSettlementDao) ? 1 : 0); + } + + /** + * 删除结算管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:settlement:remove')") + @Log(title = "结算管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{settleIds}") + public AjaxResult remove(@PathVariable Long[] settleIds) { + return toAjax(iFtSettlementDaoService.removeByIds(Arrays.asList(settleIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffDemandDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffDemandDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..73dd2ff3d87697000ba1e58284cfa593fa7be621 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffDemandDaoController.java @@ -0,0 +1,130 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.ruoyi.system.fantang.service.IFtConfigDaoService; +import com.ruoyi.system.fantang.service.IFtStaffDemandDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 员工报餐Controller + * + * @author ft + * @date 2020-12-07 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/staffDemand") +public class FtStaffDemandDaoController extends BaseController { + + private final IFtStaffDemandDaoService iFtStaffDemandDaoService; + + private final IFtConfigDaoService iFtConfigDaoService; + + + + /** + * 查询员工报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:list')") + @GetMapping("/list") + public TableDataInfo list(FtStaffDemandDao ftStaffDemandDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftStaffDemandDao); + if (ftStaffDemandDao.getStaffId() != null) { + lqw.eq(FtStaffDemandDao::getStaffId, ftStaffDemandDao.getStaffId()); + } + if (StringUtils.isNotBlank(ftStaffDemandDao.getFoods())) { + lqw.eq(FtStaffDemandDao::getFoods, ftStaffDemandDao.getFoods()); + } + if (ftStaffDemandDao.getType() != null) { + lqw.eq(FtStaffDemandDao::getType, ftStaffDemandDao.getType()); + } + if (ftStaffDemandDao.getCreateAt() != null) { + lqw.eq(FtStaffDemandDao::getCreateAt, ftStaffDemandDao.getCreateAt()); + } + if (ftStaffDemandDao.getUpdateAt() != null) { + lqw.eq(FtStaffDemandDao::getUpdateAt, ftStaffDemandDao.getUpdateAt()); + } + if (ftStaffDemandDao.getUpdateFrom() != null) { + lqw.eq(FtStaffDemandDao::getUpdateFrom, ftStaffDemandDao.getUpdateFrom()); + } + if (StringUtils.isNotBlank(ftStaffDemandDao.getOrderInfo())) { + lqw.eq(FtStaffDemandDao::getOrderInfo, ftStaffDemandDao.getOrderInfo()); + } + if (ftStaffDemandDao.getDemandMode() != null) { + lqw.eq(FtStaffDemandDao::getDemandMode, ftStaffDemandDao.getDemandMode()); + } + if (ftStaffDemandDao.getStopFlag() != null) { + lqw.eq(FtStaffDemandDao::getStopFlag, ftStaffDemandDao.getStopFlag()); + } + List list = iFtStaffDemandDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出员工报餐列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:export')") + @Log(title = "员工报餐", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtStaffDemandDao ftStaffDemandDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftStaffDemandDao); + List list = iFtStaffDemandDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtStaffDemandDao.class); + return util.exportExcel(list, "staffDemand"); + } + + /** + * 获取员工报餐详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtStaffDemandDaoService.getById(id)); + } + + /** + * 新增员工报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:add')") + @Log(title = "员工报餐", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtStaffDemandDao ftStaffDemandDao) { + return toAjax(iFtStaffDemandDaoService.save(ftStaffDemandDao) ? 1 : 0); + } + + /** + * 修改员工报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:edit')") + @Log(title = "员工报餐", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtStaffDemandDao ftStaffDemandDao) { + return toAjax(iFtStaffDemandDaoService.updateById(ftStaffDemandDao) ? 1 : 0); + } + + /** + * 删除员工报餐 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffDemand:remove')") + @Log(title = "员工报餐", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtStaffDemandDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffInfoDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffInfoDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..7e02d3ab8075ac5910713ce0a9477c63d0c628d4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffInfoDaoController.java @@ -0,0 +1,193 @@ +package com.ruoyi.system.fantang.controller; + +import cn.hutool.core.date.DateTime; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtStaffInfoDao; +import com.ruoyi.system.fantang.service.IFtStaffInfoDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.Date; +import java.util.List; + +/** + * 员工管理Controller + * + * @author ft + * @date 2020-11-24 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/staffInfo") +public class FtStaffInfoDaoController extends BaseController { + + private final IFtStaffInfoDaoService iFtStaffInfoDaoService; + + /** + * 查询员工管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:list')") + @GetMapping("/staffList") + public TableDataInfo staffList(FtStaffInfoDao ftStaffInfoDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftStaffInfoDao); + lqw.eq(FtStaffInfoDao::getStaffType, 1); + if (StringUtils.isNotBlank(ftStaffInfoDao.getName())) { + lqw.like(FtStaffInfoDao::getName, ftStaffInfoDao.getName()); + } + if (StringUtils.isNotBlank(ftStaffInfoDao.getPost())) { + lqw.eq(FtStaffInfoDao::getPost, ftStaffInfoDao.getPost()); + } + if (ftStaffInfoDao.getFlag() != null) { + lqw.eq(FtStaffInfoDao::getFlag, ftStaffInfoDao.getFlag()); + } + List list = iFtStaffInfoDaoService.list(lqw); + return getDataTable(list); + } + + @GetMapping("/staffListWithDepart") + public TableDataInfo staffListWithDepart(FtStaffInfoDao ftStaffInfoDao) { + startPage(); + return getDataTable(iFtStaffInfoDaoService.selectStaffInfoWithDepart(ftStaffInfoDao)); + } + + /** + * 查询护工管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:list')") + @GetMapping("/careStaffList") + public TableDataInfo careStaffList(FtStaffInfoDao ftStaffInfoDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftStaffInfoDao); + lqw.eq(FtStaffInfoDao::getStaffType, 2); + if (StringUtils.isNotBlank(ftStaffInfoDao.getName())) { + lqw.like(FtStaffInfoDao::getName, ftStaffInfoDao.getName()); + } + if (StringUtils.isNotBlank(ftStaffInfoDao.getPost())) { + lqw.eq(FtStaffInfoDao::getPost, ftStaffInfoDao.getPost()); + } + List list = iFtStaffInfoDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出员工管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:export')") + @Log(title = "员工管理", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtStaffInfoDao ftStaffInfoDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftStaffInfoDao); + List list = iFtStaffInfoDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtStaffInfoDao.class); + return util.exportExcel(list, "staffInfo"); + } + + /** + * 获取员工管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:query')") + @GetMapping(value = "/nursing/{staffId}") + public AjaxResult getNursingInfo(@PathVariable("staffId") Long staffId) { + return AjaxResult.success(iFtStaffInfoDaoService.getById(staffId)); + } + + /** + * 获取护工管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:query')") + @GetMapping(value = "/{staffId}") + public AjaxResult getInfo(@PathVariable("staffId") Long staffId) { + return AjaxResult.success(iFtStaffInfoDaoService.getById(staffId)); + } + + + /** + * 新增员工管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:add')") + @Log(title = "员工管理", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtStaffInfoDao ftStaffInfoDao) { + + List list = iFtStaffInfoDaoService.list(null); + for (FtStaffInfoDao staffInfoDao : list) { + if (ftStaffInfoDao.getTel() != null && ftStaffInfoDao.getTel().equals(staffInfoDao.getTel())) { + return AjaxResult.error("该电话号码已存在"); + } + } + + // 判断是否有所属公司 + if (ftStaffInfoDao.getCorpName() == null) { + ftStaffInfoDao.setStaffType(1L); + } else { + ftStaffInfoDao.setStaffType(2L); + } + + // 判断密码是否为空 + if (ftStaffInfoDao.getPassword() == null || "".equals(ftStaffInfoDao.getPassword())) { + ftStaffInfoDao.setPassword("123456"); + } + + ftStaffInfoDao.setCreateAt(new Date()); + ftStaffInfoDao.setDeptList(ftStaffInfoDao.getDeptList()); + + iFtStaffInfoDaoService.save(ftStaffInfoDao); + + return AjaxResult.success("添加成功"); + } + + /** + * 修改员工管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:edit')") + @Log(title = "员工管理", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtStaffInfoDao ftStaffInfoDao) { + return toAjax(iFtStaffInfoDaoService.updateById(ftStaffInfoDao) ? 1 : 0); + } + + + /** + * 修改护工管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:edit')") + @Log(title = "护工管理", businessType = BusinessType.UPDATE) + @PutMapping("/nursing") + public AjaxResult nursingEdit(@RequestBody JSONObject param) { + FtStaffInfoDao dao = new FtStaffInfoDao(); + dao.setPassword(param.getString("password")); + dao.setTel(param.getString("tel")); + dao.setStaffId(param.getLong("staffId")); + dao.setCorpName(param.getString("corpName")); + dao.setCreateAt(new DateTime()); + dao.setSex(param.getInteger("sex")); + dao.setDeptList(param.getString("deptList")); + dao.setStaffType(param.getLong("staffType")); + dao.setName(param.getString("name")); + return toAjax(iFtStaffInfoDaoService.updateById(dao) ? 1 : 0); + } + + + /** + * 删除员工管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffInfo:remove')") + @Log(title = "员工管理", businessType = BusinessType.DELETE) + @DeleteMapping("/{staffIds}") + public AjaxResult remove(@PathVariable Long[] staffIds) { + return toAjax(iFtStaffInfoDaoService.removeByIds(Arrays.asList(staffIds)) ? 1 : 0); + } +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..a35e7f03c96f3cca0f6533b76e8c8865f380698a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtStaffSubsidyDaoController.java @@ -0,0 +1,191 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.*; +import com.ruoyi.system.fantang.mapper.FtStaffInfoDaoMapper; +import com.ruoyi.system.fantang.service.IFtConfigDaoService; +import com.ruoyi.system.fantang.service.IFtStaffInfoDaoService; +import com.ruoyi.system.fantang.service.IFtStaffSubsidyDaoService; +import com.ruoyi.system.fantang.vo.FtStaffSubsidyVo; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.math.BigDecimal; +import java.util.*; + +/** + * 补贴流水查看Controller + * + * @author ft + * @date 2020-11-19 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/staffSubsidy") +public class FtStaffSubsidyDaoController extends BaseController { + + private final IFtStaffSubsidyDaoService iFtStaffSubsidyDaoService; + + private final IFtStaffInfoDaoService staffInfoDaoService; + + private final IFtConfigDaoService configDaoService; + + /** + * 查询补贴流水查看列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:list')") + @GetMapping("/list") + public TableDataInfo list(FtStaffSubsidyDao ftStaffSubsidyDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftStaffSubsidyDao); + if (StringUtils.isNotBlank(ftStaffSubsidyDao.getSubsidyType())) { + lqw.eq(FtStaffSubsidyDao::getSubsidyType, ftStaffSubsidyDao.getSubsidyType()); + } + if (ftStaffSubsidyDao.getIncomeType() != null) { + lqw.eq(FtStaffSubsidyDao::getIncomeType, ftStaffSubsidyDao.getIncomeType()); + } + if (ftStaffSubsidyDao.getPrice() != null) { + lqw.eq(FtStaffSubsidyDao::getPrice, ftStaffSubsidyDao.getPrice()); + } + if (ftStaffSubsidyDao.getConsumAt() != null) { + lqw.eq(FtStaffSubsidyDao::getConsumAt, ftStaffSubsidyDao.getConsumAt()); + } + List list = iFtStaffSubsidyDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出补贴流水查看列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:export')") + @Log(title = "补贴流水查看", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtStaffSubsidyDao ftStaffSubsidyDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftStaffSubsidyDao); + List list = iFtStaffSubsidyDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtStaffSubsidyDao.class); + return util.exportExcel(list, "staffSubsidy"); + } + + /** + * 获取补贴流水查看详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:query')") + @GetMapping(value = "/{subsidyId}") + public AjaxResult getInfo(@PathVariable("subsidyId") Long subsidyId) { + return AjaxResult.success(iFtStaffSubsidyDaoService.getById(subsidyId)); + } + + /** + * 新增补贴流水查看 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:add')") + @Log(title = "补贴流水查看", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtStaffSubsidyDao ftStaffSubsidyDao) { + return toAjax(iFtStaffSubsidyDaoService.save(ftStaffSubsidyDao) ? 1 : 0); + } + + /** + * 修改补贴流水查看 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:edit')") + @Log(title = "补贴流水查看", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtStaffSubsidyDao ftStaffSubsidyDao) { + return toAjax(iFtStaffSubsidyDaoService.updateById(ftStaffSubsidyDao) ? 1 : 0); + } + + /** + * 删除补贴流水查看 + */ + @PreAuthorize("@ss.hasPermi('fantang:staffSubsidy:remove')") + @Log(title = "补贴流水查看", businessType = BusinessType.DELETE) + @DeleteMapping("/{subsidyIds}") + public AjaxResult remove(@PathVariable Long[] subsidyIds) { + return toAjax(iFtStaffSubsidyDaoService.removeByIds(Arrays.asList(subsidyIds)) ? 1 : 0); + } + + /** + * 发放员工补贴 + */ + @PostMapping("/submitGiveOutSubsidy") + public AjaxResult submitGiveOutSubsidy(@RequestBody FtStaffSubsidyVo ftStaffSubsidyVo) { + + FtSubsidyDao subsidy = ftStaffSubsidyVo.getSubsidy(); + List noGiveoutList = ftStaffSubsidyVo.getNoGiveoutList(); + Date giveOutDate = ftStaffSubsidyVo.getGiveOutDate(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.notIn("staff_id", noGiveoutList); + List staffData = staffInfoDaoService.list(wrapper); + + List ftStaffSubsidyDaoList = new ArrayList<>(); + + for (FtStaffInfoDao staffDatum : staffData) { + if (staffDatum.getGiveOutFlag()) { + FtStaffSubsidyDao ftStaffSubsidyDao = new FtStaffSubsidyDao(); + ftStaffSubsidyDao.setStaffId(staffDatum.getStaffId()); + ftStaffSubsidyDao.setSubsidyType(subsidy.getType()); + ftStaffSubsidyDao.setIncomeType(1); + ftStaffSubsidyDao.setPrice(subsidy.getPrice()); + ftStaffSubsidyDao.setConsumAt(giveOutDate); + ftStaffSubsidyDaoList.add(ftStaffSubsidyDao); + } + } + + Integer ret = iFtStaffSubsidyDaoService.insertBatchStaffSubsidy(ftStaffSubsidyDaoList); + logger.info("发放补贴:{} 人", ret); + + StringBuilder builder = new StringBuilder(); + builder.append(String.format("本次发放合计:%d 人;", ret)); + + // 统计发放补贴后,有多少人的补贴超过了设置的上限150元; + // 1 先去应用数据配置表中找到该企业配置的最大补贴上限 + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1 + .eq("config_key", "max_subsidy") + .eq("corp_id", 1); + List list = configDaoService.list(wrapper1); + if (list.size() <= 0 ) { + logger.error("获取系统配置的最大补贴数据失败!"); + return AjaxResult.error("获取系统配置的最大补贴数据失败!"); + } + FtConfigDao configDao = list.get(0); + Integer maxSubsidy = Integer.parseInt(configDao.getConfigValue()); + + // 2 去员工信息表中统计余额信息超过 最大补贴数的信息 + QueryWrapper wrapper2 = new QueryWrapper<>(); + wrapper2.gt("balance", 150); + int overflowCount = staffInfoDaoService.count(wrapper2); + builder.append(String.format("本次统计超出余额上限员工合计:%d", overflowCount)); + + if (overflowCount <= 0) { + builder.append(String.format("本次补贴发放没有累计余额超出上限员工")); + return AjaxResult.success(builder); + } + + // 3 如果有超过的余额的,进行余额冲减操作 + iFtStaffSubsidyDaoService.reBalance(subsidy.getType(), maxSubsidy); + + // 4 更新员工表的余额信息,超过 最大数的全部冲减 + UpdateWrapper updateWrapper=new UpdateWrapper<>(); + FtStaffInfoDao staffInfoDao = new FtStaffInfoDao(); + staffInfoDao.setBalance(BigDecimal.valueOf(maxSubsidy)); + updateWrapper.gt("balance", maxSubsidy); + staffInfoDaoService.update(staffInfoDao, updateWrapper); + builder.append(String.format("本次超出余额上限员工全部进行冲减,请查看日志")); + return AjaxResult.success(builder); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSubsidyDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSubsidyDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..1c46f4064a04ba19f56064cadd5fad53ec19a915 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSubsidyDaoController.java @@ -0,0 +1,122 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; + +import java.util.Date; +import java.util.List; +import java.util.Arrays; + +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.utils.StringUtils; +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.fantang.domain.FtSubsidyDao; +import com.ruoyi.system.fantang.service.IFtSubsidyDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 补贴管理Controller + * + * @author ft + * @date 2020-11-25 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/subsidy" ) +public class FtSubsidyDaoController extends BaseController { + + private final IFtSubsidyDaoService iFtSubsidyDaoService; + + /** + * 查询补贴管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:list')") + @GetMapping("/list") + public TableDataInfo list(FtSubsidyDao ftSubsidyDao) + { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftSubsidyDao); + if (StringUtils.isNotBlank(ftSubsidyDao.getType())){ + lqw.eq(FtSubsidyDao::getType ,ftSubsidyDao.getType()); + } + if (ftSubsidyDao.getPrice() != null){ + lqw.eq(FtSubsidyDao::getPrice ,ftSubsidyDao.getPrice()); + } + if (ftSubsidyDao.getCreateAt() != null){ + lqw.eq(FtSubsidyDao::getCreateAt ,ftSubsidyDao.getCreateAt()); + } + if (StringUtils.isNotBlank(ftSubsidyDao.getCreateBy())){ + lqw.eq(FtSubsidyDao::getCreateBy ,ftSubsidyDao.getCreateBy()); + } + List list = iFtSubsidyDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出补贴管理列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:export')" ) + @Log(title = "补贴管理" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(FtSubsidyDao ftSubsidyDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftSubsidyDao); + List list = iFtSubsidyDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtSubsidyDao. class); + return util.exportExcel(list, "subsidy" ); + } + + /** + * 获取补贴管理详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:query')" ) + @GetMapping(value = "/{subsidyId}" ) + public AjaxResult getInfo(@PathVariable("subsidyId" ) Long subsidyId) { + return AjaxResult.success(iFtSubsidyDaoService.getById(subsidyId)); + } + + /** + * 新增补贴管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:add')" ) + @Log(title = "补贴管理" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtSubsidyDao ftSubsidyDao) { + + ftSubsidyDao.setCreateAt(new Date()); + return toAjax(iFtSubsidyDaoService.save(ftSubsidyDao) ? 1 : 0); + } + + /** + * 修改补贴管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:edit')" ) + @Log(title = "补贴管理" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtSubsidyDao ftSubsidyDao) { + return toAjax(iFtSubsidyDaoService.updateById(ftSubsidyDao) ? 1 : 0); + } + + /** + * 删除补贴管理 + */ + @PreAuthorize("@ss.hasPermi('fantang:subsidy:remove')" ) + @Log(title = "补贴管理" , businessType = BusinessType.DELETE) + @DeleteMapping("/{subsidyIds}" ) + public AjaxResult remove(@PathVariable Long[] subsidyIds) { + return toAjax(iFtSubsidyDaoService.removeByIds(Arrays.asList(subsidyIds)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSyncConflictGenDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSyncConflictGenDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..276688f0e0339f53f853d38278b1d8202197a2c3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtSyncConflictGenDaoController.java @@ -0,0 +1,167 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.domain.FtSyncConflictGenDao; +import com.ruoyi.system.fantang.service.IFtPatientDaoService; +import com.ruoyi.system.fantang.service.IFtSyncConflictGenDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 同步冲突Controller + * + * @author ft + * @date 2020-12-24 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/syncConflict") +public class FtSyncConflictGenDaoController extends BaseController { + + private final IFtSyncConflictGenDaoService iFtSyncConflictGenDaoService; + + private final IFtPatientDaoService iFftPatientDaoService; + + + /** + * 处理冲突 + */ + @PostMapping("/solveConflict") + public AjaxResult solveConflict(@RequestBody FtSyncConflictGenDao syncConflictGenDao) { + + Integer patientFlag = syncConflictGenDao.getPatientFlag(); + Long patientId = syncConflictGenDao.getPatientId(); + + if (patientFlag==2){ + if (syncConflictGenDao.getHospitalId().equals(syncConflictGenDao.getOldHospitalId())){ + FtPatientDao patientDao = iFftPatientDaoService.getById(patientId); + patientDao.setDepartId(syncConflictGenDao.getDepartId()); + patientDao.setBedId(syncConflictGenDao.getBedId()); + patientDao.setName(syncConflictGenDao.getName()); + iFftPatientDaoService.updateById(patientDao); + }else { + FtPatientDao ftPatientDao = new FtPatientDao(); + ftPatientDao.setDepartId(syncConflictGenDao.getDepartId()); + ftPatientDao.setBedId(syncConflictGenDao.getBedId()); + ftPatientDao.setName(syncConflictGenDao.getName()); + iFftPatientDaoService.save(ftPatientDao); + } + } + + syncConflictGenDao.setIsSolve(1); + iFtSyncConflictGenDaoService.updateById(syncConflictGenDao); + + return AjaxResult.success("已处理"); + } + + /** + * 查询同步冲突列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:list')") + @GetMapping("/list") + public TableDataInfo list(FtSyncConflictGenDao ftSyncConflictGenDao) { + startPage(); + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(ftSyncConflictGenDao); + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getHospitalId())) { + lqw.eq(FtSyncConflictGenDao::getHospitalId, ftSyncConflictGenDao.getHospitalId()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getName())) { + lqw.like(FtSyncConflictGenDao::getName, ftSyncConflictGenDao.getName()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getDepartName())) { + lqw.like(FtSyncConflictGenDao::getDepartName, ftSyncConflictGenDao.getDepartName()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getBedId())) { + lqw.eq(FtSyncConflictGenDao::getBedId, ftSyncConflictGenDao.getBedId()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getOldHospitalId())) { + lqw.eq(FtSyncConflictGenDao::getOldHospitalId, ftSyncConflictGenDao.getOldHospitalId()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getOldName())) { + lqw.like(FtSyncConflictGenDao::getOldName, ftSyncConflictGenDao.getOldName()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getOldDepartName())) { + lqw.like(FtSyncConflictGenDao::getOldDepartName, ftSyncConflictGenDao.getOldDepartName()); + } + if (StringUtils.isNotBlank(ftSyncConflictGenDao.getOldBedId())) { + lqw.eq(FtSyncConflictGenDao::getOldBedId, ftSyncConflictGenDao.getOldBedId()); + } + if (ftSyncConflictGenDao.getDepartId() != null) { + lqw.eq(FtSyncConflictGenDao::getDepartId, ftSyncConflictGenDao.getDepartId()); + } + if (ftSyncConflictGenDao.getOldDepartId() != null) { + lqw.eq(FtSyncConflictGenDao::getOldDepartId, ftSyncConflictGenDao.getOldDepartId()); + } + if (ftSyncConflictGenDao.getIsSolve()!=null){ + lqw.eq(FtSyncConflictGenDao::getIsSolve,ftSyncConflictGenDao.getIsSolve()); + } + List list = iFtSyncConflictGenDaoService.list(lqw); + return getDataTable(list); + } + + /** + * 导出同步冲突列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:export')") + @Log(title = "同步冲突", businessType = BusinessType.EXPORT) + @GetMapping("/export") + public AjaxResult export(FtSyncConflictGenDao ftSyncConflictGenDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftSyncConflictGenDao); + List list = iFtSyncConflictGenDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtSyncConflictGenDao.class); + return util.exportExcel(list, "syncConflict"); + } + + /** + * 获取同步冲突详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtSyncConflictGenDaoService.getById(id)); + } + + /** + * 新增同步冲突 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:add')") + @Log(title = "同步冲突", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtSyncConflictGenDao ftSyncConflictGenDao) { + return toAjax(iFtSyncConflictGenDaoService.save(ftSyncConflictGenDao) ? 1 : 0); + } + + /** + * 修改同步冲突 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:edit')") + @Log(title = "同步冲突", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtSyncConflictGenDao ftSyncConflictGenDao) { + return toAjax(iFtSyncConflictGenDaoService.updateById(ftSyncConflictGenDao) ? 1 : 0); + } + + /** + * 删除同步冲突 + */ + @PreAuthorize("@ss.hasPermi('fantang:syncConflict:remove')") + @Log(title = "同步冲突", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtSyncConflictGenDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtWeekMenuDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtWeekMenuDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..bf43cbc724008dff369de6ec7c36f93c71c81eb9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/controller/FtWeekMenuDaoController.java @@ -0,0 +1,97 @@ +package com.ruoyi.system.fantang.controller; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.system.fantang.domain.FtWeekMenuDao; +import com.ruoyi.system.fantang.service.IFtWeekMenuDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.*; + +import java.util.Arrays; +import java.util.List; + +/** + * 每周菜单Controller + * + * @author ft + * @date 2020-11-27 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/fantang/weekMenu") +public class FtWeekMenuDaoController extends BaseController { + + private final IFtWeekMenuDaoService iFtWeekMenuDaoService; + + /** + * 查询每周菜单列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:list')") + @GetMapping("/list") + public TableDataInfo list(FtWeekMenuDao ftWeekMenuDao) { + startPage(); + List list = iFtWeekMenuDaoService.list(null); + return getDataTable(list); + } + + /** + * 导出每周菜单列表 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:export')" ) + @Log(title = "每周菜单" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(FtWeekMenuDao ftWeekMenuDao) { + LambdaQueryWrapper lqw = new LambdaQueryWrapper(ftWeekMenuDao); + List list = iFtWeekMenuDaoService.list(lqw); + ExcelUtil util = new ExcelUtil(FtWeekMenuDao. class); + return util.exportExcel(list, "weekMenu" ); + } + + /** + * 获取每周菜单详细信息 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:query')") + @GetMapping(value = "/{id}") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(iFtWeekMenuDaoService.getById(id)); + } + + /** + * 新增每周菜单 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:add')") + @Log(title = "每周菜单", businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody FtWeekMenuDao ftWeekMenuDao) { + return toAjax(iFtWeekMenuDaoService.save(ftWeekMenuDao) ? 1 : 0); + } + + /** + * 修改每周菜单 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:edit')") + @Log(title = "每周菜单", businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody FtWeekMenuDao ftWeekMenuDao) { + return toAjax(iFtWeekMenuDaoService.updateById(ftWeekMenuDao) ? 1 : 0); + } + + /** + * 删除每周菜单 + */ + @PreAuthorize("@ss.hasPermi('fantang:weekMenu:remove')") + @Log(title = "每周菜单", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iFtWeekMenuDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtCateringDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtCateringDao.java new file mode 100644 index 0000000000000000000000000000000000000000..dcfdcbe7b507992f17d6ef4e0249e2fe4c848d4b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtCateringDao.java @@ -0,0 +1,118 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.system.fantang.vo.FtCateringVo; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.util.Date; +import java.util.List; + +/** + * 配餐功能对象 ft_catering + * + * @author ft + * @date 2020-12-07 + */ +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_catering") +public class FtCateringDao extends FtCateringVo { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 病人 id + */ + private Long patientId; + + /** + * 病人 ids + */ + @TableField(exist = false) + private List patientIds; + + /** + * 正餐类型 + */ + @Excel(name = "正餐类型") + private Integer type; + + /** + * 配餐号 + */ + @Excel(name = "配餐号") + private Long number; + + /** + * 配餐频次 + */ + @Excel(name = "配餐频次") + private String frequency; + + /** + * 用法 + */ + @Excel(name = "用法") + private Integer cateringUsage; + + /** + * 是否代替正餐 + */ + private Integer isReplace; + + /** + * 启用标志 + */ + private Boolean flag; + + /** + * 更新日期 + */ + private Date updateAt; + + /** + * 更新人 + */ + @Excel(name = "更新人") + private String updateBy; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** + * 创建人 + */ + private String createBy; + + /** + * 描述 + */ + @Excel(name = "描述") + private String cateringDescribe; + + // 暂停标志 + @Excel(name = "停餐") + private Boolean suspendFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtConfigDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtConfigDao.java new file mode 100644 index 0000000000000000000000000000000000000000..b9a50052e52fda796e8010b3f19165d4c2fb0044 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtConfigDao.java @@ -0,0 +1,54 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 饭堂参数对象 ft_config + * + * @author ft + * @date 2020-12-07 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_config") +public class FtConfigDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** $column.columnComment */ + @TableId(value = "id") + private Long id; + + /** $column.columnComment */ + @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()") + private Long corpId; + + /** $column.columnComment */ + @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()") + private String configKey; + + /** $column.columnComment */ + @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()") + private String configValue; + + /** $column.columnComment */ + @Excel(name = "${comment}" , readConverterExp = "$column.readConverterExp()") + private Long flag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtDepartDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtDepartDao.java new file mode 100644 index 0000000000000000000000000000000000000000..7e87280db7a90224829292d1d98410a46dc02479 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtDepartDao.java @@ -0,0 +1,54 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 科室管理对象 ft_depart + * + * @author ft + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_depart") +public class FtDepartDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 科室编号 */ + @TableId(value = "depart_id") + private Long departId; + + /** 科室名称 */ + @Excel(name = "科室名称") + private String departName; + + /** 科室编号 */ + @Excel(name = "科室编号") + private String departCode; + + @TableField(exist = false) + private Long patientId; + @TableField(exist = false) + private String bedId; + @TableField(exist = false) + private String name; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceEventDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceEventDao.java new file mode 100644 index 0000000000000000000000000000000000000000..3ca16ffa99d5eaa08835823d807cfd1480a47c5b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceEventDao.java @@ -0,0 +1,32 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.*; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@TableName("ft_faceEvent") +public class FtFaceEventDao { + @TableId(type = IdType.AUTO) + private Long id; + + @TableField(value = "device_id") + private String deviceId; + + @TableField(value = "person_id") + private String personId; + + @TableField(fill= FieldFill.INSERT) + private int flag; + + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + @TableField(fill = FieldFill.INSERT) + private int findFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceinfoDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceinfoDao.java new file mode 100644 index 0000000000000000000000000000000000000000..17dab2974edcd5111724715bd4987e26252952e6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFaceinfoDao.java @@ -0,0 +1,63 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; +import java.math.BigDecimal; + +/** + * 人脸信息对象 ft_faceInfo + * + * @author ryo + * @date 2021-01-11 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_faceInfo") +public class FtFaceinfoDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 设备 id */ + @Excel(name = "设备 id") + private String deviceId; + + /** 员工 id */ + @Excel(name = "员工 id") + private Long personId; + + /** 手机 */ + @Excel(name = "手机") + private String phone; + + /** $column.columnComment */ + private Long memId; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createtime; + + @TableField(exist = false) + private Map params = new HashMap<>(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDao.java new file mode 100644 index 0000000000000000000000000000000000000000..4ad660f5993979c0d60809a4374a902826da3c86 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDao.java @@ -0,0 +1,70 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; + +/** + * 食品管理对象 ft_food + * + * @author ft + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_food") +public class FtFoodDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 食品id + */ + @TableId(value = "food_id") + private Long foodId; + + /** + * 名称 + */ + @Excel(name = "名称") + private String name; + + /** + * 图片 + */ + private String pictureUrl; + + /** + * 售价 + */ + @Excel(name = "售价") + private BigDecimal price; + + /** + * 启用标志 + */ + private Long flag; + + /** + * 食品分类 + */ + @Excel(name = "食品分类") + private Long type; + + /** + * 用餐类型 + */ + private Integer dinnerType; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDefaultDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDefaultDao.java new file mode 100644 index 0000000000000000000000000000000000000000..f1e859655c1104d24824a750984ab4ca29141ff4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDefaultDao.java @@ -0,0 +1,65 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 默认报餐管理对象 ft_food_default + * + * @author ft + * @date 2020-11-25 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_food_default") +public class FtFoodDefaultDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 报餐类型 */ + @Excel(name = "报餐类型") + private Long type; + + /** 菜品列表 */ + private String foodList; + + /** 创建日期 */ + @Excel(name = "创建日期" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createdAt; + + /** 创建人 */ + private Long createdBy; + + /** 更新日期 */ + @Excel(name = "更新日期" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updatedAt; + + /** 更新人 */ + private Long updatedBy; + + /** 总价格 */ + @Excel(name = "总价格") + private BigDecimal price; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDemandDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDemandDao.java new file mode 100644 index 0000000000000000000000000000000000000000..f09ef3142d3a0595c1470463297f4df56975479d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtFoodDemandDao.java @@ -0,0 +1,137 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.system.fantang.entity.BasePatient; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 病人报餐对象 ft_food_demand + * + * @author ft + * @date 2020-12-03 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_food_demand") +public class FtFoodDemandDao extends BasePatient implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 病人id + */ + private Long patientId; + + /** + * 正餐清单 + */ + @Excel(name = "正餐清单") + private String foods; + + /** + * 正餐类型 + */ + @Excel(name = "正餐类型") + private Integer type; + + /** + * 创建时间 + */ + private Date createAt; + + /** + * 创建人 + */ + private Long createBy; + + /** + * 更新日期 + */ + @Excel(name = "更新日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateAt; + + /** + * 加菜 + */ + @Excel(name = "加菜") + private Boolean vegetables; + + /** + * 更新操作人 id + */ + private Long updateBy; + + /** + * 加肉 + */ + @Excel(name = "加肉") + private Boolean meat; + + /** + * 更新来源 + */ + private Integer updateFrom; + + /** + * 加饭 + */ + @Excel(name = "加饭") + private Boolean rice; + + /** + * 加蛋 + */ + @Excel(name = "加蛋") + private Integer egg; + + /** + * 订单详情 + */ + private String orderInfo; + + /** + * 启用状态 + */ + @Excel(name = "启用状态") + private Boolean flag; + + /** + * 营养餐 id + **/ + private Long nutritionFoodId; + + /** + * 营养餐标志 + **/ + private Boolean nutritionFoodFlag; + + /** + * 营养餐名 + */ + @TableField(exist = false) + private String nutritionFood; + + private Boolean openFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtInvoiceDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtInvoiceDao.java new file mode 100644 index 0000000000000000000000000000000000000000..038c9b913087d295a30274c9395a2c81291e3f23 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtInvoiceDao.java @@ -0,0 +1,87 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 财务收费开票对象 ft_invoice + * + * @author ft + * @date 2020-12-08 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_invoice") +public class FtInvoiceDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 发票单位 */ + private String invoiceUnit; + + /** 发票 id */ + private Long invoiceId; + + /** 日期 */ + private Date createAt; + + /** 开票人 */ + private String drawer; + + /** 收款方式 */ + private String collectionType; + + /** 应收 */ + private BigDecimal payable; + + /** 实收 */ + private BigDecimal receipts; + + /** 凭证列表 */ + private String voucherList; + + /** + * 发票号 + */ + private String invoiceNum; + + /** + * 发票名 + */ + private String invoiceName; + + /** + * 税号 + */ + private String taxId; + + /** + * 开票类型 + */ + private Integer invoiceType; + + /** + * 开票金额 + */ + private BigDecimal invoiceAmount; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNotifyDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNotifyDao.java new file mode 100644 index 0000000000000000000000000000000000000000..c4aab63fe7dc0475701f538ff3b7f61bcd86c44e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNotifyDao.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 系统信息对象 ft_notify + * + * @author ft + * @date 2020-12-17 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_notify") +public class FtNotifyDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** $column.columnComment */ + @TableId(value = "id") + private Long id; + + /** 消息类型 */ + @Excel(name = "消息类型") + private Integer messageType; + + /** 消息范围 */ + @Excel(name = "消息范围") + private Integer scope; + + /** 消息内容 */ + @Excel(name = "消息内容") + private String messageBody; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 创建人 */ + private String createBy; + + /** 阅读标志 */ + @Excel(name = "阅读标志") + private Integer readFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNutritionFoodDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNutritionFoodDao.java new file mode 100644 index 0000000000000000000000000000000000000000..f33b408f81da1d7093f2b6c5d29a7cc1635f1df4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtNutritionFoodDao.java @@ -0,0 +1,66 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 病患营养配餐对象 ft_nutrition_food + * + * @author ft + * @date 2020-12-03 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_nutrition_food") +public class FtNutritionFoodDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 营养餐名称 + */ + @Excel(name = "营养餐名称") + private String name; + + /** + * 价格 + */ + @Excel(name = "价格") + private BigDecimal price; + + /** + * 启用标志 + */ + @Excel(name = "启用标志") + private Boolean flag; + + /** + * 创建日期 + */ + private Date createAt; + + /** + * 创建人 + */ + private String createBy; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java new file mode 100644 index 0000000000000000000000000000000000000000..44c785b19baee8df6f934101f2606e95250fcf1c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtOrderDao.java @@ -0,0 +1,177 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 订单管理对象 ft_order + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_order") +public class FtOrderDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 订单 id + */ + @TableId(value = "order_id") + private Long orderId; + + @TableField(exist = false) + @Excel(name = "部门名称") + private String departName; + + /** + * 员工姓名 + */ + @TableField(exist = false) + @Excel(name = "员工姓名") + private String name; + + @TableField(exist = false) + @Excel(name = "电话") + private String tel; + + /** + * 订单类型 + */ + @Excel(name = "订单类型", readConverterExp = "1=早餐,2=午餐,3=晚餐") + private Integer orderType; + + @TableField(exist = false) + private String orderTypeString; + + /** + * 员工 id + */ + private Long staffId; + + /** + * 清单 + */ + private String orderList; + + /** + * 总价 + */ + @Excel(name = "价格") + private BigDecimal totalPrice; + + /** + * 统计总数 + */ + @TableField(exist = false) + private Long total; + + /** + * 报餐类型 + */ + @TableField(exist = false) + private Integer type; + + /** + * 折扣 + */ + private BigDecimal discount; + + /** + * 实收 + */ + private BigDecimal receipts; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + // 订用餐日期 + @Excel(name = "订用餐日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date orderDate; + + /** + * 创建人 + */ + private String createBy; + + /** + * 订单来源 + */ + private String orderSrc; + + /** + * 订单现售 + */ + private BigDecimal currentPrice; + + /** + * 支付方式 + */ + private Integer payType; + + /** + * 支付标志 + */ + private Integer payFlag; + + /** + * 过期标志 + */ + private Integer expiredFlag; + + /** + * 核销标志 + */ + @Excel(name = "是否核销", readConverterExp = "0=否,1=是") + private Integer writeOffFlag; + + /** + * 核销时间 + */ + @Excel(name = "核销时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date writeOffAt; + + /** + * 是否过期 + */ + private Integer isExpired; + + /** + * 核销设备 id + */ + private Long deviceId; + + @TableField(exist = false) + private Integer countOrder; + + @TableField(exist = false) + private Long departId; + + @TableField(exist = false) + private String staffName; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPatientDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPatientDao.java new file mode 100644 index 0000000000000000000000000000000000000000..93343180e2de36f4a6dde8622f13b44f3a00e0a2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPatientDao.java @@ -0,0 +1,66 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 病人管理对象 ft_patient + * + * @author ft + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_patient") +public class FtPatientDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 病人id */ + @TableId(value = "patient_id") + private Long patientId; + + /** 姓名 */ + @Excel(name = "姓名") + private String name; + + /** 所属部门id */ + private Long departId; + + @TableField(exist = false) + private String departName; + + /** 床号 */ + @Excel(name = "床号") + private String bedId; + + /** 住院号 */ + @Excel(name = "住院号") + private String hospitalId; + + /** 同步标志 */ + private Integer syncFlag; + + /** 出院标志 */ + private Integer offFlag; + + /** 创建时间 */ + private Date createAt; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentDao.java new file mode 100644 index 0000000000000000000000000000000000000000..f269a6c0a8cb601d4b27fbc87f5a2173ef03d632 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentDao.java @@ -0,0 +1,91 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 收费管理对象 ft_prepayment + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_prepayment") +public class FtPrepaymentDao implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 预付费id + */ + @TableId(value = "prepayment_id") + private Long prepaymentId; + + /** + * 病人id + */ + private Long patientId; + + /** + * 收款时间 + */ + @Excel(name = "收款时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date collectAt; + + /** + * 收款员 + */ + private String collectBy; + + /** + * 结算时间 + */ + @Excel(name = "结算时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date settlementAt; + + /** + * 结算员 + */ + private Long settlementBy; + + /** + * 结算报表id + */ + private Long settlementId; + + /** + * 结算标志 + */ + @Excel(name = "结算标志") + private Integer settlementFlag; + + /** + * 预付费金额 + */ + @Excel(name = "预付费金额") + private BigDecimal prepaid; + + /** + * 预付费时间 + */ + @Excel(name = "预付费时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date prepaidAt; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentVo.java new file mode 100644 index 0000000000000000000000000000000000000000..a3f2f6b21e027106757c757c4f21416297d24aa0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtPrepaymentVo.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 收费管理对象 ft_prepayment + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +public class FtPrepaymentVo extends FtPrepaymentDao { + + /** + * select a.patient_id , a.name, a.hospital_id, b.depart_name, b.depart_code from ft_patient a + * LEFT JOIN ft_depart b on a.depart_id = b.depart_id + * where a.patient_id not in (select patient_id from ft_prepayment ) + */ + private String name; + + private String bedId; + + private String departName; + + private String hospitalId; + + private String departCode; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtRemotePatientDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtRemotePatientDao.java new file mode 100644 index 0000000000000000000000000000000000000000..56f3b42a02fff52529b5f815a7fac34fd2c1a0b7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtRemotePatientDao.java @@ -0,0 +1,47 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 远程病患数据实体类 + * + * @author 陈智兴 + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_sync") +public class FtRemotePatientDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 住院号 */ + @TableField(value = "hospital_id") + private String hospitalid; + + /** 姓名 */ + private String name; + + // 科室名称 + @TableField("depart_name") + private String departName; + + // 床号 + @TableField("bed_id") + private String bedId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java new file mode 100644 index 0000000000000000000000000000000000000000..0073395b72be5fbc5b37bdaf071ee1c30c965794 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReportMealsDao.java @@ -0,0 +1,194 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 报餐管理对象 ft_report_meals + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_report_meals") +public class FtReportMealsDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 科室名 + */ + @TableField(exist = false) + @Excel(name = "部门名称") + private String departName; + + /** + * 住院号 + */ + @TableField(exist = false) + @Excel(name = "住院号") + private String hospitalId; + + /** + * 床号 + */ + @TableField(exist = false) + @Excel(name = "床号") + private String bedId; + + /** + * 病人姓名 + */ + @TableField(exist = false) + @Excel(name = "姓名") + private String name; + + /** + * 报餐日期 + */ + @Excel(name = "报餐日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** + * 报餐类型 + */ + @Excel(name = "报餐类型", readConverterExp = "1=早餐,2=午餐,3=晚餐,4=加餐") + private Long type; + + /** + * 病人id + */ + private Long patientId; + + /** + * 报餐人 + */ + private Long createBy; + + /** + * 订单列表 + */ + private String foods; + + /** + * 正餐总价 + */ + @Excel(name = "正餐总价") + private BigDecimal price; + + /** + * 结算标志 + */ + private Integer settlementFlag; + + private Long settlementId; + + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date settlementAt; + + private String settlementBy; + + /** + * 科室 id + */ + @TableField(exist = false) + private String departId; + + /** + * 营养餐 id + */ + private Long nutritionFoodId; + + /** + * 营养配餐标志 + */ + private Integer nutritionFoodFlag; + + /** + * 是否替代正餐 + */ + private Boolean isReplaceFood; + + /** + * 营养配餐价格 + */ + @Excel(name = "营养配餐价格") + private BigDecimal nutritionFoodPrice; + + /** + * 当前报餐总价 + */ + @Excel(name = "当餐总价") + private BigDecimal totalPrice; + + private Boolean vegetables; + + private Boolean meat; + + private Boolean rice; + + private Integer egg; + + @TableField(exist = false) + private Integer total; + + private Boolean openFlag; + + @TableField(exist = false) + private Integer statisticsType; + + /** + * 营养餐名称 + */ + @TableField(exist = false) + private String nutritionName; + + @TableField(exist = false) + private Integer cateringUsage; + + /** + * 用餐开始时间 + */ + @TableField(exist = false) + private Date beginOfDay; + + /** + * 用餐结束时间 + */ + @TableField(exist = false) + private Date endOfDay; + + /** + * 用餐标志 + */ + @Excel(name = "是否已用餐", readConverterExp = "1=是,0=否") + private Integer diningFlag; + + @Excel(name = "用餐日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date diningAt; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReturnDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReturnDao.java new file mode 100644 index 0000000000000000000000000000000000000000..cc91a3de6a68e28b68c02738a4a3fc684b6bb05d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtReturnDao.java @@ -0,0 +1,72 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; +import java.math.BigDecimal; + +/** + * 回款登记对象 ft_return + * + * @author ft + * @date 2021-01-25 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_return") +public class FtReturnDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 对应发票id */ + @Excel(name = "对应发票id") + private Long invoiceId; + + /** 回款日期 */ + @Excel(name = "回款日期" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date returnAt; + + /** 回款金额 */ + @Excel(name = "回款金额") + private BigDecimal returnPrice; + + /** 余额 */ + @Excel(name = "余额") + private BigDecimal balancePrice; + + /** 操作员 */ + @Excel(name = "操作员") + private String opera; + + /** 凭证的图片url */ + @Excel(name = "凭证的图片url") + private String voucherUrl; + + /** 是否完成回款标志 */ + @Excel(name = "是否完成回款标志") + private Integer returnFlag; + + @TableField(exist = false) + private Map params = new HashMap<>(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettleDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettleDao.java new file mode 100644 index 0000000000000000000000000000000000000000..114795bfd4a80dbbc03784233c6c53e9e28e226c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettleDao.java @@ -0,0 +1,119 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 结算报对象 ft_settle + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_settle") +public class FtSettleDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 结算 id + */ + @TableId(value = "settle_id") + private Long settleId; + + /** + * 病人 id + */ + private Long patientId; + + /** + * 结算日期 + */ + @Excel(name = "结算日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date settleAt; + + /** + * 操作员 + */ + private String opera; + + /** + * 记录清单 + */ + @Excel(name = "记录清单") + private String list; + + /** + * 结算总价 + */ + @Excel(name = "结算总价") + private BigDecimal price; + + /** + * 应收 + */ + @Excel(name = "应收") + private BigDecimal payable; + + /** + * 实收 + */ + @Excel(name = "实收") + private BigDecimal receipts; + + /** + * 结算类型 + */ + @Excel(name = "结算类型") + private String type; + + /** + * 退押金标志 + */ + private Integer flag; + + /** + * 退款总额 + */ + @Excel(name = "退款总额") + private BigDecimal refund; + + @TableField(exist = false) + private BigDecimal netPeceipt; + + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date lastBillingDate; + + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date selectBillingDate; + + /** + * 开票标志 + */ + private Boolean invoiceFlag; + + /** + * 发票 id + */ + private Long invoiceId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettlementDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettlementDao.java new file mode 100644 index 0000000000000000000000000000000000000000..d18d1b28d066168086c7b6c618fa80d1e3df525f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSettlementDao.java @@ -0,0 +1,112 @@ +package com.ruoyi.system.fantang.domain; + +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 结算管理对象 ft_settle + * + * @author ft + * @date 2020-12-25 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_settle") +public class FtSettlementDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 结算 id + */ + @TableId(value = "settle_id") + private Long settleId; + + /** + * 病人 id + */ + private Long patientId; + + /** + * 结算日期 + */ + @Excel(name = "结算日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date settleAt; + + /** + * 操作员 + */ + private String opera; + + /** + * 记录清单 + */ + @Excel(name = "记录清单") + private String list; + + /** + * 结算总价 + */ + @Excel(name = "结算总价") + private BigDecimal price; + + /** + * 应收 + */ + @Excel(name = "应收") + private BigDecimal payable; + + /** + * 实收 + */ + @Excel(name = "实收") + private BigDecimal receipts; + + /** + * 结算类型 + */ + @Excel(name = "结算类型") + private String type; + + /** + * 退押金标志 + */ + private Integer flag; + + /** + * 退款总额 + */ + @Excel(name = "退款总额") + private BigDecimal refund; + + @TableField(exist = false) + private String name; + + @TableField(exist = false) + private String beginOfDay; + + @TableField(exist = false) + private String endOfDay; + + private Long invoiceId; + + private Integer invoiceFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffDemandDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffDemandDao.java new file mode 100644 index 0000000000000000000000000000000000000000..971384d189c0b7adde6aa72901835fa0fe7ac190 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffDemandDao.java @@ -0,0 +1,83 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.system.fantang.entity.BaseStaff; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 员工报餐对象 ft_staff_demand + * + * @author ft + * @date 2020-12-07 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_staff_demand") +public class FtStaffDemandDao extends BaseStaff implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 员工 id */ + @Excel(name = "员工 id") + private Integer staffId; + + /** 正餐清单 */ + @Excel(name = "正餐清单") + private String foods; + + /** 用餐类型 */ + @Excel(name = "用餐类型") + private Long type; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 创建人 */ + private Long createBy; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateAt; + + /** 更新人 */ + private Long updateBy; + + /** 更新来源 */ + @Excel(name = "更新来源") + private Integer updateFrom; + + /** 订单详情 */ + @Excel(name = "订单详情") + private String orderInfo; + + /** 报餐模式 */ + @Excel(name = "报餐模式") + private Boolean demandMode; + + /** 停用标志 */ + @Excel(name = "停用标志") + private Integer stopFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffInfoDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffInfoDao.java new file mode 100644 index 0000000000000000000000000000000000000000..3c4335e1937bf1fe17f8129c0bd817c573212e57 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffInfoDao.java @@ -0,0 +1,152 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 员工管理对象 ft_staff_info + * + * @author ft + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_staff_info") +public class FtStaffInfoDao { + + private static final long serialVersionUID = 1L; + + + /** + * 员工 id + */ + @TableId(value = "staff_id") + private Long staffId; + + /** + * 科室 id + */ + private Long departId; + + /** + * 科室名 + */ + @TableField(exist = false) + private String departName; + + /** + * 科室编号 + */ + @TableField(exist = false) + private String departCode; + + /** + * 姓名 + */ + @Excel(name = "姓名") + private String name; + + /** + * 岗位 + */ + @Excel(name = "岗位") + private String post; + + /** + * 角色 + */ + @Excel(name = "角色") + private String role; + + /** + * 密码 + */ + private String password; + + /** + * 创建日期 + */ + @Excel(name = "创建日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** + * 创建人 + */ + private String createBy; + + /** + * 启用标志 + */ + @Excel(name = "启用标志") + private Boolean flag; + + /** + * 补贴余额 + */ + @Excel(name = "补贴余额") + private BigDecimal balance; + + /** + * 员工类别 + */ + private Long staffType; + + /** + * 所属公司 + */ + private String corpName; + + /** + * 照片 + */ + private String pictureUrl; + + /** + * 报餐科室列表 + */ + private String deptList; + + /** + * 二维码 + */ + private String qrCode; + + /** + * 性别 + */ + private Integer sex; + + /** + * 手机号码 + */ + private String tel; + + private String token; + + private Boolean loginFlag; + + private String expired; + + @TableField(exist = false) + private Boolean giveOutFlag = true; + + /** + * 人脸设备里的员工 id + */ + private Long personId; +} \ No newline at end of file diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffStopMealsDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffStopMealsDao.java new file mode 100644 index 0000000000000000000000000000000000000000..0be67c9471f74e347dad8b8e9f2a15e4d13093ea --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffStopMealsDao.java @@ -0,0 +1,55 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.system.fantang.entity.BaseStaff; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 员工报餐对象 ft_staff_demand + * + * @author ft + * @date 2020-12-07 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_staff_stop_meals") +public class FtStaffStopMealsDao extends BaseStaff implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 员工 id */ + @Excel(name = "员工 id") + private Long staffId; + + /** 用餐类型 */ + @Excel(name = "用餐类型") + private Integer type; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 停餐时间 */ + @Excel(name = "停餐时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date demandDate; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java new file mode 100644 index 0000000000000000000000000000000000000000..dc8167406f14880a84c427221b97bd792696f70c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtStaffSubsidyDao.java @@ -0,0 +1,74 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.math.BigDecimal; +import java.util.Date; + +/** + * 补贴流水查看对象 ft_staff_subsidy + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_staff_subsidy") +public class FtStaffSubsidyDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * 补贴流水 id + */ + @TableId(value = "subsidy_id") + private Long subsidyId; + + /** + * 员工 id + */ + private Long staffId; + + /** + * 补贴类型 + */ + @Excel(name = "补贴类型") + private String subsidyType; + + /** + * 收支类型 + */ + @Excel(name = "收支类型") + private Integer incomeType; + + /** + * 金额 + */ + @Excel(name = "金额") + private BigDecimal price; + + /** + * 消费日期 + */ + @Excel(name = "消费日期", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date consumAt; + + /** + * 消费订单 id + */ + private Long orderId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSubsidyDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSubsidyDao.java new file mode 100644 index 0000000000000000000000000000000000000000..fb062a9b1007ee2db8b69711afd80fd7cb3bc0ad --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSubsidyDao.java @@ -0,0 +1,64 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 补贴管理对象 ft_subsidy + * + * @author ft + * @date 2020-11-25 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_subsidy") +public class FtSubsidyDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 补贴 id */ + @TableId(value = "subsidy_id") + private Long subsidyId; + + /** 补贴类型 */ + @Excel(name = "补贴类型") + private String type; + + /** 金额 */ + @Excel(name = "金额") + private BigDecimal price; + + /** 范围 */ + private String subsidyRange; + + /** 周期 */ + private String cycle; + + /** 启用标志 */ + private Boolean flag; + + /** 创建日期 */ + @Excel(name = "创建日期" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 创建人 */ + @Excel(name = "创建人") + private String createBy; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncConflictGenDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncConflictGenDao.java new file mode 100644 index 0000000000000000000000000000000000000000..79f09d58eb9baf1ba7c98b356f58ceb02db676ff --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncConflictGenDao.java @@ -0,0 +1,59 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 同步冲突对象 ft_sync_conflict + * + * @author ft + * @date 2020-12-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_sync_conflict") +public class FtSyncConflictGenDao implements Serializable { + + private static final long serialVersionUID = 1L; + + @TableId(value = "id") + private Long id; + + private String hospitalId; + + private String name; + + private String departName; + + private String bedId; + + private String oldHospitalId; + + private String oldName; + + private String oldDepartName; + + private String oldBedId; + + private Long departId; + + private Long oldDepartId; + + @TableField(exist = false) + private Integer patientFlag; + + private Long patientId; + + private Integer isSolve; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncLogDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncLogDao.java new file mode 100644 index 0000000000000000000000000000000000000000..dcb06e59a39de21eb1258766d3acf974afcdb3f0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncLogDao.java @@ -0,0 +1,43 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; + +/** + * 科室管理对象 ft_depart + * + * @author ft + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_sync_log") +public class FtSyncLogDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 同步时间 */ + @TableField(value = "created_at") + private Date createAt; + + @TableField("total_record") + private Long totalRecord; + + @TableField("sync_record") + private Long SyncRecord; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncPatientDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncPatientDao.java new file mode 100644 index 0000000000000000000000000000000000000000..6a85f013cbd87635a13312e2eb00e13bb7c98069 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtSyncPatientDao.java @@ -0,0 +1,45 @@ +package com.ruoyi.system.fantang.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 远程病患数据实体类 + * + * @author 陈智兴 + * @date 2020-11-24 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_sync") +public class FtSyncPatientDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** 住院号 */ + @TableField(value = "hospital_id") + private String hospitalid; + + /** 姓名 */ + private String name; + + // 科室名称 + @TableField("depart_name") + private String departName; + + // 床号 + @TableField("bed_id") + private String bedId; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtWeekMenuDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtWeekMenuDao.java new file mode 100644 index 0000000000000000000000000000000000000000..ac85487c68519fbf6080d657074e6141fbe37669 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/domain/FtWeekMenuDao.java @@ -0,0 +1,58 @@ +package com.ruoyi.system.fantang.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import java.io.Serializable; +import java.util.Date; +import java.math.BigDecimal; +import com.ruoyi.common.core.domain.BaseEntity; + +/** + * 每周菜单对象 ft_week_menu + * + * @author ft + * @date 2020-11-27 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("ft_week_menu") +public class FtWeekMenuDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 用餐类型 */ + @Excel(name = "用餐类型") + private String dinnerType; + + /** 星期几 */ + @Excel(name = "星期几") + private String weekday; + + /** 菜品列表 */ + @Excel(name = "菜品列表") + private String foods; + + /** 总价格 */ + @Excel(name = "总价格") + private BigDecimal price; + + /** 启用标志 */ + @Excel(name = "启用标志") + private Boolean flag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BasePatient.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BasePatient.java new file mode 100644 index 0000000000000000000000000000000000000000..1af80d77d12abb08ed8c116186553ce2acb1cc23 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BasePatient.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.fantang.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BasePatient { + @TableField(exist = false) + public String hospitalId; + @TableField(exist = false) + public String bedId; + @TableField(exist = false) + public String name; + @TableField(exist = false) + public String departName; + @TableField(exist = false) + private Long departId; + @TableField(exist = false) + private Long total; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BaseStaff.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BaseStaff.java new file mode 100644 index 0000000000000000000000000000000000000000..5de9a12a923e6b6287337f8fad535bd19ce8b16f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/BaseStaff.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.fantang.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BaseStaff { + @TableField(exist = false) + public String name; + @TableField(exist = false) + public String departName; + @TableField(exist = false) + private Long departId; + @TableField(exist = false) + private Long total; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsDayEntity.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsDayEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..ffa4581d1da25b7fe062132288baf4b75f077e05 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsDayEntity.java @@ -0,0 +1,25 @@ +package com.ruoyi.system.fantang.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.Date; + +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ReportMealsDayEntity extends FtReportMealsDao { + // 用户自定义结算日期 + @JsonFormat(pattern = "yyyy-MM-dd") + private Date selectBillingDate; + // 自上一次结算累计未结算天数 + private Long days; + // 上次缴费日期 + @JsonFormat(pattern = "yyyy-MM-dd") + private Date lastCreateDate; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsPriceEntity.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsPriceEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..b7c246adda5cb66bd819be6bd09d70213f9b88b9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/ReportMealsPriceEntity.java @@ -0,0 +1,28 @@ +package com.ruoyi.system.fantang.entity; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class ReportMealsPriceEntity { + + /** + * 正餐总价 + */ + private BigDecimal dinnerTotalPrice; + + /** + * 营养餐总价 + */ + private BigDecimal nutritionTotalPrice; + + /** + * 正餐和营养餐总价 + */ + private BigDecimal sumTotalPrice; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/SettleEntity.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/SettleEntity.java new file mode 100644 index 0000000000000000000000000000000000000000..a4aef627472682c6e9cac18f0375a95fd4c5041f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/entity/SettleEntity.java @@ -0,0 +1,71 @@ +package com.ruoyi.system.fantang.entity; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class SettleEntity { + + // 床号 + private String bedId; + + // 科室名 + private String departName; + + // 住院号 + private String hospitalId; + + // 上次缴费日期 + @JsonFormat(pattern = "yyyy-MM-dd") + private Date lastBillingDate; + + // 病人姓名 + private String name; + + // 实收 + private BigDecimal netPeceipt; + + // 操作员 + private String opera; + + // 病人 id + private Long patientId; + + // 预付款金额 + private BigDecimal prepayment; + + // 应收 + private BigDecimal price; + + // 用户自定义结算日期 + @JsonFormat(pattern = "yyyy-MM-dd") + private Date selectBillingDate; + + // 自上一次结算累计未结算天数 + private Long days; + + // 操作员 + private String userName; + + // 正餐总价 + private BigDecimal dinnerTotalPrice; + + // 营养餐总价 + private BigDecimal nutritionTotalPrice; + + // 正餐和营养餐总价 + private BigDecimal sumTotalPrice; + + // 付款方式 + private Integer payType; + // 分页信息 + private Integer pageNum; + private Integer pageSize; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtCateringDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtCateringDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..3f8543762e45deaa4c2c3815d8dbff1a7060fb5b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtCateringDaoMapper.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtCateringDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * 配餐功能Mapper接口 + * + * @author ft + * @date 2020-12-07 + */ +public interface FtCateringDaoMapper extends BaseMapper { + + List listNewFormatter(FtCateringDao ftCateringDao); + + FtCateringDao getByIdNewFormatter(Long id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtConfigDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtConfigDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..406e382f6dc036b43f0cddc6378130cfcdeb8608 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtConfigDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtConfigDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 饭堂参数Mapper接口 + * + * @author ft + * @date 2020-12-07 + */ +public interface FtConfigDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtDepartDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtDepartDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..7bd69d1682f8c89930bfa461c3c6a9b2a90726af --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtDepartDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtDepartDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 科室管理Mapper接口 + * + * @author ft + * @date 2020-11-24 + */ +public interface FtDepartDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceEventDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceEventDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..46336b3ae49187eaafd11110790298965d6bed26 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceEventDaoMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtFaceEventDao; +import org.springframework.stereotype.Repository; + +@Repository +public interface FtFaceEventDaoMapper extends BaseMapper { +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceinfoDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceinfoDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..7722080280dbfcab0524b215543f854cfbda3824 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFaceinfoDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtFaceinfoDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 人脸信息Mapper接口 + * + * @author ryo + * @date 2021-01-11 + */ +public interface FtFaceinfoDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..ab347a71902c071e46396051d1efce443cc68c5b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDaoMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtFoodDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + * 食品管理Mapper接口 + * + * @author ft + * @date 2020-11-24 + */ +@Repository +public interface FtFoodDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDefaultDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDefaultDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..82eba136df91600b5c9fe561e354f718795f2cb3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDefaultDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtFoodDefaultDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 默认报餐管理Mapper接口 + * + * @author ft + * @date 2020-11-25 + */ +public interface FtFoodDefaultDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..6a3f32aa1791bca5c6d1bdb74cd9cb91d9f9720f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtFoodDemandDaoMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 病人报餐Mapper接口 + * + * @author ft + * @date 2020-12-03 + */ +public interface FtFoodDemandDaoMapper extends BaseMapper { + @Insert("insert into ft_food_demand (patient_id, foods, type, flag,create_at ) select #{patient_id}, food_list, type, 1, now() FROM ft_food_default") + public Integer GenerateOrderByPatientId(@Param("patient_id") Long patientId); + + @Select("select a.patient_id from ft_patient a where a.patient_id not in (select patient_id from ft_food_demand c )") + public List getNewPatientNotDemand(); + + List listNewFormatter(FtFoodDemandDao ftFoodDemandDao); + + FtFoodDemandDao getByIdNewFormatter(Long id); + + @Select("SELECT\n" + + "\td.depart_name,\n" + + "\tcount(*) AS total,\n" + + "\ta.type \n" + + "FROM\n" + + "\tft_report_meals a\n" + + "\tLEFT JOIN ft_patient c ON a.patient_id = c.patient_id\n" + + "\tLEFT JOIN ft_depart d ON c.depart_id = d.depart_id \n" + + "WHERE\n" + + "\tc.depart_id = d.depart_id and a.create_at BETWEEN #{start} and #{end}\n" + + "\t\n" + + "GROUP BY\n" + + "\td.depart_name,\n" + + "\ta.type") + List getStatisticsOfDate(@Param("start") String start, @Param("end") String end); + + @Select("SELECT\n" + + "\ta.type,\n" + + "\tc.depart_name,\n" + + "\tCOUNT(*) AS total \n" + + "FROM\n" + + "\tft_food_demand a\n" + + "\tLEFT JOIN ft_patient b ON b.patient_id = a.patient_id\n" + + "\tLEFT JOIN ft_depart c ON c.depart_id = b.depart_id \n" + + "WHERE\n" + + "\tb.depart_id = c.depart_id \n" + + "\tAND flag = 1 \n" + + "GROUP BY\n" + + "\ta.type,\n" + + "\tc.depart_name") + List getStatisticsFoodDemand(); + + @Update("UPDATE ft_food_demand set flag = 0 where patient_id = #{patientId} and type = 4 ") + void updateExtraByPatientId(@Param("patientId") Long patientId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtInvoiceDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtInvoiceDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1271aca07ec95cb3a86ac9b501e91b46bc950d76 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtInvoiceDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtInvoiceDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 财务收费开票Mapper接口 + * + * @author ft + * @date 2020-12-08 + */ +public interface FtInvoiceDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNotifyDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNotifyDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..636a26d2354786ef2939c371e043dd86947072ae --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNotifyDaoMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtNotifyDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springframework.stereotype.Repository; + +/** + * 系统信息Mapper接口 + * + * @author ft + * @date 2020-12-17 + */ +@Repository +public interface FtNotifyDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNutritionFoodDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNutritionFoodDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..fcd628d78a83b987d1871d357d92e898bd03ddcf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtNutritionFoodDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtNutritionFoodDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 病患营养配餐Mapper接口 + * + * @author ft + * @date 2020-12-03 + */ +public interface FtNutritionFoodDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..c2e77c84092765bb4dfec1f70f1ee4eb0a08a956 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtOrderDaoMapper.java @@ -0,0 +1,150 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 订单管理Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtOrderDaoMapper extends BaseMapper { + + @Insert("insert into ft_order (order_type, staff_id, order_src, create_at, order_date, order_list, total_price) select type as order_type, staff_id, 1 as order_src, now() as create_at, date_add(now(), interval 1 day) as order_date, foods, (select sum(price) from ft_food f where FIND_IN_SET(f.food_id,d.foods)) as price from ft_staff_demand d where d.demand_mode = 1") + void GenerateStaffTomorrowOrder(); + + @Select("select a.order_type, count(a.order_type) as count_order , c.depart_name from ft_order a\n" + + " LEFT JOIN ft_staff_info b on a.staff_id = b.staff_id\n" + + " LEFT JOIN ft_depart c on b.depart_id = c.depart_id where b.depart_id = c.depart_id and a.order_date BETWEEN #{start} and #{end}\n" + + " GROUP BY a.order_type, c.depart_name") + IPage statisGetOrderOfDate(Page page, @Param("start") String start, @Param("end") String end); + + @Select("SELECT\n" + + "\ta.order_type,\n" + + "\tcount( a.order_type ) AS count_order,\n" + + "\tc.depart_name,\n" + + "\tb.`name` AS staff_name,\n" + + "\tb.tel \n" + + "FROM\n" + + "\tft_order a\n" + + "\tLEFT JOIN ft_staff_info b ON a.staff_id = b.staff_id\n" + + "\tLEFT JOIN ft_depart c ON b.depart_id = c.depart_id \n" + + "WHERE\n" + + "\tb.depart_id = c.depart_id \n" + + "\tAND a.order_date BETWEEN #{start} \n" + + "\tAND #{end} \n" + + "GROUP BY\n" + + "\ta.order_type,\n" + + "\tc.depart_name,\n" + + "\tb.`name`,\n" + + "\tb.tel") + IPage statisGetOrderOfDateByPerson(Page page, @Param("start") String start, @Param("end") String end); + + List listDetailedByDate(@Param("orderType") Integer orderType, @Param("start") String start, @Param("end") String end); + + List listAllDetailedByDate(String start, String end); + + + @Select("SELECT\n" + + "\t* \n" + + "FROM\n" + + "\tft_order \n" + + "WHERE\n" + + "\tstaff_id = #{staffId} \n" + + "\tAND order_type = #{type} \n" + + "\tAND order_date BETWEEN DATE(\n" + + "\tNOW()) \n" + + "\tAND date_add(\n" + + "\tnow(),\n" + + "\tINTERVAL 1 DAY)") + FtOrderDao getNowOrder(@Param("staffId") Long staffId, @Param("type") int type); + + + @Insert("INSERT INTO ft_order ( order_type, staff_id, order_list, total_price, create_at, pay_type, pay_flag, write_off_flag, write_off_at, device_id, order_date ) SELECT\n" + + "#{type},\n" + + "#{staffId},\n" + + "b.food_list,\n" + + "b.price,\n" + + "now(),\n" + + "1,\n" + + "1,\n" + + "1,\n" + + "NOW(),\n" + + "#{deviceId},\n" + + "NOW() \n" + + "FROM\n" + + "\tft_food_default b \n" + + "WHERE\n" + + "\tb.type = #{type}") + void insertOrderAndWriteOff(@Param("staffId") Long staffId, @Param("type") int type, @Param("deviceId") Long deviceId); + + @Select("SELECT\n" + + "\tc.depart_name,\n" + + "\ta.type,\n" + + "\ta.flag,\n" + + "count(*) as total\n" + + "FROM\n" + + "\tft_food_demand a\n" + + "LEFT JOIN ft_patient b ON a.patient_id = b.patient_id\n" + + "LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" + + "WHERE\n" + + "\tb.off_flag = 0\n" + + "AND a.flag = 1\n" + + "GROUP BY a.type, c.depart_name") + List getStatisticsReportMealsOfTomorrow(); + + @Select("SELECT\n" + + "\tc.depart_name,\n" + + "\ta.type,\n" + + "\tcount(*) as total\n" + + "FROM\n" + + "\tft_staff_demand a\n" + + "LEFT JOIN ft_staff_info b ON a.staff_id = b.staff_id\n" + + "LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" + + "WHERE\n" + + "\ta.demand_mode = 1\n" + + "GROUP BY\n" + + "\tc.depart_name,\n" + + "\ta.type") + List getStatisticsStaffOfTomorrow(); + + @Select("SELECT\n" + + "\tc.depart_name,\n" + + "\ta.type,\n" + + "\tcount(*) as total\n" + + "FROM\n" + + "\tft_staff_stop_meals a\n" + + "LEFT JOIN ft_staff_info b ON a.staff_id = b.staff_id\n" + + "LEFT JOIN ft_depart c ON b.depart_id = c.depart_id\n" + + "WHERE\n" + + "demand_date BETWEEN date_add(NOW(), INTERVAL 1 DAY)\n" + + "AND date_add(now(), INTERVAL 2 DAY)\n" + + "GROUP BY\n" + + "\tc.depart_name,\n" + + "\ta.type\n") + List getStopOrderOfTomorrow(); + + @Select("SELECT\n" + + "\tc.depart_name,\n" + + "\tb.`name`, b.tel,\n" + + "\ta.* \n" + + "FROM\n" + + "\tft_order a\n" + + "\tLEFT JOIN ft_staff_info b ON b.staff_id = a.staff_id\n" + + "\tLEFT JOIN ft_depart c ON c.depart_id = b.depart_id \n" + + "WHERE\n" + + "\ta.order_date BETWEEN #{start} \n" + + "\tAND #{end}") + List statisOrderOfDateByPersonNoPage( @Param("start") String start, @Param("end") String end); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPatientDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPatientDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1d9e6c8b298c45966a33feee27ebce2fd0d80e03 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPatientDaoMapper.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.vo.FtDepartVo; +import com.ruoyi.system.fantang.vo.FtPatientVo; +import com.ruoyi.system.fantang.vo.ftSyncConflictVo; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 病人管理Mapper接口 + * + * @author ft + * @date 2020-11-24 + */ +@Repository +public interface FtPatientDaoMapper extends BaseMapper { + @Update("update ft_patient set sync_flag = 0 where off_flag = 0") + public int initForSync(); + + @Update("update ft_patient a, ft_sync b set a.name= b.name, a.bed_id = b.bed_id, a.sync_flag = 1 where a.hospital_id = b.hospital_id and a.name = b.name and a.bed_id = b.bed_id and a.depart_id = b.depart_id") + public int syncEqual(); + + @Update("update ft_patient a, ft_sync b set a.name= b.name, a.bed_id = b.bed_id, a.sync_flag = 1 where a.hospital_id = b.hospital_id and a.name = b.name") + int syncEqualForHospitalAndName(); + + @Update("update ft_patient a, ft_sync b set a.name= b.name, a.bed_id = b.bed_id, a.sync_flag = 1 where a.hospital_id = b.hospital_id") + public int syncEqualHospitalId(); + + @Insert("Insert into ft_patient (hospital_id, name, depart_id, bed_id, sync_flag) select a.hospital_id, a.name, c.depart_id, a.bed_id,2 from ft_sync a LEFT JOIN ft_depart c on a.depart_name = c.depart_name LEFT JOIN ft_patient b on a.`name` = b.`name` and c.depart_id = b.depart_id where a.hospital_id not in (select hospital_id from ft_patient d)") + public int syncNewHospitalId(); + + @Update("update ft_patient set off_flag = 1 where sync_flag = 0") + public int updateOffHospitalFlag(); + + @Update("update ft_patient a inner join ft_sync b on a.hospital_id = b.hospital_id and a.sync_flag = 2 set a.depart_id = (select depart_id from ft_depart c where b.depart_name = c.depart_name )") + public int updateDepartIDToNewPatient(); + + @Update("update ft_sync, ft_depart set ft_sync.depart_id = ft_depart.depart_id where ft_sync.depart_name = ft_depart.depart_name") + public int updateDepartIDToPatient(); + + + @Select("select a.hospital_id, a.name, a.depart_name, a.bed_id, b.depart_id, c.hospital_id as old_hospital_id, c.name as old_name, a.depart_name as old_depart_name, c.bed_id as old_bed_id, c.depart_id as old_depart_id, c.patient_id as patient_id from ft_sync a LEFT JOIN ft_depart b on a.depart_name = b.depart_name LEFT JOIN ft_patient c on a.hospital_id = c.hospital_id where b.depart_id = c.depart_id and a.bed_id = c.bed_id and a.name != c.name") + List syncConflictOnlyHospitalEqual(); + + @Select("select a.hospital_id, a.name, a.depart_name, a.bed_id, b.depart_id, c.hospital_id as old_hospital_id, c.name as old_name, a.depart_name as old_depart_name, c.bed_id as old_bed_id, c.depart_id as old_depart_id, c.patient_id as patient_id from ft_sync a LEFT JOIN ft_depart b on a.depart_name = b.depart_name LEFT JOIN ft_patient c on a.hospital_id = c.hospital_id where b.depart_id = c.depart_id and a.bed_id = c.bed_id and a.name = c.name and c.hospital_id!=a.hospital_id") + List syncConflictOtherAllEqual(); + + List getReportMealsToday(@Param("createAt") String createAt, @Param("patientId") Long patientId); + + List getReportMealsByDepart(@Param("departId") Long departId, @Param("createAt") String createAt); + + @Select("SELECT * from ft_patient where depart_id = #{departId} and patient_id not in (SELECT patient_id from ft_catering) ") + List selectNoCateringByDepartId(@Param("departId") Long departId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPrepaymentDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPrepaymentDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..4626358f72e9b538a29a2c98f515856a7248ba93 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtPrepaymentDaoMapper.java @@ -0,0 +1,29 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentVo; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.Date; +import java.util.List; + +/** + * 收费管理Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtPrepaymentDaoMapper extends BaseMapper { + + List listNoPrepay(FtPrepaymentVo params); + + List listPrepay(FtPrepaymentVo params); + + List listAllPrepay(FtPrepaymentVo params); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtRemotePatientDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtRemotePatientDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..f1b70ba0ae287a00710d686a8a8d576a79beb754 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtRemotePatientDaoMapper.java @@ -0,0 +1,11 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtRemotePatientDao; +import org.springframework.stereotype.Repository; + + +@Repository +public interface FtRemotePatientDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealVoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealVoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..eda323d93c673d610be3bdb18502466bb0090351 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealVoMapper.java @@ -0,0 +1,65 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.vo.FtReportMealVo; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import org.springframework.stereotype.Repository; + +import java.util.List; + +/** + * 报餐管理Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +@Repository +public interface FtReportMealVoMapper extends BaseMapper { + @Select("select a.price, a.patient_id, b.hospital_id, b.bed_id, b.`name`, c.depart_name, c.depart_code from ft_report_meals a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id = c.depart_id") + public List listAll(); + + @Select("select sum(a.price) as price, a.patient_id, b.hospital_id, b.bed_id, b.`name`, c.depart_name, c.depart_code from ft_report_meals a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id = c.depart_id where a.settlement_flag = 0 GROUP BY a.patient_id") + public List listNoPay(); + + @Select("select sum(a.price) as price, a.patient_id, b.hospital_id, b.bed_id, b.`name`, c.depart_name, c.depart_code from ft_report_meals a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id = c.depart_id where a.settlement_flag = 1 GROUP BY a.patient_id") + public List listPayoff(); + +// 根据foods列表和ft_food 的价格,计算列表中菜单的总价 +// select d.*, (select sum(price) from ft_food f where FIND_IN_SET(f.food_id,d.foods)) as price from ft_food_demand d + // 根据病患配餐表,生成次日报餐记录,并通过ft_food 菜品价格计算菜单总价 + @Insert("INSERT INTO ft_report_meals (create_at,type,patient_id,foods,settlement_flag,price,open_flag,nutrition_food_flag,nutrition_food_id,nutrition_food_price, total_price) " + + "SELECT date_add(now(), INTERVAL 1 DAY), d.type, d.patient_id, d.foods,0," + + "(SELECT sum(price) FROM ft_food f WHERE FIND_IN_SET(f.food_id, d.foods)) AS price," + + "d.open_flag,0,d.nutrition_food_id, e.price as nutrition_food_price , (SELECT sum(price) FROM ft_food f WHERE FIND_IN_SET(f.food_id, d.foods)) AS total_price" + + "FROM ft_food_demand d " + + "LEFT JOIN ft_patient p ON p.patient_id = d.patient_id AND p.off_flag = 0 " + + "LEFT JOIN ft_nutrition_food e ON e.id = d.nutrition_food_id") + public void insertTomorrowReportMeal(); + + // 为指定病患,生成次日报餐记录,并通过ft_food 菜品价格计算菜单总价 + @Insert("INSERT INTO ft_report_meals (create_at,type,patient_id,foods,settlement_flag,price,open_flag,nutrition_food_flag,nutrition_food_id,nutrition_food_price) " + + "SELECT date_add(now(), INTERVAL 1 DAY), d.type, d.patient_id, d.foods,0," + + "(SELECT sum(price) FROM ft_food f WHERE FIND_IN_SET(f.food_id, d.foods)) AS price," + + "d.open_flag,0,d.nutrition_food_id, e.price as nutrition_food_price " + + "FROM ft_food_demand d where d.patient_id = #{patientId}" + + "LEFT JOIN ft_patient p ON p.patient_id = d.patient_id AND p.off_flag = 0 " + + "LEFT JOIN ft_nutrition_food e ON e.id = d.nutrition_food_id") + public void insertTomorrowReportMealByPatient(@Param("patientId") Long patientId); + + @Update("UPDATE ft_report_meals set dining_flag = 1, dining_at = now() where type = 1 and create_at =CURDATE()") + Integer updateBreakfastDinnerFlag(); + + @Update("UPDATE ft_report_meals set dining_flag = 1, dining_at = now() where type = 2 and create_at =CURDATE()") + Integer updateLunchDinnerFlag(); + + @Update("UPDATE ft_report_meals set dining_flag = 1, dining_at = now() where type = 3 and create_at =CURDATE()") + Integer updateDinnerDinnerFlag(); + + @Update("UPDATE ft_report_meals set dining_flag = 1, dining_at = now() where type = 4 and open_flag = 1 and create_at =CURDATE()") + Integer updateAdditionDinnerFlag(); + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..527dab34f12b942a10ac06521491cb75d652fe13 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReportMealsDaoMapper.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.fantang.mapper; + +import cn.hutool.core.date.DateTime; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.entity.ReportMealsPriceEntity; +import com.ruoyi.system.fantang.vo.FtReportMealVo; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; + +import java.util.Date; +import java.util.List; + +/** + * 报餐管理Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtReportMealsDaoMapper extends BaseMapper { + + @Select("SELECT sum(price) as price from ft_report_meals where patient_id = #{patientId} and settlement_flag = 0 and create_at BETWEEN #{createAt} and #{selectBillingDate}") + Long countBillingBetween(Long patientId, Date createAt, Date selectBillingDate); + + List listMealsWithInSettle(FtReportMealsDao ftReportMealsDao); + + @Update("UPDATE ft_report_meals set settlement_flag = 1 , settlement_at = now() , settlement_id = #{settlementId} where patient_id = #{patientId} and create_at BETWEEN #{lastBillingDate} and #{selectBillingDate}") + Integer settleMeals(@Param("settlementId") Long settlementId, @Param("patientId") Long patientId, @Param("lastBillingDate") String lastBillingDate, @Param("selectBillingDate") String selectBillingDate); + + + /** + * SELECT a.patient_id,sum(a.price) as price , sum(a.nutrition_food_price ) as nutrition_food_price , sum(a.total_price) as total_price FROM ft_report_meals a where a.patient_id = 2 and a.create_at BETWEEN '2020-12-01' AND '2020-12-22' + * + * @param patientId + * @param lastBillingDate + * @param selectBillingDate + * @return + */ + @Select("SELECT a.patient_id,sum(a.price) as dinner_total_price , sum(a.nutrition_food_price ) as nutrition_total_price , sum(a.total_price) as sum_total_price FROM ft_report_meals a where a.patient_id = #{patientId} and a.dining_at BETWEEN #{lastBillingDate} AND #{selectBillingDate}") + ReportMealsPriceEntity sumTotalPrice(@Param("patientId") Long patientId, @Param("lastBillingDate") Date lastBillingDate, @Param("selectBillingDate") Date selectBillingDate); + + List listNutrition(@Param("beginOfDay") DateTime beginOfDay, @Param("endOfDay") DateTime endOfDay, FtReportMealsDao ftReportMealsDao); + + List listAllNutrition(FtReportMealsDao ftReportMealsDao); + + @Select("SELECT a.type, a.foods, count(a.foods) as count, b.depart_id,c.depart_name\n" + + "from ft_report_meals a \n" + + "LEFT JOIN ft_patient b on a.patient_id = b.patient_id\n" + + "LEFT JOIN ft_depart c on b.depart_id = c.depart_id \n" + + "where b.depart_id = #{departId} and a.dining_at BETWEEN #{beginOfDay} and #{endOfDay}\n" + + "GROUP BY a.type, foods") + List getStatisticsFoods(@Param("departId") Integer departId,@Param("beginOfDay") DateTime beginOfDay, @Param("endOfDay") DateTime endOfDay); + + @Select("SELECT a.patient_id,sum(a.price) as dinner_total_price , sum(a.nutrition_food_price ) as nutrition_total_price , sum(a.total_price) as sum_total_price FROM ft_report_meals a where a.patient_id = #{patientId} AND a.settlement_flag = 0 AND a.dining_flag = 1") + ReportMealsPriceEntity sumAllTotalPrice(@Param("patientId") Long patientId); + + // SELECT a.*, b.`name` , b.bed_id, b.hospital_id, c.depart_name from ft_report_meals a LEFT JOIN ft_patient b on a.patient_id = b.patient_id LEFT JOIN ft_depart c on b.depart_id =c.depart_id where a.patient_id in (7) and a.create_at = CURDATE() + 1 + List listPatientReportMeals(FtReportMealsDao ftReportMealsDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReturnDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReturnDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..7cf28aaf43b730e22983f22fe414ba6a840ef531 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtReturnDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtReturnDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 回款登记Mapper接口 + * + * @author ft + * @date 2021-01-25 + */ +public interface FtReturnDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettleDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettleDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..fd1524ca2213bb752ffd554555c9199b24e0d837 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettleDaoMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtSettleDao; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +/** + * 结算报Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtSettleDaoMapper extends BaseMapper { + + @Update("UPDATE ft_settle a set list = (select GROUP_CONCAT(b.id) from ft_report_meals b where b.patient_id = #{patientId} and b.create_at BETWEEN #{lastBillingDate} and #{selectBillingDate}) where a.settle_id = #{settlementId} ") + Integer updateList(@Param("settlementId") Long settlementId, @Param("patientId") Long patientId, @Param("lastBillingDate") String lastBillingDate, @Param("selectBillingDate") String selectBillingDate); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettlementDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettlementDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..a4dc500dab383a41851604b9bac1ec2722fb35f3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSettlementDaoMapper.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtSettlementDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +import java.util.List; + +/** + * 结算管理Mapper接口 + * + * @author ft + * @date 2020-12-25 + */ +public interface FtSettlementDaoMapper extends BaseMapper { + + List listWithPatient(FtSettlementDao ftSettlementDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffDemandDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffDemandDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..c047de9dabbc23b1e915d0e44c6ddae4c71b9992 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffDemandDaoMapper.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Insert; + +/** + * 员工报餐Mapper接口 + * + * @author ft + * @date 2020-12-07 + */ +public interface FtStaffDemandDaoMapper extends BaseMapper { + + @Insert("INSERT into ft_staff_demand (staff_id, type, demand_mode) VALUES (#{staffId}, 1, 0),(#{staffId}, 2, 0),(#{staffId}, 3, 0)") + Integer initDemandMode(Long staffId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffInfoDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffInfoDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..ce94202cdbbe83f695618af6443a4a7a91907616 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffInfoDaoMapper.java @@ -0,0 +1,25 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtStaffInfoDao; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +/** + * 员工管理Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtStaffInfoDaoMapper extends BaseMapper { + + // @Select("SELECT a.*, b.depart_name from ft_staff_info a LEFT JOIN ft_depart b on a.depart_id = b.depart_id where staff_type = 1") + List selectStaffInfoWithDepart(FtStaffInfoDao ftStaffInfoDao); + + @Update("update ft_staff_info set token=#{token}, login_flag=1 where staff_id=#{staff_id}") + void updateLoginStatus(FtStaffInfoDao dao); + + FtStaffInfoDao getDepartInfo(@Param("staffId") Long staffId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffStopMealsDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffStopMealsDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..3bab09a41e2144e4a99e30c328bff2f510c49fe5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffStopMealsDaoMapper.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; +import org.springframework.stereotype.Repository; + +/** + * 员工报餐Mapper接口 + * + * @author ft + * @date 2020-12-07 + */ +@Repository +public interface FtStaffStopMealsDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffSubsidyDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffSubsidyDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..d15c7962c196bd68b1077613fca8499037bb6fc2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtStaffSubsidyDaoMapper.java @@ -0,0 +1,26 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtStaffSubsidyDao; +import org.apache.ibatis.annotations.Insert; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 补贴流水查看Mapper接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface FtStaffSubsidyDaoMapper extends BaseMapper { + + Integer insertBatchStaffSubsidy(List ftStaffSubsidyDaoList); + + @Insert("") + void reBalance(); + + @Insert("INSERT into ft_staff_subsidy (staff_id, subsidy_type , income_type, price , consum_at) " + + " select staff_id, #{subsidyType}, 3, balance -#{maxBalance}, now() from ft_staff_info where balance > #{maxBalance} ") + void insertReBalance(@Param("subsidyType")String subsidyType, @Param("maxBalance") Integer maxBalance); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSubsidyDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSubsidyDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..1deebe17f1a429b946a4b826987843e402d61c57 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSubsidyDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtSubsidyDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 补贴管理Mapper接口 + * + * @author ft + * @date 2020-11-25 + */ +public interface FtSubsidyDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..f5ce62581cb067bf9c3add48758709f22ce815d5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictDaoMapper.java @@ -0,0 +1,9 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.vo.ftSyncConflictVo; +import org.springframework.stereotype.Repository; + +@Repository +public interface FtSyncConflictDaoMapper extends BaseMapper { +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictGenDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictGenDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..178d46066e675578db2e73ada0d2bcfb6d973152 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncConflictGenDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtSyncConflictGenDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 同步冲突Mapper接口 + * + * @author ft + * @date 2020-12-24 + */ +public interface FtSyncConflictGenDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncLogDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncLogDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..2a9fcd05aabd256c63346ce23ff22b48a411a8b2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncLogDaoMapper.java @@ -0,0 +1,10 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtSyncLogDao; +import org.springframework.stereotype.Repository; + +@Repository +public interface FtSyncLogDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncPatientDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncPatientDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..76c57263084339b71bdd9d349bbbe00e91c549ad --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtSyncPatientDaoMapper.java @@ -0,0 +1,12 @@ +package com.ruoyi.system.fantang.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ruoyi.system.fantang.domain.FtRemotePatientDao; +import org.apache.ibatis.annotations.Delete; +import org.springframework.stereotype.Repository; + +@Repository +public interface FtSyncPatientDaoMapper extends BaseMapper { + @Delete("truncate table ft_sync") + void clearAll(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtWeekMenuDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtWeekMenuDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..6bc3865b1337084d0faa97183dedf24e8921fd86 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/mapper/FtWeekMenuDaoMapper.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.fantang.mapper; + +import com.ruoyi.system.fantang.domain.FtWeekMenuDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +/** + * 每周菜单Mapper接口 + * + * @author ft + * @date 2020-11-27 + */ +public interface FtWeekMenuDaoMapper extends BaseMapper { + + // 非聚合方式转换参考 + // SELECT a.weekday, a.dinner_type, CONCAT(b.name ) name FROM ft_week_menu a LEFT JOIN ft_food b ON FIND_IN_SET(b.food_id,a.foods) WHERE a.weekday = '周一' + @Select("SELECT a.weekday, a.dinner_type, GROUP_CONCAT(b.name ) name FROM ft_week_menu a LEFT JOIN ft_food b ON FIND_IN_SET(b.food_id,a.foods) WHERE a.weekday = #{weekDay} GROUP BY a.dinner_type") + List getTodayMenu(@Param("weekDay")String weekDay); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..64c016603eb0cb19c91c7a9f6fc5dadd31e391fd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtCateringDaoService.java @@ -0,0 +1,34 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtCateringDao; +import org.springframework.transaction.annotation.Transactional; + +import java.util.List; + +/** + * 配餐功能Service接口 + * + * @author ft + * @date 2020-12-07 + */ +public interface IFtCateringDaoService extends IService { + + List listNewFormatter(FtCateringDao ftCateringDao); + + FtCateringDao getByIdNewFormatter(Long id); + + List addNutritionCatering(FtCateringDao ftCateringDao); + + Integer deleteByPatientId(Long[] ids); + + Integer cancelByPatientId(Long[] ids); + + List notInTable(FtCateringDao ftCateringDao); + + Integer copyAndAdd(Long patientId, List ftCateringDao); + + Integer restoreByPatientId(Long[] ids); + + void paste(Long id, List ftCateringDaoList); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtConfigDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtConfigDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..6e2f1f255b3e80fca103b5d7978af35593631c24 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtConfigDaoService.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtConfigDao; + +import java.util.Map; + +/** + * 饭堂参数Service接口 + * + * @author ft + * @date 2020-12-07 + */ +public interface IFtConfigDaoService extends IService { + + Map getDinnerTimeSetting(); + + void updateConfigValue(Long id, String value); + + Boolean isDeviceEffective(Long deviceId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtDepartDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtDepartDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..2b45809d428623d26cc18f03d0a8907e3a18728c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtDepartDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtDepartDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 科室管理Service接口 + * + * @author ft + * @date 2020-11-24 + */ +public interface IFtDepartDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceEventService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceEventService.java new file mode 100644 index 0000000000000000000000000000000000000000..01f58661f4c8ab943f27a51477053bbd08857caa --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceEventService.java @@ -0,0 +1,10 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtFaceEventDao; + +import java.util.HashMap; +import java.util.List; + +public interface IFtFaceEventService { + List selectByMap(HashMap map); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceinfoDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceinfoDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..b7a34815150256822e8d33f69dd61ff7833027a0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFaceinfoDaoService.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtFaceinfoDao; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 人脸信息Service接口 + * + * @author ryo + * @date 2021-01-11 + */ +public interface IFtFaceinfoDaoService extends IService { + + /** + * 查询列表 + */ + List queryList(FtFaceinfoDao ftFaceinfoDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..2a3380f6c0db6be9a1edf462ede27a64d58141d1 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtFoodDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 食品管理Service接口 + * + * @author ft + * @date 2020-11-24 + */ +public interface IFtFoodDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDefaultDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDefaultDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..de7a8221d9428351318c7f7b02d92b26bcb72ed7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDefaultDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtFoodDefaultDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 默认报餐管理Service接口 + * + * @author ft + * @date 2020-11-25 + */ +public interface IFtFoodDefaultDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..df3a5e41d85dbb62c3e20b6a7f0808d6f50614eb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtFoodDemandDaoService.java @@ -0,0 +1,38 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtCateringDao; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; + +import java.util.Date; +import java.util.List; + +/** + * 病人报餐Service接口 + * + * @author ft + * @date 2020-12-03 + */ +public interface IFtFoodDemandDaoService extends IService { + public Integer GenerateOrderByPatientId(Long patientId); + + public Integer GenerateOrderForNewPatient(); + + List listNewFormatter(FtFoodDemandDao ftFoodDemandDao); + + FtFoodDemandDao getByIdNewFormatter(Long id); + + List getStatisticsOfDay(Date day); + + List getStatisticsOfWeek(Date day); + + List getStatisticsOfMonth(Date day); + + List getStatisticsFoodDemand(); + + Integer updateDayFoodDemand(List ftCateringList); + + Integer cancelNutritionByPatientId(Long[] ids); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtInvoiceDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtInvoiceDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..d5686f674d67c64e6f336f46b3409a07b6ea550c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtInvoiceDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtInvoiceDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 财务收费开票Service接口 + * + * @author ft + * @date 2020-12-08 + */ +public interface IFtInvoiceDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNotifyDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNotifyDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..e7707f63c0dd184824493cdf3bacec7deddef071 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNotifyDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtNotifyDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 系统信息Service接口 + * + * @author ft + * @date 2020-12-17 + */ +public interface IFtNotifyDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNutritionFoodDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNutritionFoodDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..4f4fcb116edcc22ed18a8a32a90d59a65865cbd2 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtNutritionFoodDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtNutritionFoodDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 病患营养配餐Service接口 + * + * @author ft + * @date 2020-12-03 + */ +public interface IFtNutritionFoodDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..606d0c6c6f64db6dcfc252a839ddadcdfbb240d7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtOrderDaoService.java @@ -0,0 +1,67 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; + +import java.util.Date; +import java.util.List; + +/** + * 订单管理Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtOrderDaoService extends IService { + + AjaxResult getOrderOfToday(Long staffId); + + Integer insertOrder(Long staffId, Integer orderType, Date demandDate); + + AjaxResult getAvailableOrder(Integer staffId); + + AjaxResult getOrderOfDay(Long staffId, Date orderDate); + + AjaxResult stopOrder(Long staffId, Integer orderType, Date demandDate); + + AjaxResult cancelOrder(Long orderId); + + AjaxResult getAvailableStopOrder(Long staffId); + + AjaxResult cancelStopOrder(Long orderId); + + IPage statisGetOrderOfDate(Date date, Integer pageNum, Integer pageSize); + + IPage statisGetOrderOfDateByPerson(Date date, Integer pageNum, Integer pageSize); + + List statisOrderOfDateByPersonNoPage(Date date); + + IPage statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize); + + IPage statisGetOrderOfWeekByPerson(Date date, Integer pageNum, Integer pageSize); + + IPage statisGetOrderOfMonth(Date date, Integer pageNum, Integer pageSize); + + IPage statisGetOrderOfMonthByPerson(Date date, Integer pageNum, Integer pageSize); + + List listDetailedByDate(Integer orderType, String start, String end); + + List listAllDetailedByDate(String start, String end); + + String setWriteOff(Long staffId, int type, Long deviceId); + + List getStatisticsReportMealsOfTomorrow(); + + List getStatisticsStaffOfTomorrow(); + + List getStopOrderOfTomorrow(); + + List statisOrderOfWeekByPersonNoPage(Date selectWeek); + + List statisOrderOfMonthByPersonNoPage(Date selectMonth); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPatientDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPatientDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..ad78456cb4037e64e7db96f36283784ba8cfc587 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPatientDaoService.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.vo.FtDepartVo; +import com.ruoyi.system.fantang.vo.FtPatientVo; + +import java.util.List; + +/** + * 病人管理Service接口 + * + * @author ft + * @date 2020-11-24 + */ +public interface IFtPatientDaoService extends IService { + + AjaxResult getReportMealsToday(String createAt, Long patientId); + + List getReportMealsByDepart(Long departId, String createAt); + + List selectNoCateringByDepartId(Long departId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPrepaymentDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPrepaymentDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..b46688f7fec4feb7748ac30ac1fadfe45771e298 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtPrepaymentDaoService.java @@ -0,0 +1,28 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentVo; + +import java.util.Date; +import java.util.List; + +/** + * 收费管理Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtPrepaymentDaoService extends IService { + + List listNoPrepay(FtPrepaymentVo params); + + List listPrepay(FtPrepaymentVo params); + + List listAllPrepay(FtPrepaymentVo params); + + FtPrepaymentVo getCountById(Long patiendId); + + FtPrepaymentDao getByPatientId(Long patientId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..2ccf02a4d0a2176891c9a7000c10ede76fc28e25 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReportMealsDaoService.java @@ -0,0 +1,52 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.entity.ReportMealsDayEntity; +import com.ruoyi.system.fantang.entity.ReportMealsPriceEntity; +import com.ruoyi.system.fantang.vo.FtReportMealVo; + +import java.util.Date; +import java.util.List; + +/** + * 报餐管理Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtReportMealsDaoService extends IService { + + List listAll(); + + List listNoPay(); + + List listPayoff(); + + Long countBillingBetween(ReportMealsDayEntity dao); + + List listMealsWithInSettle(FtReportMealsDao ftReportMealsDao); + + Integer settleMeals(Long settlementId, Long patientId, String lastBillingDate, String selectBillingDate); + + ReportMealsPriceEntity sumTotalPrice(Long patientId, Date lastBillingDate, Date selectBillingDate); + + ReportMealsPriceEntity sumAllTotalPrice(Long patientId); + + FtReportMealsDao getLastReportMeals(Long patientId); + + List listNutrition(FtReportMealsDao ftReportMealsDao); + + List listAllNutrition(FtReportMealsDao ftReportMealsDao); + + List getStatisticsFoods(Integer departId, Date day); + + List listPatientReportMeals(FtReportMealsDao ftReportMealsDao); + + void insertTomorrowReportMealByPatient(Long patientId); + + IPage listPage(QueryWrapper reportMealsWrapper, Integer pageNum, Integer pageSize); +} + diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReturnDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReturnDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..9a5a27baddd48446a479432db1e3b8fb544da42f --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtReturnDaoService.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtReturnDao; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 回款登记Service接口 + * + * @author ft + * @date 2021-01-25 + */ +public interface IFtReturnDaoService extends IService { + + /** + * 查询列表 + */ + List queryList(FtReturnDao ftReturnDao); + + FtReturnDao selectLastReturn(Long id); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettleDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettleDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..8aae6cb14c95e249104dd75468213a977f4f77a6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettleDaoService.java @@ -0,0 +1,15 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtSettleDao; + +/** + * 结算报Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtSettleDaoService extends IService { + + Integer updateList(Long settlementId, Long patientId, String lastBillingDate, String selectBillingDate); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettlementDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettlementDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..ba7f17476b50734e7c6417863c09bab5ccbb62f6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSettlementDaoService.java @@ -0,0 +1,17 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtSettlementDao; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * 结算管理Service接口 + * + * @author ft + * @date 2020-12-25 + */ +public interface IFtSettlementDaoService extends IService { + + List listWithPatient(FtSettlementDao ftSettlementDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffDemandDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffDemandDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..850f190717d94b184c99a6075023e1ac034f6ea5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffDemandDaoService.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 员工报餐Service接口 + * + * @author 陈智兴 + * @date 2020-12-07 + */ +public interface IFtStaffDemandDaoService extends IService { + + AjaxResult getConfiguration(Long staffId); + + AjaxResult setDemandMode(Long id, Integer type, Boolean demandModeFlag); + + AjaxResult initDemandMode(Long staffId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffInfoDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffInfoDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..ff2a899e87405446fa1c95c574d041c56164ac0d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffInfoDaoService.java @@ -0,0 +1,26 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtStaffInfoDao; + +import java.util.List; + +/** + * 员工管理Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtStaffInfoDaoService extends IService { + + List selectStaffInfoWithDepart(FtStaffInfoDao ftStaffInfoDao); + + AjaxResult login(String tel, String password); + + AjaxResult logout(Long staffId); + + FtStaffInfoDao getDepartInfo(Long staffId); + + FtStaffInfoDao inStaff(Integer personId); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffStopMealsDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffStopMealsDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..1db40d4eda12969f688fc99b9f320b06f4986b89 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffStopMealsDaoService.java @@ -0,0 +1,8 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; + +public interface IFtStaffStopMealsDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffSubsidyDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffSubsidyDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..7ae29af09d96ae111173d17d4d4a761b234d50f6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtStaffSubsidyDaoService.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.fantang.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.ruoyi.system.fantang.domain.FtStaffSubsidyDao; + +import java.util.List; + +/** + * 补贴流水查看Service接口 + * + * @author ft + * @date 2020-11-19 + */ +public interface IFtStaffSubsidyDaoService extends IService { + + Integer insertBatchStaffSubsidy(List ftStaffSubsidyDaoList); + + void reBalance(String subsidyType, Integer maxBalance); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSubsidyDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSubsidyDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..eb114253130421c6f16a4bcab45abed162dd9ad5 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSubsidyDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtSubsidyDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 补贴管理Service接口 + * + * @author ft + * @date 2020-11-25 + */ +public interface IFtSubsidyDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSyncConflictGenDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSyncConflictGenDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..26c75032b40ab4d55a664ff0f7767ea1051c6147 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtSyncConflictGenDaoService.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.system.fantang.domain.FtSyncConflictGenDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 同步冲突Service接口 + * + * @author ft + * @date 2020-12-24 + */ +public interface IFtSyncConflictGenDaoService extends IService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtWeekMenuDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtWeekMenuDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..a33d4935fce7482f525e58dfadd4918e80c283be --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/IFtWeekMenuDaoService.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.service; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtWeekMenuDao; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + * 每周菜单Service接口 + * + * @author ft + * @date 2020-11-27 + */ +public interface IFtWeekMenuDaoService extends IService { + + AjaxResult getMenuOfDay(String weekDay); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6a2be28166878df2fdfe0805617691697b77f261 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtCateringDaoServiceImpl.java @@ -0,0 +1,226 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtCateringDao; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.mapper.FtCateringDaoMapper; +import com.ruoyi.system.fantang.service.IFtCateringDaoService; +import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 配餐功能Service业务层处理 + * + * @author ft + * @date 2020-12-07 + */ +@Service +public class FtCateringDaoServiceImpl extends ServiceImpl implements IFtCateringDaoService { + + @Autowired + IFtFoodDemandDaoService foodDemandDaoService; + + @Override + public List listNewFormatter(FtCateringDao ftCateringDao) { + return this.baseMapper.listNewFormatter(ftCateringDao); + } + + @Override + public FtCateringDao getByIdNewFormatter(Long id) { + return this.baseMapper.getByIdNewFormatter(id); + } + + @Override + public List addNutritionCatering(FtCateringDao ftCateringDao) { + + List list = new ArrayList<>(); + + List types = ftCateringDao.getTypes(); + + for (int i = 1; i < 5; i++) { + FtCateringDao cateringDao = new FtCateringDao(); + cateringDao.setPatientId(ftCateringDao.getPatientId()); + cateringDao.setNumber(ftCateringDao.getNumber()); + cateringDao.setFrequency(ftCateringDao.getFrequency()); + cateringDao.setCateringUsage(ftCateringDao.getCateringUsage()); + cateringDao.setCreateAt(new Date()); + cateringDao.setType(i); + + for (Integer type : types) { + if (i == type) { + cateringDao.setFlag(true); + break; + } else { + cateringDao.setFlag(false); + } + } + + this.baseMapper.insert(cateringDao); + list.add(cateringDao); + } + + return list; + } + + @Override + public Integer deleteByPatientId(Long[] ids) { + + int rows = 0; + + for (Long id : ids) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", id); + rows += this.baseMapper.delete(wrapper); + } + + return rows; + } + + @Override + public Integer cancelByPatientId(Long[] ids) { + + int rows = 0; + + FtCateringDao ftCateringDao = new FtCateringDao(); + ftCateringDao.setFlag(false); + ftCateringDao.setUpdateAt(new Date()); + ftCateringDao.setSuspendFlag(false); + + FtFoodDemandDao foodDemandDao = new FtFoodDemandDao(); + foodDemandDao.setNutritionFoodFlag(false); + foodDemandDao.setOpenFlag(false); + + for (Long id : ids) { + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("patient_id", id); + rows += this.baseMapper.update(ftCateringDao, wrapper); + + // 更新该病患的报餐配置记录 + UpdateWrapper foodDemandWrapper = new UpdateWrapper<>(); + foodDemandWrapper.eq("patient_id", id); + foodDemandDaoService.update(foodDemandDao, foodDemandWrapper); + } + + return rows; + } + + @Override + public List notInTable(FtCateringDao ftCateringDao) { + + List patientIds = ftCateringDao.getPatientIds(); + + List patientNotInTable = new ArrayList<>(); + + for (Long patientId : patientIds) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + List ftCateringDaoList = this.baseMapper.selectList(wrapper); + + if (ftCateringDaoList.size() == 0) { + patientNotInTable.add(patientId); + } + + } + + return patientNotInTable; + } + + /** + * 拷贝粘贴新增指定病患的营养配餐记录并更新该病患默认报餐配置信息 + * + * @param patientId + * @param ftCateringDao + * @return + * @author 陈智兴 + */ + @Override + public Integer copyAndAdd(Long patientId, List ftCateringDao) { + + // 为指定病患id批量插入营养配餐配置记录 + for (FtCateringDao cateringDao : ftCateringDao) { + cateringDao.setId(null); + cateringDao.setPatientId(patientId); + this.baseMapper.insert(cateringDao); + + // 更新该病患默认配餐信息 + FtFoodDemandDao foodDemandDao = new FtFoodDemandDao(); + foodDemandDao.setNutritionFoodId(cateringDao.getNumber()); + foodDemandDao.setNutritionFoodFlag(true); + foodDemandDao.setOpenFlag(true); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + wrapper.eq("type", cateringDao.getType()); + foodDemandDaoService.update(foodDemandDao, wrapper); + } + return 1; + } + + @Override + public Integer restoreByPatientId(Long[] ids) { + + int rows = 0; + + FtCateringDao ftCateringDao = new FtCateringDao(); + ftCateringDao.setUpdateAt(new Date()); + ftCateringDao.setSuspendFlag(true); + + FtFoodDemandDao ftFoodDemandDao = new FtFoodDemandDao(); + ftFoodDemandDao.setOpenFlag(true); + ftFoodDemandDao.setUpdateAt(new Date()); + + + for (Long id : ids) { + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("patient_id", id); + rows += this.baseMapper.update(ftCateringDao, wrapper); + + // 更新该病患的报餐配置记录 + UpdateWrapper foodDemandWrapper = new UpdateWrapper<>(); + foodDemandWrapper.eq("patient_id", id); + foodDemandDaoService.update(ftFoodDemandDao, foodDemandWrapper); + } + + return rows; + } + + @Override + public void paste(Long id, List ftCateringDaoList) { + + for (int i = 0; i < 4; i++) { + + FtCateringDao ftCateringDao = ftCateringDaoList.get(i); + FtCateringDao cateringDao = new FtCateringDao(); + cateringDao.setCateringUsage(ftCateringDao.getCateringUsage()); + cateringDao.setFlag(ftCateringDao.getFlag()); + cateringDao.setFrequency(ftCateringDao.getFrequency()); + cateringDao.setNumber(ftCateringDao.getNumber()); + cateringDao.setSuspendFlag(ftCateringDao.getSuspendFlag()); + cateringDao.setUpdateAt(new Date()); + + // 更新该病患营养配餐信息 + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("patient_id", id); + wrapper.eq("type", i + 1); + this.baseMapper.update(cateringDao, wrapper); + + // 更新该病患默认配餐信息 + FtFoodDemandDao foodDemandDao = new FtFoodDemandDao(); + foodDemandDao.setNutritionFoodId(ftCateringDao.getNumber()); + foodDemandDao.setNutritionFoodFlag(ftCateringDao.getFlag()); + foodDemandDao.setOpenFlag(ftCateringDao.getSuspendFlag()); + QueryWrapper foodDemandWrapper = new QueryWrapper<>(); + foodDemandWrapper.eq("patient_id", id); + foodDemandWrapper.eq("type", i + 1); + foodDemandDaoService.update(foodDemandDao, foodDemandWrapper); + + } + + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtConfigDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtConfigDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a7efa32fb6a8602a4068926c7ce22e413b1cba43 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtConfigDaoServiceImpl.java @@ -0,0 +1,70 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtConfigDao; +import com.ruoyi.system.fantang.mapper.FtConfigDaoMapper; +import com.ruoyi.system.fantang.service.IFtConfigDaoService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + +/** + * 饭堂参数Service业务层处理 + * + * @author ft + * @date 2020-12-07 + */ +@Service +public class FtConfigDaoServiceImpl extends ServiceImpl implements IFtConfigDaoService { + + @Override + public Map getDinnerTimeSetting() { + Map map = new HashMap<>(); + + QueryWrapper breakfastStartWrapper = new QueryWrapper<>(); + breakfastStartWrapper.eq("config_key", "dinner_string"); + String dinnerString = this.baseMapper.selectOne(breakfastStartWrapper).getConfigValue(); + String[] split = dinnerString.split(","); + map.put("breakfastStart", split[0]); + map.put("breakfastEnd", split[1]); + map.put("lunchStart", split[2]); + map.put("lunchEnd", split[3]); + map.put("dinnerStart", split[4]); + map.put("dinnerEnd", split[5]); + + return map; + } + + @Override + public void updateConfigValue(Long id, String value) { + + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("id", id); + FtConfigDao ftConfigDao = new FtConfigDao(); + ftConfigDao.setConfigValue(value); + this.baseMapper.update(ftConfigDao, wrapper); + } + + @Override + public Boolean isDeviceEffective(Long deviceId) { + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("config_key", "device_id"); + wrapper.eq("config_value", deviceId.toString()); + FtConfigDao ftConfigDao = this.baseMapper.selectOne(wrapper); + + if (ftConfigDao == null) { + return false; + + } else { + QueryWrapper flagWrapper = new QueryWrapper<>(); + flagWrapper.eq("config_key", "device_flag"); + FtConfigDao flagDao = this.baseMapper.selectOne(flagWrapper); + + return !"0".equals(flagDao.getConfigValue()); + } + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtDepartDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtDepartDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b9f7d3138d5884edd94e848b6378b5e9c6b3a2d0 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtDepartDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtDepartDaoMapper; +import com.ruoyi.system.fantang.domain.FtDepartDao; +import com.ruoyi.system.fantang.service.IFtDepartDaoService; + +/** + * 科室管理Service业务层处理 + * + * @author ft + * @date 2020-11-24 + */ +@Service +public class FtDepartDaoServiceImpl extends ServiceImpl implements IFtDepartDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFaceinfoDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFaceinfoDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..ee52bc611b613e6cd41cbf239f852b1656f75fea --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFaceinfoDaoServiceImpl.java @@ -0,0 +1,37 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtFaceinfoDao; +import com.ruoyi.system.fantang.mapper.FtFaceinfoDaoMapper; +import com.ruoyi.system.fantang.service.IFtFaceinfoDaoService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 人脸信息Service业务层处理 + * + * @author ryo + * @date 2021-01-11 + */ +@Service +public class FtFaceinfoDaoServiceImpl extends ServiceImpl implements IFtFaceinfoDaoService { + + @Override + public List queryList(FtFaceinfoDao ftFaceinfoDao) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (StringUtils.isNotBlank(ftFaceinfoDao.getDeviceId())) { + lqw.eq(FtFaceinfoDao::getDeviceId, ftFaceinfoDao.getDeviceId()); + } + if (ftFaceinfoDao.getPersonId() != null) { + lqw.eq(FtFaceinfoDao::getPersonId, ftFaceinfoDao.getPersonId()); + } + if (StringUtils.isNotBlank(ftFaceinfoDao.getPhone())) { + lqw.eq(FtFaceinfoDao::getPhone, ftFaceinfoDao.getPhone()); + } + return this.list(lqw); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..024dcef8d106e7e723b07d2cfd2ab447e7fb160a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtFoodDaoMapper; +import com.ruoyi.system.fantang.domain.FtFoodDao; +import com.ruoyi.system.fantang.service.IFtFoodDaoService; + +/** + * 食品管理Service业务层处理 + * + * @author ft + * @date 2020-11-24 + */ +@Service +public class FtFoodDaoServiceImpl extends ServiceImpl implements IFtFoodDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDefaultDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDefaultDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..66e237d907691692f527b0a6987ca1edf077628e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDefaultDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtFoodDefaultDaoMapper; +import com.ruoyi.system.fantang.domain.FtFoodDefaultDao; +import com.ruoyi.system.fantang.service.IFtFoodDefaultDaoService; + +/** + * 默认报餐管理Service业务层处理 + * + * @author ft + * @date 2020-11-25 + */ +@Service +public class FtFoodDefaultDaoServiceImpl extends ServiceImpl implements IFtFoodDefaultDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..5893bd15a3df4da6eee388e10b1ba420598a0602 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtFoodDemandDaoServiceImpl.java @@ -0,0 +1,116 @@ +package com.ruoyi.system.fantang.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtCateringDao; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.mapper.FtFoodDemandDaoMapper; +import com.ruoyi.system.fantang.service.IFtFoodDemandDaoService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 病人报餐Service业务层处理 + * + * @author ft + * @date 2020-12-03 + */ +@Service +public class FtFoodDemandDaoServiceImpl extends ServiceImpl implements IFtFoodDemandDaoService { + + @Override + public Integer GenerateOrderByPatientId(Long patientId) { + return this.baseMapper.GenerateOrderByPatientId(patientId); + } + + // 扫描所有未设置默认订餐信息的病人,增加配置信息 + @Override + public Integer GenerateOrderForNewPatient() { + // 获取所有未设置默认订餐需求病人 + List newPatients = this.baseMapper.getNewPatientNotDemand(); + for (Long patientId : newPatients) { + // 先创建四个用餐信息 + this.baseMapper.GenerateOrderByPatientId(patientId); + // 更新加餐信息为禁用状态 + this.baseMapper.updateExtraByPatientId(patientId); + } + return newPatients.size(); + } + + @Override + public List listNewFormatter(FtFoodDemandDao ftFoodDemandDao) { + return this.baseMapper.listNewFormatter(ftFoodDemandDao); + } + + @Override + public FtFoodDemandDao getByIdNewFormatter(Long id) { + return this.baseMapper.getByIdNewFormatter(id); + } + + @Override + public List getStatisticsOfDay(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfDay(day).toString(), DateUtil.endOfDay(day).toString()); + } + + @Override + public List getStatisticsOfWeek(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfWeek(day).toString(), DateUtil.endOfWeek(day).toString()); + } + + @Override + public List getStatisticsOfMonth(Date day) { + return this.baseMapper.getStatisticsOfDate(DateUtil.beginOfMonth(day).toString(), DateUtil.endOfMonth(day).toString()); + } + + @Override + public List getStatisticsFoodDemand() { + return this.baseMapper.getStatisticsFoodDemand(); + } + + @Override + public Integer updateDayFoodDemand(List ftCateringList) { + + int rows = 0; + + Long patientId = ftCateringList.get(0).getPatientId(); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("patient_id", patientId); + wrapper.orderByAsc("type"); + List foodDemandList = this.baseMapper.selectList(wrapper); + + for (int i = 0; i < 4; i++) { + FtFoodDemandDao foodDemand = foodDemandList.get(i); + foodDemand.setNutritionFoodId(ftCateringList.get(i).getNumber()); + foodDemand.setNutritionFoodFlag(ftCateringList.get(i).getFlag()); + foodDemand.setOpenFlag(true); + foodDemand.setUpdateAt(new Date()); + rows += this.baseMapper.updateById(foodDemand); + } + + return rows; + } + + @Override + public Integer cancelNutritionByPatientId(Long[] ids) { + + int rows = 0; + + FtFoodDemandDao foodDemand = new FtFoodDemandDao(); + foodDemand.setNutritionFoodFlag(false); + foodDemand.setUpdateAt(new Date()); + + for (Long id : ids) { + UpdateWrapper wrapper = new UpdateWrapper<>(); + wrapper.eq("patient_id", id); + rows += this.baseMapper.update(foodDemand, wrapper); + } + + return rows; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtInvoiceDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtInvoiceDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..f26e5bd12e6ea585a0698a6cd79de41fae39c103 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtInvoiceDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtInvoiceDaoMapper; +import com.ruoyi.system.fantang.domain.FtInvoiceDao; +import com.ruoyi.system.fantang.service.IFtInvoiceDaoService; + +/** + * 财务收费开票Service业务层处理 + * + * @author ft + * @date 2020-12-08 + */ +@Service +public class FtInvoiceDaoServiceImpl extends ServiceImpl implements IFtInvoiceDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNotifyDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNotifyDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..8dcabee6046f0e71f32daf1f34fb3c67ad7590af --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNotifyDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtNotifyDaoMapper; +import com.ruoyi.system.fantang.domain.FtNotifyDao; +import com.ruoyi.system.fantang.service.IFtNotifyDaoService; + +/** + * 系统信息Service业务层处理 + * + * @author ft + * @date 2020-12-17 + */ +@Service +public class FtNotifyDaoServiceImpl extends ServiceImpl implements IFtNotifyDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNutritionFoodDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNutritionFoodDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..cd1458103b1d0f9dab939fdae5a2988733ef6581 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtNutritionFoodDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtNutritionFoodDaoMapper; +import com.ruoyi.system.fantang.domain.FtNutritionFoodDao; +import com.ruoyi.system.fantang.service.IFtNutritionFoodDaoService; + +/** + * 病患营养配餐Service业务层处理 + * + * @author ft + * @date 2020-12-03 + */ +@Service +public class FtNutritionFoodDaoServiceImpl extends ServiceImpl implements IFtNutritionFoodDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..ce1f58fefe3a99b3a2f465ba61afb6dbf8ac7430 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtOrderDaoServiceImpl.java @@ -0,0 +1,244 @@ +package com.ruoyi.system.fantang.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.domain.FtFoodDemandDao; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; +import com.ruoyi.system.fantang.mapper.FtOrderDaoMapper; +import com.ruoyi.system.fantang.mapper.FtStaffStopMealsDaoMapper; +import com.ruoyi.system.fantang.service.IFtOrderDaoService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 订单管理Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtOrderDaoServiceImpl extends ServiceImpl implements IFtOrderDaoService { + + @Autowired + FtStaffStopMealsDaoMapper staffStopMealsDaoMapper; + + public void GenerateStaffTomorrowOrder() { + int week = DateUtil.thisDayOfWeek(); + if (week < 6) { + this.baseMapper.GenerateStaffTomorrowOrder(); + } + } + + @Override + public AjaxResult getOrderOfToday(Long staffId) { + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.between("order_date", DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date())); + List daos = this.baseMapper.selectList(wrapper); + return AjaxResult.success(daos); + } + + @Override + public Integer insertOrder(Long staffId, Integer orderType, Date demandDate) { + // 先删除停餐记录,再添加订餐记录 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("staff_id", staffId); + queryWrapper.eq("type", orderType); + queryWrapper.between("demand_date", DateUtil.beginOfDay(demandDate), DateUtil.endOfDay(demandDate)); + staffStopMealsDaoMapper.delete(queryWrapper); + + // 查找是否已经订餐 + FtOrderDao dao = new FtOrderDao(); + dao.setStaffId(staffId); + dao.setOrderType(orderType); + dao.setOrderDate(demandDate); + dao.setCreateAt(new Date()); + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.eq("order_type", orderType); + wrapper.between("order_date", DateUtil.beginOfDay(demandDate), DateUtil.endOfDay(demandDate)); + Integer count = this.baseMapper.selectCount(wrapper); + if (count > 0) { + return -1; + } else { + return this.baseMapper.insert(dao); + } + } + + @Override + public AjaxResult getAvailableOrder(Integer staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.ge("order_date", DateUtil.beginOfDay(new Date())); + List daos = this.baseMapper.selectList(wrapper); + return AjaxResult.success(daos); + } + + @Override + public AjaxResult getOrderOfDay(Long staffId, Date orderDate) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.between("order_date", DateUtil.beginOfDay(orderDate), DateUtil.endOfDay(orderDate)); + List daos = this.baseMapper.selectList(wrapper); + return AjaxResult.success(daos); + } + + @Override + public AjaxResult stopOrder(Long staffId, Integer orderType, Date demandDate) { + // 先删除当天的订餐记录,再添加停餐记录 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.eq("order_type", orderType); + wrapper.between("order_date", DateUtil.beginOfDay(demandDate), DateUtil.endOfDay(demandDate)); + this.baseMapper.delete(wrapper); + + // 添加停餐记录 + FtStaffStopMealsDao dao = new FtStaffStopMealsDao(); + dao.setStaffId(staffId); + dao.setType(orderType); + dao.setDemandDate(demandDate); + dao.setCreateAt(new Date()); + return AjaxResult.success(staffStopMealsDaoMapper.insert(dao)); + } + + @Override + public AjaxResult cancelOrder(Long orderId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("order_id",orderId); + wrapper.eq("write_off_flag", 0); + + return AjaxResult.success(this.baseMapper.delete(wrapper)); + } + + @Override + public AjaxResult getAvailableStopOrder(Long staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + wrapper.ge("demand_date", new Date()); + return AjaxResult.success(staffStopMealsDaoMapper.selectList(wrapper)); + } + + @Override + public AjaxResult cancelStopOrder(Long orderId) { + return AjaxResult.success(staffStopMealsDaoMapper.deleteById(orderId)); + } + + @Override + public IPage statisGetOrderOfDate(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDate(page, DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString()); + } + + @Override + public IPage statisGetOrderOfDateByPerson(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDateByPerson(page, DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString()); + } + + @Override + public List statisOrderOfDateByPersonNoPage(Date date) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfDay(date).toString(), DateUtil.endOfDay(date).toString()); + } + + @Override + public IPage statisGetOrderOfWeek(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDate(page, DateUtil.beginOfWeek(date).toString(), DateUtil.endOfWeek(date).toString()); + } + + @Override + public IPage statisGetOrderOfWeekByPerson(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDateByPerson(page, DateUtil.beginOfWeek(date).toString(), DateUtil.endOfWeek(date).toString()); + } + + @Override + public IPage statisGetOrderOfMonth(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDate(page, DateUtil.beginOfMonth(date).toString(), DateUtil.endOfMonth(date).toString()); + } + + @Override + public IPage statisGetOrderOfMonthByPerson(Date date, Integer pageNum, Integer pageSize) { + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.statisGetOrderOfDateByPerson(page, DateUtil.beginOfMonth(date).toString(), DateUtil.endOfMonth(date).toString()); + } + + @Override + public List listDetailedByDate(Integer orderType, String start, String end) { + return this.baseMapper.listDetailedByDate(orderType, start, end); + } + + @Override + public List listAllDetailedByDate(String start, String end) { + return this.baseMapper.listAllDetailedByDate(start, end); + } + + @Override + public String setWriteOff(Long staffId, int type, Long deviceId) { + FtOrderDao orderDao = this.baseMapper.getNowOrder(staffId, type); + + if (orderDao != null) { + + // 判断该订单是否已核销 + if (orderDao.getWriteOffFlag() != 1) { + + // 核销该订单 + orderDao.setPayType(1); + orderDao.setPayFlag(1); + orderDao.setWriteOffFlag(1); + orderDao.setWriteOffAt(new Date()); + orderDao.setDeviceId(deviceId); + + this.baseMapper.updateById(orderDao); + + return "该订单已核销"; + } + + return "该订单已核销,请勿重复刷脸"; + + } else { + + // 没有该订单则自动生成一个订餐记录并核销 + this.baseMapper.insertOrderAndWriteOff(staffId, type, deviceId); + + return "已生产订单并核销"; + } + } + + @Override + public List getStatisticsReportMealsOfTomorrow() { + return this.baseMapper.getStatisticsReportMealsOfTomorrow(); + } + + @Override + public List getStatisticsStaffOfTomorrow() { + return this.baseMapper.getStatisticsStaffOfTomorrow(); + + } + + @Override + public List getStopOrderOfTomorrow() { + return this.baseMapper.getStopOrderOfTomorrow(); + } + + @Override + public List statisOrderOfWeekByPersonNoPage(Date selectWeek) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfWeek(selectWeek).toString(), DateUtil.endOfWeek(selectWeek).toString()); + } + + @Override + public List statisOrderOfMonthByPersonNoPage(Date selectMonth) { + return this.baseMapper.statisOrderOfDateByPersonNoPage(DateUtil.beginOfMonth(selectMonth).toString(), DateUtil.endOfMonth(selectMonth).toString()); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPatientDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPatientDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..07cb569c35f8f2e33e7d23ba5e1876fe7837c800 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPatientDaoServiceImpl.java @@ -0,0 +1,37 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.fantang.vo.FtDepartVo; +import com.ruoyi.system.fantang.vo.FtPatientVo; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtPatientDaoMapper; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.service.IFtPatientDaoService; + +import java.util.List; + +/** + * 病人管理Service业务层处理 + * + * @author ft + * @date 2020-11-24 + */ +@Service +public class FtPatientDaoServiceImpl extends ServiceImpl implements IFtPatientDaoService { + + @Override + public AjaxResult getReportMealsToday(String createAt, Long patientId) { + return AjaxResult.success(this.baseMapper.getReportMealsToday(createAt, patientId)); + } + + @Override + public List getReportMealsByDepart(Long departId, String createAt) { + return this.baseMapper.getReportMealsByDepart(departId,createAt); + } + + @Override + public List selectNoCateringByDepartId(Long departId) { + return this.baseMapper.selectNoCateringByDepartId(departId); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPrepaymentDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPrepaymentDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..28c1440909d12d9808ecf065a6aa3f65bdd23278 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtPrepaymentDaoServiceImpl.java @@ -0,0 +1,56 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentDao; +import com.ruoyi.system.fantang.domain.FtPrepaymentVo; +import com.ruoyi.system.fantang.mapper.FtPrepaymentDaoMapper; +import com.ruoyi.system.fantang.service.IFtPrepaymentDaoService; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 收费管理Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtPrepaymentDaoServiceImpl extends ServiceImpl implements IFtPrepaymentDaoService { + + @Override + public List listNoPrepay(FtPrepaymentVo params) { + return this.baseMapper.listNoPrepay(params); + } + + @Override + public List listPrepay(FtPrepaymentVo params) { + return this.baseMapper.listPrepay(params); + } + + @Override + public List listAllPrepay(FtPrepaymentVo params) { + return this.baseMapper.listAllPrepay(params); + } + + @Override + public FtPrepaymentVo getCountById(Long patiendId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("patient_Id", patiendId); + FtPrepaymentDao prepaymentDao = this.baseMapper.selectOne(queryWrapper); + return (FtPrepaymentVo) prepaymentDao; + + } + + @Override + public FtPrepaymentDao getByPatientId(Long patientId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("patient_Id", patientId); + return this.baseMapper.selectOne(queryWrapper); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..f4fe1ab2038e7366537c4747d54cc1769b81e018 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReportMealsDaoServiceImpl.java @@ -0,0 +1,165 @@ +package com.ruoyi.system.fantang.service.impl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtOrderDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import com.ruoyi.system.fantang.entity.ReportMealsDayEntity; +import com.ruoyi.system.fantang.entity.ReportMealsPriceEntity; +import com.ruoyi.system.fantang.mapper.FtReportMealVoMapper; +import com.ruoyi.system.fantang.mapper.FtReportMealsDaoMapper; +import com.ruoyi.system.fantang.service.IFtReportMealsDaoService; +import com.ruoyi.system.fantang.vo.FtReportMealVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Date; +import java.util.List; + +/** + * 报餐管理Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtReportMealsDaoServiceImpl extends ServiceImpl implements IFtReportMealsDaoService { + + @Autowired + private FtReportMealVoMapper ftReportMealVoMapper; + + @Override + public List listAll() { + return ftReportMealVoMapper.listAll(); + } + + @Override + public List listNoPay() { + return ftReportMealVoMapper.listNoPay(); + } + + @Override + public List listPayoff() { + return ftReportMealVoMapper.listPayoff(); + } + + @Override + public Long countBillingBetween(ReportMealsDayEntity dao) { + this.baseMapper.countBillingBetween(dao.getPatientId(), dao.getCreateAt(), dao.getSelectBillingDate()); +// FtReportMealsDao ftReportMealsDao = new FtReportMealsDao(); +// QueryWrapper wrapper = new QueryWrapper<>(); +// wrapper +// .eq("patient_id", dao.getPatientId()) +// .eq("settlement_flag", 0) +// .between("create_at", dao.getCreateAt(), dao.getSelectBillingDate()); +// List mealsDaoList = this.baseMapper.selectList(wrapper); + return null; + + } + + @Override + public List listMealsWithInSettle(FtReportMealsDao ftReportMealsDao) { + return this.baseMapper.listMealsWithInSettle(ftReportMealsDao); + } + + @Override + public Integer settleMeals(Long settlementId, Long patientId, String lastBillingDate, String selectBillingDate) { + return this.baseMapper.settleMeals(settlementId, patientId, lastBillingDate, selectBillingDate); + } + + @Override + public ReportMealsPriceEntity sumTotalPrice(Long patientId, Date lastBillingDate, Date selectBillingDate) { + return this.baseMapper.sumTotalPrice(patientId, lastBillingDate, selectBillingDate); + } + + @Override + public ReportMealsPriceEntity sumAllTotalPrice(Long patientId) { + return this.baseMapper.sumAllTotalPrice(patientId); + } + + @Override + public FtReportMealsDao getLastReportMeals(Long patientId) { + + // 获取最近一条已用餐结算的报餐记录 + QueryWrapper flag1Wrapper = new QueryWrapper<>(); + flag1Wrapper.eq("patient_id", patientId); + flag1Wrapper.eq("settlement_flag", 1); + flag1Wrapper.eq("dining_flag", 1); + flag1Wrapper.orderByDesc("settlement_at"); + flag1Wrapper.last("limit 1"); + FtReportMealsDao flag1ReportMealsDao = this.baseMapper.selectOne(flag1Wrapper); + + // 如果是首次结算 + if (flag1ReportMealsDao == null) { + + // 获取第一条 已用餐 报餐记录 + QueryWrapper flag0Wrapper = new QueryWrapper<>(); + flag0Wrapper.eq("patient_id", patientId); + flag0Wrapper.eq("dining_flag", 1); + flag0Wrapper.orderByAsc("dining_at"); + flag0Wrapper.last("limit 1"); + + return this.baseMapper.selectOne(flag0Wrapper); + } + + return flag1ReportMealsDao; + } + + @Override + public List listNutrition(FtReportMealsDao ftReportMealsDao) { + + List list; + + Date today = new Date(); + + if (ftReportMealsDao.getStatisticsType() == null) { + list = this.baseMapper.listAllNutrition(ftReportMealsDao); + } else { + if (ftReportMealsDao.getStatisticsType() == 1) { + ftReportMealsDao.setBeginOfDay(DateUtil.beginOfDay(today)); + ftReportMealsDao.setEndOfDay(DateUtil.endOfDay(today)); + } else { + DateTime tomorrow = DateUtil.offsetDay(today, 1); + ftReportMealsDao.setBeginOfDay(DateUtil.beginOfDay(tomorrow)); + ftReportMealsDao.setEndOfDay(DateUtil.endOfDay(tomorrow)); + } + list = this.baseMapper.listAllNutrition(ftReportMealsDao); + } + + return list; + } + + @Override + public List listAllNutrition(FtReportMealsDao ftReportMealsDao) { + return this.baseMapper.listAllNutrition(ftReportMealsDao); + } + + @Override + public List getStatisticsFoods(Integer departId, Date day) { + return this.baseMapper.getStatisticsFoods(departId, DateUtil.beginOfDay(day), DateUtil.endOfDay(day)); + + } + + @Override + public List listPatientReportMeals(FtReportMealsDao ftReportMealsDao) { + return this.baseMapper.listPatientReportMeals(ftReportMealsDao); + } + + @Override + public void insertTomorrowReportMealByPatient(Long patientId) { + ftReportMealVoMapper.insertTomorrowReportMealByPatient(patientId); + } + + @Override + public IPage listPage(QueryWrapper reportMealsWrapper, Integer pageNum, Integer pageSize) { + System.out.println(pageNum); + System.out.println(pageSize); + Page page = new Page<>(pageNum, pageSize); + return this.baseMapper.selectPage(page, reportMealsWrapper); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReturnDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReturnDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d64346af069c40e6dec18778c4766eaf68f250a7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtReturnDaoServiceImpl.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtReturnDao; +import com.ruoyi.system.fantang.mapper.FtReturnDaoMapper; +import com.ruoyi.system.fantang.service.IFtReturnDaoService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 回款登记Service业务层处理 + * + * @author ft + * @date 2021-01-25 + */ +@Service +public class FtReturnDaoServiceImpl extends ServiceImpl implements IFtReturnDaoService { + + @Override + public List queryList(FtReturnDao ftReturnDao) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (ftReturnDao.getInvoiceId() != null) { + lqw.eq(FtReturnDao::getInvoiceId, ftReturnDao.getInvoiceId()); + } + if (ftReturnDao.getReturnAt() != null) { + lqw.eq(FtReturnDao::getReturnAt, ftReturnDao.getReturnAt()); + } + if (ftReturnDao.getReturnPrice() != null) { + lqw.eq(FtReturnDao::getReturnPrice, ftReturnDao.getReturnPrice()); + } + if (ftReturnDao.getBalancePrice() != null) { + lqw.eq(FtReturnDao::getBalancePrice, ftReturnDao.getBalancePrice()); + } + if (StringUtils.isNotBlank(ftReturnDao.getOpera())) { + lqw.eq(FtReturnDao::getOpera, ftReturnDao.getOpera()); + } + if (StringUtils.isNotBlank(ftReturnDao.getVoucherUrl())) { + lqw.eq(FtReturnDao::getVoucherUrl, ftReturnDao.getVoucherUrl()); + } + if (ftReturnDao.getReturnFlag() != null) { + lqw.eq(FtReturnDao::getReturnFlag, ftReturnDao.getReturnFlag()); + } + return this.list(lqw); + } + + @Override + public FtReturnDao selectLastReturn(Long id) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("invoice_id", id); + wrapper.orderByDesc("return_at"); + wrapper.last("limit 1"); + + return this.baseMapper.selectOne(wrapper); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettleDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettleDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..d138c688778ba2580671cab2ce7f76ff387dd573 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettleDaoServiceImpl.java @@ -0,0 +1,22 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtSettleDao; +import com.ruoyi.system.fantang.mapper.FtSettleDaoMapper; +import com.ruoyi.system.fantang.service.IFtSettleDaoService; +import org.springframework.stereotype.Service; + +/** + * 结算报Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtSettleDaoServiceImpl extends ServiceImpl implements IFtSettleDaoService { + + @Override + public Integer updateList(Long settlementId, Long patientId, String lastBillingDate, String selectBillingDate) { + return this.baseMapper.updateList(settlementId, patientId, lastBillingDate, selectBillingDate); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettlementDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettlementDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..8c31594e282bfbaf044a1eabe4a78a05b87da223 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSettlementDaoServiceImpl.java @@ -0,0 +1,38 @@ +package com.ruoyi.system.fantang.service.impl; + +import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtSettlementDao; +import com.ruoyi.system.fantang.mapper.FtSettlementDaoMapper; +import com.ruoyi.system.fantang.service.IFtSettlementDaoService; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +/** + * 结算管理Service业务层处理 + * + * @author ft + * @date 2020-12-25 + */ +@Service +public class FtSettlementDaoServiceImpl extends ServiceImpl implements IFtSettlementDaoService { + + @Override + public List listWithPatient(FtSettlementDao ftSettlementDao) { + + Date settleAt = ftSettlementDao.getSettleAt(); + if (settleAt != null) { + DateTime beginOfDay = DateUtil.beginOfDay(settleAt); + DateTime endOfDay = DateUtil.endOfDay(settleAt); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + ftSettlementDao.setBeginOfDay(sdf.format(beginOfDay)); + ftSettlementDao.setEndOfDay(sdf.format(endOfDay)); + } + + return this.baseMapper.listWithPatient(ftSettlementDao); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffDemandDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffDemandDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6a9d2c974e250b5014be1ee63a47702bcbf3e4c3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffDemandDaoServiceImpl.java @@ -0,0 +1,60 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtStaffDemandDaoMapper; +import com.ruoyi.system.fantang.domain.FtStaffDemandDao; +import com.ruoyi.system.fantang.service.IFtStaffDemandDaoService; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 员工报餐Service业务层处理 + * + * @author ft + * @date 2020-12-07 + */ +@Service +public class FtStaffDemandDaoServiceImpl extends ServiceImpl implements IFtStaffDemandDaoService { + + @Override + public AjaxResult getConfiguration(Long staffId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + List daos = this.baseMapper.selectList(wrapper); + if (daos.size() == 0 ) + return AjaxResult.error("获取个人配置信息错误"); + return AjaxResult.success(daos); + } + + @Override + public AjaxResult setDemandMode(Long id, Integer type, Boolean demandMode) { + FtStaffDemandDao dao = this.baseMapper.selectById(id); + dao.setDemandMode(demandMode); + + int ret = this.baseMapper.updateById(dao); + if (ret == 0) + return AjaxResult.error("更新订餐状态失败"); + return AjaxResult.success(); + } + + @Override + public AjaxResult initDemandMode(Long staffId) { + // 先删除该员工的配置信息 + HashMap map = new HashMap<>(); + map.put("staff_id", staffId); + int ret = this.baseMapper.deleteByMap(map); + // 初始化三条订餐配置信息 + this.baseMapper.initDemandMode(staffId); + + // 重新检索返回给前端 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("staff_id", staffId); + return AjaxResult.success(this.baseMapper.selectList(wrapper)); + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffInfoDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffInfoDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..dbd625af8a3770caa8f051822922f196652d083e --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffInfoDaoServiceImpl.java @@ -0,0 +1,72 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.utils.uuid.IdUtils; +import com.ruoyi.system.fantang.domain.FtStaffInfoDao; +import com.ruoyi.system.fantang.mapper.FtStaffInfoDaoMapper; +import com.ruoyi.system.fantang.service.IFtStaffInfoDaoService; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 员工管理Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtStaffInfoDaoServiceImpl extends ServiceImpl implements IFtStaffInfoDaoService { + + @Override + public List selectStaffInfoWithDepart(FtStaffInfoDao ftStaffInfoDao) { + + return this.baseMapper.selectStaffInfoWithDepart(ftStaffInfoDao); + } + + @Override + public AjaxResult login(String tel, String password) { + // 查询是否有该员工 + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("tel", tel); + FtStaffInfoDao dao = this.baseMapper.selectOne(wrapper); + if (dao == null) { + return AjaxResult.error(-2, "无该员工信息"); + } else { + wrapper.eq("password", password); + dao = this.baseMapper.selectOne(wrapper); + if (dao == null) + return AjaxResult.error(-1, "密码错误"); + dao.setLoginFlag(true); + dao.setToken(IdUtils.fastUUID()); + this.baseMapper.updateById(dao); + return AjaxResult.success(dao); + } + } + + @Override + public AjaxResult logout(Long staffId) { + FtStaffInfoDao dao = new FtStaffInfoDao(); + dao.setStaffId(staffId); + dao.setLoginFlag(false); + dao.setToken(""); + int ret = this.baseMapper.updateById(dao); + if (ret == 0) + return AjaxResult.error("更新退出状态失败"); + return AjaxResult.success(dao); + } + + @Override + public FtStaffInfoDao getDepartInfo(Long staffId) { + return this.baseMapper.getDepartInfo(staffId); + } + + @Override + public FtStaffInfoDao inStaff(Integer personId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("person_id", personId); + return this.baseMapper.selectOne(wrapper); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffStopMealsDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffStopMealsDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..465be75590d82f966560b1e818545cd222a09512 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffStopMealsDaoServiceImpl.java @@ -0,0 +1,12 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtStaffStopMealsDao; +import com.ruoyi.system.fantang.mapper.FtStaffStopMealsDaoMapper; +import com.ruoyi.system.fantang.service.IFtStaffStopMealsDaoService; +import org.springframework.stereotype.Service; + +@Service +public class FtStaffStopMealsDaoServiceImpl extends ServiceImpl implements IFtStaffStopMealsDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffSubsidyDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffSubsidyDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..f3fb0afdcfafdbc41e46a259e85420fc70a3933b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtStaffSubsidyDaoServiceImpl.java @@ -0,0 +1,30 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.domain.FtStaffSubsidyDao; +import com.ruoyi.system.fantang.mapper.FtStaffSubsidyDaoMapper; +import com.ruoyi.system.fantang.service.IFtStaffSubsidyDaoService; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + * 补贴流水查看Service业务层处理 + * + * @author ft + * @date 2020-11-19 + */ +@Service +public class FtStaffSubsidyDaoServiceImpl extends ServiceImpl implements IFtStaffSubsidyDaoService { + + @Override + public Integer insertBatchStaffSubsidy(List ftStaffSubsidyDaoList) { + return this.baseMapper.insertBatchStaffSubsidy(ftStaffSubsidyDaoList); + } + + @Override + public void reBalance(String subsidyType, Integer maxBalance) { + this.baseMapper.insertReBalance(subsidyType, maxBalance); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSubsidyDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSubsidyDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..22e89fa4b3a1d35764571097a8a5efc2415424a4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSubsidyDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtSubsidyDaoMapper; +import com.ruoyi.system.fantang.domain.FtSubsidyDao; +import com.ruoyi.system.fantang.service.IFtSubsidyDaoService; + +/** + * 补贴管理Service业务层处理 + * + * @author ft + * @date 2020-11-25 + */ +@Service +public class FtSubsidyDaoServiceImpl extends ServiceImpl implements IFtSubsidyDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSyncConflictGenDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSyncConflictGenDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..c8a1cf4b7eead1c080434c9d541f06cfe904506d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtSyncConflictGenDaoServiceImpl.java @@ -0,0 +1,18 @@ +package com.ruoyi.system.fantang.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtSyncConflictGenDaoMapper; +import com.ruoyi.system.fantang.domain.FtSyncConflictGenDao; +import com.ruoyi.system.fantang.service.IFtSyncConflictGenDaoService; + +/** + * 同步冲突Service业务层处理 + * + * @author ft + * @date 2020-12-24 + */ +@Service +public class FtSyncConflictGenDaoServiceImpl extends ServiceImpl implements IFtSyncConflictGenDaoService { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtWeekMenuDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtWeekMenuDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..fd1bed76e9701f73c34c53585cd6b4c02b3b2a68 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/FtWeekMenuDaoServiceImpl.java @@ -0,0 +1,23 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.ruoyi.common.core.domain.AjaxResult; +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ruoyi.system.fantang.mapper.FtWeekMenuDaoMapper; +import com.ruoyi.system.fantang.domain.FtWeekMenuDao; +import com.ruoyi.system.fantang.service.IFtWeekMenuDaoService; + +/** + * 每周菜单Service业务层处理 + * + * @author ft + * @date 2020-11-27 + */ +@Service +public class FtWeekMenuDaoServiceImpl extends ServiceImpl implements IFtWeekMenuDaoService { + + @Override + public AjaxResult getMenuOfDay(String weekDay) { + return AjaxResult.success(this.baseMapper.getTodayMenu(weekDay)); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/IFtFaceEventServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/IFtFaceEventServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..4384f88c2b853103af4098c140291daee1ec69bf --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/service/impl/IFtFaceEventServiceImpl.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.service.impl; + +import com.ruoyi.system.fantang.domain.FtFaceEventDao; +import com.ruoyi.system.fantang.service.IFtFaceEventService; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; + +@Service +public class IFtFaceEventServiceImpl implements IFtFaceEventService { + @Override + public List selectByMap(HashMap map) { + return null; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/utils/PdfUtils.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/utils/PdfUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..92c77749f6783af9fce2d75a51b29267e7a59454 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/utils/PdfUtils.java @@ -0,0 +1,115 @@ +package com.ruoyi.system.fantang.utils; + +import com.alibaba.fastjson.JSONObject; +import com.itextpdf.text.Document; +import com.itextpdf.text.DocumentException; +import com.itextpdf.text.pdf.*; +import com.ruoyi.system.fantang.common.NumberToList; + +import java.io.ByteArrayOutputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +public class PdfUtils { + + public static void fillTemplate(String templatePath, String outputPath, Map values) { + + PdfReader reader; + FileOutputStream out; + ByteArrayOutputStream bos; + PdfStamper stamper; + try { + out = new FileOutputStream(outputPath); + reader = new PdfReader(templatePath); + bos = new ByteArrayOutputStream(); + stamper = new PdfStamper(reader, bos); + AcroFields form = stamper.getAcroFields(); + + BaseFont baseFont = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); + form.addSubstitutionFont(baseFont); + +// Map map = new HashMap<>(); +// map.put("departName", "杜阮颐养院"); +// map.put("payUnit", "苏镜泉"); +// map.put("hospitalId", "R20081001"); +// Date date = new Date(); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); +// map.put("invoiceDate", sdf.format(date)); +// map.put("projName1", "预付款 2020.10.06 至 2021.02.01"); +// map.put("oneQian1", "1"); +// map.put("oneBai1", "1"); +// map.put("oneShi1", "1"); +// map.put("oneWan", "1"); +// map.put("oneQian2", "1"); +// map.put("oneBai2", "1"); +// map.put("oneShi2", "1"); +// map.put("oneYuan", "1"); +// map.put("oneJiao", "1"); +// map.put("oneFen", "1"); +// map.put("priceLite", "¥11111111.11"); +// map.put("priceBig", "壹仟壹佰壹拾壹万壹仟壹佰壹拾壹元壹角壹分"); +// map.put("remarks1", "测试收据样式"); +// map.put("payee", "江门市第三人民医院"); + + for (String name : form.getFields().keySet()) { + form.setField(name, values.get(name)); + } + //true代表生成的PDF文件不可编辑 + stamper.setFormFlattening(true); + stamper.close(); + Document doc = new Document(); + PdfCopy copy = new PdfCopy(doc, out); + doc.open(); + PdfImportedPage importPage = copy.getImportedPage(new PdfReader(bos.toByteArray()), 1); + copy.addPage(importPage); + doc.close(); + } catch (IOException | DocumentException e) { + e.printStackTrace(); + } + } + + public static void generatePrepaymentPdf(String templatePath, String outputPath, JSONObject params) { + + // 数据转换 + Map values = new HashMap<>(); + values.put("departName", params.getString("departName")); + values.put("payUnit", params.getString("name")); + values.put("hospitalId", params.getString("hospitalId")); + + Date date = new Date(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); + + values.put("hospitalId", params.getString("hospitalId")); + values.put("invoiceDate", sdf.format(date)); + values.put("projName1", "预付款"); + + BigDecimal prepaid = params.getBigDecimal("prepaid"); + float prepaidFloat = prepaid.floatValue(); + Map convert = NumberToList.convertTo(prepaidFloat, "1"); + System.out.println(convert); + values.put("fen1", convert.get("fen1")); + values.put("jiao1", convert.get("jiao1")); + values.put("yuan1", convert.get("yuan1")); + values.put("shi1", convert.get("shi1")); + values.put("bai1", convert.get("bai1")); + values.put("qian1", convert.get("qian1")); + values.put("wan1", convert.get("wan1")); + values.put("shiwan1", convert.get("shiwan1")); + values.put("baiwan1", convert.get("baiwan1")); + values.put("qianwan1", convert.get("qianwan1")); + + values.put("priceLite", "¥" + prepaid.toString()); + + String convertToHan = NumberToList.convertToHan(prepaidFloat); + values.put("priceBig", convertToHan); + + values.put("payee", "江门市第三人民医院"); + + fillTemplate(templatePath, outputPath, values); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtCateringVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtCateringVo.java new file mode 100644 index 0000000000000000000000000000000000000000..71fae9bc338d17b9f695469b0fcb9f91ade28143 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtCateringVo.java @@ -0,0 +1,35 @@ +package com.ruoyi.system.fantang.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FtCateringVo { + + @TableField(exist = false) + private String bedId; + + @TableField(exist = false) + private Long departId; + + @TableField(exist = false) + private List types; + + @TableField(exist = false) + private String departName; + + @TableField(exist = false) + private String name; + + @TableField(exist = false) + private String hospitalId; + + @TableField(exist = false) + private String foodName; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtDepartVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtDepartVo.java new file mode 100644 index 0000000000000000000000000000000000000000..244ec0a82bad92358131eaae1aa279f887328ff7 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtDepartVo.java @@ -0,0 +1,20 @@ +package com.ruoyi.system.fantang.vo; + +import com.ruoyi.system.fantang.domain.FtDepartDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FtDepartVo extends FtDepartDao { + + + List reportMealsList; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtPatientVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtPatientVo.java new file mode 100644 index 0000000000000000000000000000000000000000..3a5f00a3ef37cbdfada9b47cb671597f563acea3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtPatientVo.java @@ -0,0 +1,24 @@ +package com.ruoyi.system.fantang.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.system.fantang.domain.FtPatientDao; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; + +import java.util.List; + +@EqualsAndHashCode(callSuper = true) +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FtPatientVo extends FtPatientDao { + + @TableField(exist = false) + private Boolean openFlag; + List reportMealsList; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtReportMealVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtReportMealVo.java new file mode 100644 index 0000000000000000000000000000000000000000..e06cfe5c95cb7016ff5d2f92eb2bbee33fb81581 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtReportMealVo.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.fantang.vo; + +import com.ruoyi.common.annotation.Excel; +import com.ruoyi.system.fantang.domain.FtReportMealsDao; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +/** + * 收费管理对象 ft_prepayment + * + * @author ft + * @date 2020-11-19 + */ +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@Accessors(chain = true) +public class FtReportMealVo extends FtReportMealsDao { + +// private static final long serialVersionUID = 1L; + + /** + * select a.*, b.hospital_id, b.bed_id, b.`name`, c.depart_name + * from ft_report_meals a LEFT JOIN ft_patient b on a.patient_id = b.patient_id + * LEFT JOIN ft_depart c on b.depart_id = c.depart_id + */ + private String name; + + private String bedId; + + @Excel(name = "部门名称") + private String departName; + + private String hospitalId; + + private String departCode; + + private Integer count; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffInfoVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffInfoVo.java new file mode 100644 index 0000000000000000000000000000000000000000..ed3da731e05b65b5e9e2e798a909631e830649b4 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffInfoVo.java @@ -0,0 +1,16 @@ +package com.ruoyi.system.fantang.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FtStaffInfoVo { + @TableField(exist = false) + private String departName; + @TableField(exist = false) + private Boolean giveOutFlag; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffSubsidyVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffSubsidyVo.java new file mode 100644 index 0000000000000000000000000000000000000000..4adcb16b5b489946528941f9ba812d9c541d2a49 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/FtStaffSubsidyVo.java @@ -0,0 +1,25 @@ +package com.ruoyi.system.fantang.vo; + +import com.ruoyi.system.fantang.domain.FtStaffInfoDao; +import com.ruoyi.system.fantang.domain.FtSubsidyDao; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.util.Date; +import java.util.List; + +@Data +@NoArgsConstructor +@AllArgsConstructor +public class FtStaffSubsidyVo { + + private Date giveOutDate; + + private List staffData; + + private FtSubsidyDao subsidy; + + private List noGiveoutList; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/ftSyncConflictVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/ftSyncConflictVo.java new file mode 100644 index 0000000000000000000000000000000000000000..c38aa7f653b08082c50d9b5f740a2eafca56b174 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/fantang/vo/ftSyncConflictVo.java @@ -0,0 +1,55 @@ +package com.ruoyi.system.fantang.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.ruoyi.system.fantang.domain.FtSyncPatientDao; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; + +/** + * 远程病患数据冲突数据实体类 + * + * @author 陈智兴 + * @date 2020-12-17 + */ +@Data +@ToString +@EqualsAndHashCode(callSuper = false) +@NoArgsConstructor +@Accessors(chain = true) +public class ftSyncConflictVo extends FtSyncPatientDao implements Serializable { + +private static final long serialVersionUID=1L; + + + + /** 本地住院号 */ + @TableField(value = "old_hospital_id") + private String oldHospitalid; + + /** 本地姓名 */ + @TableField(value = "old_name") + private String oldName; + + // 本地科室名称 + @TableField("old_depart_name") + private String oldDepartName; + + // 本地床号 + @TableField("old_bed_id") + private String oldDedId; + + @TableField("depart_id") + private String departId; + + @TableField("old_depart_id") + private String oldDepartId; + + @TableField("patient_id") + private Long patientId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/ClientMemberController.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/ClientMemberController.java new file mode 100644 index 0000000000000000000000000000000000000000..56a11d277e2576a5ef2e865e6598b9a50fde7c01 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/ClientMemberController.java @@ -0,0 +1,93 @@ +package com.ruoyi.system.huiyuan.controller; + +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.system.huiyuan.service.IHyMemberDaoService; +import com.ruoyi.system.huiyuan.service.IHyProjDaoService; +import com.ruoyi.system.huiyuan.service.IHyProjTalentDaoService; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + + +/** + * @author ryo + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/huiyuan") +public class ClientMemberController extends BaseController { + + private final IHyMemberDaoService iHyMemberDaoService; + + private final IHyProjDaoService iHyProjDaoService; + + private final IHyProjTalentDaoService iHyProjTalentDaoService; + + /** + * 获取会员主页 URL + * + * @param memberId:会员 id + * @author ryo + */ + @GetMapping("/getMemberUrl/{memberId}") + public AjaxResult getMemberUrl(@PathVariable Long memberId) { + + return AjaxResult.success(iHyMemberDaoService.getById(memberId).getMemberUrl()); + } + + /** + * 获取会员积分 + * + * @param memberId:会员 id + * @author ryo + */ + @GetMapping("/getMemberPoints/{memberId}") + public AjaxResult getMemberPoints(@PathVariable Long memberId) { + + return AjaxResult.success(iHyMemberDaoService.getById(memberId).getPoints()); + } + + /** + * 获取会员余额 + * + * @param memberId:会员 id + * @author ryo + */ + @GetMapping("/getMemberBalance/{memberId}") + public AjaxResult getMemberBalance(@PathVariable Long memberId) { + + return AjaxResult.success(iHyMemberDaoService.getById(memberId).getBalance()); + } + + /** + * 获取会员代金券数量 + * + * @param memberId:会员 id + * @author ryo + */ + @GetMapping("/getMemberVoucher/{memberId}") + public AjaxResult getMemberVoucher(@PathVariable Long memberId) { + + return AjaxResult.success(iHyMemberDaoService.getById(memberId).getVoucher()); + } + + /** + * 获取会员具体项目首页 URL + * + * @param memberId:会员 id + * @author ryo + */ + @GetMapping("/getMemberProjUrl/{memberId}") + public AjaxResult getMemberProjUrl(@PathVariable Long memberId) { + + Long projId = iHyMemberDaoService.getById(memberId).getProjId(); + + return AjaxResult.success(iHyProjDaoService.getById(projId).getHomeUrl()); + } + + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyMemberDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyMemberDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..04f245aa03c708653975918acf6f0ff3b79538af --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyMemberDaoController.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.huiyuan.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.huiyuan.domain.HyMemberDao; +import com.ruoyi.system.huiyuan.service.IHyMemberDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 会员Controller + * + * @author ryo + * @date 2021-01-09 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/huiyuan/member" ) +public class HyMemberDaoController extends BaseController { + + private final IHyMemberDaoService iHyMemberDaoService; + + /** + * 查询会员列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:list')") + @GetMapping("/list") + public TableDataInfo list(HyMemberDao hyMemberDao) { + startPage(); + List list = iHyMemberDaoService.queryList(hyMemberDao); + return getDataTable(list); + } + + /** + * 导出会员列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:export')" ) + @Log(title = "会员" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(HyMemberDao hyMemberDao) { + List list = iHyMemberDaoService.queryList(hyMemberDao); + ExcelUtil util = new ExcelUtil(HyMemberDao.class); + return util.exportExcel(list, "member" ); + } + + /** + * 获取会员详细信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:query')" ) + @GetMapping(value = "/{id}" ) + public AjaxResult getInfo(@PathVariable("id" ) Long id) { + return AjaxResult.success(iHyMemberDaoService.getById(id)); + } + + /** + * 新增会员 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:add')" ) + @Log(title = "会员" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody HyMemberDao hyMemberDao) { + return toAjax(iHyMemberDaoService.save(hyMemberDao) ? 1 : 0); + } + + /** + * 修改会员 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:edit')" ) + @Log(title = "会员" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody HyMemberDao hyMemberDao) { + return toAjax(iHyMemberDaoService.updateById(hyMemberDao) ? 1 : 0); + } + + /** + * 删除会员 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:member:remove')" ) + @Log(title = "会员" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}" ) + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iHyMemberDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..eb5f1a5e1b8925143666efbb93e8d06472f71117 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjDaoController.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.huiyuan.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.huiyuan.domain.HyProjDao; +import com.ruoyi.system.huiyuan.service.IHyProjDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 项目信息Controller + * + * @author ryo + * @date 2021-01-09 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/huiyuan/proj" ) +public class HyProjDaoController extends BaseController { + + private final IHyProjDaoService iHyProjDaoService; + + /** + * 查询项目信息列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:list')") + @GetMapping("/list") + public TableDataInfo list(HyProjDao hyProjDao) { + startPage(); + List list = iHyProjDaoService.queryList(hyProjDao); + return getDataTable(list); + } + + /** + * 导出项目信息列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:export')" ) + @Log(title = "项目信息" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(HyProjDao hyProjDao) { + List list = iHyProjDaoService.queryList(hyProjDao); + ExcelUtil util = new ExcelUtil(HyProjDao.class); + return util.exportExcel(list, "proj" ); + } + + /** + * 获取项目信息详细信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:query')" ) + @GetMapping(value = "/{id}" ) + public AjaxResult getInfo(@PathVariable("id" ) Long id) { + return AjaxResult.success(iHyProjDaoService.getById(id)); + } + + /** + * 新增项目信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:add')" ) + @Log(title = "项目信息" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody HyProjDao hyProjDao) { + return toAjax(iHyProjDaoService.save(hyProjDao) ? 1 : 0); + } + + /** + * 修改项目信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:edit')" ) + @Log(title = "项目信息" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody HyProjDao hyProjDao) { + return toAjax(iHyProjDaoService.updateById(hyProjDao) ? 1 : 0); + } + + /** + * 删除项目信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:proj:remove')" ) + @Log(title = "项目信息" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}" ) + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iHyProjDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjTalentDaoController.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjTalentDaoController.java new file mode 100644 index 0000000000000000000000000000000000000000..bfde306b705b96a7818fad4f97b49a45854f5ec6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/controller/HyProjTalentDaoController.java @@ -0,0 +1,100 @@ +package com.ruoyi.system.huiyuan.controller; + +import java.util.List; +import java.util.Arrays; + +import lombok.RequiredArgsConstructor; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.ruoyi.common.annotation.Log; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.system.huiyuan.domain.HyProjTalentDao; +import com.ruoyi.system.huiyuan.service.IHyProjTalentDaoService; +import com.ruoyi.common.utils.poi.ExcelUtil; +import com.ruoyi.common.core.page.TableDataInfo; + +/** + * 优才项目Controller + * + * @author ryo + * @date 2021-01-09 + */ +@RequiredArgsConstructor(onConstructor_ = @Autowired) +@RestController +@RequestMapping("/huiyuan/talent" ) +public class HyProjTalentDaoController extends BaseController { + + private final IHyProjTalentDaoService iHyProjTalentDaoService; + + /** + * 查询优才项目列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:list')") + @GetMapping("/list") + public TableDataInfo list(HyProjTalentDao hyProjTalentDao) { + startPage(); + List list = iHyProjTalentDaoService.queryList(hyProjTalentDao); + return getDataTable(list); + } + + /** + * 导出优才项目列表 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:export')" ) + @Log(title = "优才项目" , businessType = BusinessType.EXPORT) + @GetMapping("/export" ) + public AjaxResult export(HyProjTalentDao hyProjTalentDao) { + List list = iHyProjTalentDaoService.queryList(hyProjTalentDao); + ExcelUtil util = new ExcelUtil(HyProjTalentDao.class); + return util.exportExcel(list, "talent" ); + } + + /** + * 获取优才项目详细信息 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:query')" ) + @GetMapping(value = "/{id}" ) + public AjaxResult getInfo(@PathVariable("id" ) Long id) { + return AjaxResult.success(iHyProjTalentDaoService.getById(id)); + } + + /** + * 新增优才项目 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:add')" ) + @Log(title = "优才项目" , businessType = BusinessType.INSERT) + @PostMapping + public AjaxResult add(@RequestBody HyProjTalentDao hyProjTalentDao) { + return toAjax(iHyProjTalentDaoService.save(hyProjTalentDao) ? 1 : 0); + } + + /** + * 修改优才项目 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:edit')" ) + @Log(title = "优才项目" , businessType = BusinessType.UPDATE) + @PutMapping + public AjaxResult edit(@RequestBody HyProjTalentDao hyProjTalentDao) { + return toAjax(iHyProjTalentDaoService.updateById(hyProjTalentDao) ? 1 : 0); + } + + /** + * 删除优才项目 + */ + @PreAuthorize("@ss.hasPermi('huiyuan:talent:remove')" ) + @Log(title = "优才项目" , businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}" ) + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(iHyProjTalentDaoService.removeByIds(Arrays.asList(ids)) ? 1 : 0); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyMemberDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyMemberDao.java new file mode 100644 index 0000000000000000000000000000000000000000..78bcea3fdfb981b9481f8a8c5c500d1d227b2d11 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyMemberDao.java @@ -0,0 +1,89 @@ +package com.ruoyi.system.huiyuan.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; +import java.math.BigDecimal; + +/** + * 会员对象 hy_member + * + * @author ryo + * @date 2021-01-09 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("hy_member") +public class HyMemberDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 手机 */ + @Excel(name = "手机") + private String tel; + + /** 密码 */ + @Excel(name = "密码") + private String password; + + /** 所属项目 */ + @Excel(name = "所属项目") + private Integer projType; + + /** 积分 */ + @Excel(name = "积分") + private Long points; + + /** 代金券 */ + @Excel(name = "代金券") + private Long voucher; + + /** 余额 */ + @Excel(name = "余额") + private BigDecimal balance; + + /** 智能设备 */ + @Excel(name = "智能设备") + private String device; + + /** 会员 URL */ + @Excel(name = "会员 URL") + private String memberUrl; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateAt; + + /** 项目 id */ + @Excel(name = "项目 id") + private Long projId; + + @TableField(exist = false) + private Map params = new HashMap<>(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjDao.java new file mode 100644 index 0000000000000000000000000000000000000000..07ef237ec69d129c1fd191ef1466a3fda24c101b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjDao.java @@ -0,0 +1,61 @@ +package com.ruoyi.system.huiyuan.domain; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; +import com.ruoyi.common.annotation.Excel; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import java.io.Serializable; +import java.util.Date; +import java.util.Map; +import java.util.HashMap; +import java.math.BigDecimal; + +/** + * 项目信息对象 hy_proj + * + * @author ryo + * @date 2021-01-09 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("hy_proj") +public class HyProjDao implements Serializable { + +private static final long serialVersionUID=1L; + + + /** id */ + @TableId(value = "id") + private Long id; + + /** 项目名称 */ + @Excel(name = "项目名称") + private String projName; + + /** 首页 URL */ + @Excel(name = "首页 URL") + private String homeUrl; + + /** 创建时间 */ + @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** 更新时间 */ + @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateAt; + + @TableField(exist = false) + private Map params = new HashMap<>(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjTalentDao.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjTalentDao.java new file mode 100644 index 0000000000000000000000000000000000000000..ff346e2aff47c572a385c5421d9eb3c6149c6adb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/domain/HyProjTalentDao.java @@ -0,0 +1,81 @@ +package com.ruoyi.system.huiyuan.domain; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.ruoyi.common.annotation.Excel; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NoArgsConstructor; +import lombok.ToString; +import lombok.experimental.Accessors; + +import java.io.Serializable; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * 优才项目对象 hy_proj_talent + * + * @author ryo + * @date 2021-01-09 + */ +@Data +@ToString +@EqualsAndHashCode +@NoArgsConstructor +@Accessors(chain = true) +@TableName("hy_proj_talent") +public class HyProjTalentDao implements Serializable { + + private static final long serialVersionUID = 1L; + + + /** + * id + */ + @TableId(value = "id") + private Long id; + + /** + * 驿站分类 + */ + @Excel(name = "驿站分类") + private Long postType; + + /** + * 店铺清单 + */ + @Excel(name = "店铺清单") + private String shopList; + + /** + * 首页 URL + */ + @Excel(name = "首页 URL") + private String homeUrl; + + /** + * 创建时间 + */ + @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date createAt; + + /** + * 更新时间 + */ + @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd") + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date updateAt; + + @TableField(exist = false) + private Map params = new HashMap<>(); + + /** + * 项目 id + */ + private Long projId; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyMemberDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyMemberDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..0af2e7cfc96832150c3a98622dc15ee82baec969 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyMemberDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.huiyuan.mapper; + +import com.ruoyi.system.huiyuan.domain.HyMemberDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 会员Mapper接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface HyMemberDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..a8691ee8445a27f1c460105ae9a59c2059df08c9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.huiyuan.mapper; + +import com.ruoyi.system.huiyuan.domain.HyProjDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 项目信息Mapper接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface HyProjDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjTalentDaoMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjTalentDaoMapper.java new file mode 100644 index 0000000000000000000000000000000000000000..b61a6755386101b7385b002df65fd5b3e03e0f9c --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/mapper/HyProjTalentDaoMapper.java @@ -0,0 +1,14 @@ +package com.ruoyi.system.huiyuan.mapper; + +import com.ruoyi.system.huiyuan.domain.HyProjTalentDao; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + * 优才项目Mapper接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface HyProjTalentDaoMapper extends BaseMapper { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyMemberDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyMemberDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..d9f04f785ddeff79ef226c8bc7022236bb8b9363 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyMemberDaoService.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.huiyuan.service; + +import com.ruoyi.system.huiyuan.domain.HyMemberDao; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 会员Service接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface IHyMemberDaoService extends IService { + + /** + * 查询列表 + */ + List queryList(HyMemberDao hyMemberDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..8ecc37cdff3becd18ab823d62169bd5f7597d1bb --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjDaoService.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.huiyuan.service; + +import com.ruoyi.system.huiyuan.domain.HyProjDao; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 项目信息Service接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface IHyProjDaoService extends IService { + + /** + * 查询列表 + */ + List queryList(HyProjDao hyProjDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjTalentDaoService.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjTalentDaoService.java new file mode 100644 index 0000000000000000000000000000000000000000..a9bb7f9dc133286613990718858964642646010a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/IHyProjTalentDaoService.java @@ -0,0 +1,19 @@ +package com.ruoyi.system.huiyuan.service; + +import com.ruoyi.system.huiyuan.domain.HyProjTalentDao; +import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + +/** + * 优才项目Service接口 + * + * @author ryo + * @date 2021-01-09 + */ +public interface IHyProjTalentDaoService extends IService { + + /** + * 查询列表 + */ + List queryList(HyProjTalentDao hyProjTalentDao); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyMemberDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyMemberDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..cf5451d05b55a1580d70c2998482482312e66a49 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyMemberDaoServiceImpl.java @@ -0,0 +1,62 @@ +package com.ruoyi.system.huiyuan.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.apache.commons.lang3.StringUtils; +import com.ruoyi.system.huiyuan.mapper.HyMemberDaoMapper; +import com.ruoyi.system.huiyuan.domain.HyMemberDao; +import com.ruoyi.system.huiyuan.service.IHyMemberDaoService; + +import java.util.List; +import java.util.Map; + +/** + * 会员Service业务层处理 + * + * @author ryo + * @date 2021-01-09 + */ +@Service +public class HyMemberDaoServiceImpl extends ServiceImpl implements IHyMemberDaoService { + + @Override + public List queryList(HyMemberDao hyMemberDao) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (StringUtils.isNotBlank(hyMemberDao.getTel())){ + lqw.eq(HyMemberDao::getTel ,hyMemberDao.getTel()); + } + if (StringUtils.isNotBlank(hyMemberDao.getPassword())){ + lqw.eq(HyMemberDao::getPassword ,hyMemberDao.getPassword()); + } + if (hyMemberDao.getProjType() != null){ + lqw.eq(HyMemberDao::getProjType ,hyMemberDao.getProjType()); + } + if (hyMemberDao.getPoints() != null){ + lqw.eq(HyMemberDao::getPoints ,hyMemberDao.getPoints()); + } + if (hyMemberDao.getVoucher() != null){ + lqw.eq(HyMemberDao::getVoucher ,hyMemberDao.getVoucher()); + } + if (hyMemberDao.getBalance() != null){ + lqw.eq(HyMemberDao::getBalance ,hyMemberDao.getBalance()); + } + if (StringUtils.isNotBlank(hyMemberDao.getDevice())){ + lqw.eq(HyMemberDao::getDevice ,hyMemberDao.getDevice()); + } + if (StringUtils.isNotBlank(hyMemberDao.getMemberUrl())){ + lqw.eq(HyMemberDao::getMemberUrl ,hyMemberDao.getMemberUrl()); + } + if (hyMemberDao.getCreateAt() != null){ + lqw.eq(HyMemberDao::getCreateAt ,hyMemberDao.getCreateAt()); + } + if (hyMemberDao.getUpdateAt() != null){ + lqw.eq(HyMemberDao::getUpdateAt ,hyMemberDao.getUpdateAt()); + } + if (hyMemberDao.getProjId() != null){ + lqw.eq(HyMemberDao::getProjId ,hyMemberDao.getProjId()); + } + return this.list(lqw); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..aff045adc79d939f51094785a5cce1ee55463c4a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjDaoServiceImpl.java @@ -0,0 +1,41 @@ +package com.ruoyi.system.huiyuan.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.apache.commons.lang3.StringUtils; +import com.ruoyi.system.huiyuan.mapper.HyProjDaoMapper; +import com.ruoyi.system.huiyuan.domain.HyProjDao; +import com.ruoyi.system.huiyuan.service.IHyProjDaoService; + +import java.util.List; +import java.util.Map; + +/** + * 项目信息Service业务层处理 + * + * @author ryo + * @date 2021-01-09 + */ +@Service +public class HyProjDaoServiceImpl extends ServiceImpl implements IHyProjDaoService { + + @Override + public List queryList(HyProjDao hyProjDao) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (StringUtils.isNotBlank(hyProjDao.getProjName())){ + lqw.like(HyProjDao::getProjName ,hyProjDao.getProjName()); + } + if (StringUtils.isNotBlank(hyProjDao.getHomeUrl())){ + lqw.eq(HyProjDao::getHomeUrl ,hyProjDao.getHomeUrl()); + } + if (hyProjDao.getCreateAt() != null){ + lqw.eq(HyProjDao::getCreateAt ,hyProjDao.getCreateAt()); + } + if (hyProjDao.getUpdateAt() != null){ + lqw.eq(HyProjDao::getUpdateAt ,hyProjDao.getUpdateAt()); + } + return this.list(lqw); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjTalentDaoServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjTalentDaoServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..783aa45212ddd9c2e6b84ab700c93cb2f451cc3a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/huiyuan/service/impl/HyProjTalentDaoServiceImpl.java @@ -0,0 +1,44 @@ +package com.ruoyi.system.huiyuan.service.impl; + +import org.springframework.stereotype.Service; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import org.apache.commons.lang3.StringUtils; +import com.ruoyi.system.huiyuan.mapper.HyProjTalentDaoMapper; +import com.ruoyi.system.huiyuan.domain.HyProjTalentDao; +import com.ruoyi.system.huiyuan.service.IHyProjTalentDaoService; + +import java.util.List; +import java.util.Map; + +/** + * 优才项目Service业务层处理 + * + * @author ryo + * @date 2021-01-09 + */ +@Service +public class HyProjTalentDaoServiceImpl extends ServiceImpl implements IHyProjTalentDaoService { + + @Override + public List queryList(HyProjTalentDao hyProjTalentDao) { + LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + if (hyProjTalentDao.getPostType() != null){ + lqw.eq(HyProjTalentDao::getPostType ,hyProjTalentDao.getPostType()); + } + if (StringUtils.isNotBlank(hyProjTalentDao.getShopList())){ + lqw.eq(HyProjTalentDao::getShopList ,hyProjTalentDao.getShopList()); + } + if (StringUtils.isNotBlank(hyProjTalentDao.getHomeUrl())){ + lqw.eq(HyProjTalentDao::getHomeUrl ,hyProjTalentDao.getHomeUrl()); + } + if (hyProjTalentDao.getCreateAt() != null){ + lqw.eq(HyProjTalentDao::getCreateAt ,hyProjTalentDao.getCreateAt()); + } + if (hyProjTalentDao.getUpdateAt() != null){ + lqw.eq(HyProjTalentDao::getUpdateAt ,hyProjTalentDao.getUpdateAt()); + } + return this.list(lqw); + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/ISyncPatientService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISyncPatientService.java new file mode 100644 index 0000000000000000000000000000000000000000..2d95a49c1bef49d54343c571d7063d59ebd81a77 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/ISyncPatientService.java @@ -0,0 +1,12 @@ +package com.ruoyi.system.service; + +import com.ruoyi.system.fantang.domain.FtRemotePatientDao; + +import java.util.List; + +/** + * 远程病患数据同步服务层接口 + */ +public interface ISyncPatientService { + public Integer insertToLocalSync(List remotePatientDaoList); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SyncPatientServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SyncPatientServiceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..385dfd9e91f16ff300013034d1cd47c868b58fbd --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SyncPatientServiceImpl.java @@ -0,0 +1,128 @@ +package com.ruoyi.system.service.impl; + +import com.ruoyi.common.annotation.DataSource; +import com.ruoyi.common.enums.DataSourceType; +import com.ruoyi.system.fantang.domain.FtNotifyDao; +import com.ruoyi.system.fantang.domain.FtRemotePatientDao; +import com.ruoyi.system.fantang.domain.FtSyncLogDao; +import com.ruoyi.system.fantang.mapper.*; +import com.ruoyi.system.fantang.vo.ftSyncConflictVo; +import com.ruoyi.system.service.ISyncPatientService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Date; +import java.util.List; + +@DataSource(value = DataSourceType.MASTER) +@Service +public class SyncPatientServiceImpl implements ISyncPatientService { + @Autowired + private FtSyncPatientDaoMapper syncPatientDaoMapper; + + @Autowired + private FtPatientDaoMapper patientDaoMapper; + + @Autowired + private FtSyncLogDaoMapper syncLogDaoMapper; + + @Autowired + private FtNotifyDaoMapper notifyDaoMapper; + + @Autowired + private FtSyncConflictDaoMapper syncConflictDaoMapper; + + /** + * 从远程数据源插上病患数据 + * 业务逻辑: + * 1、本地同步表将标志位置 0 等待同步状态; + * 2、 + * + * @param remotePatientDaoList + * @return + */ + @Transactional + @Override + public Integer insertToLocalSync(List remotePatientDaoList) { + System.out.println("开始同步.................."); + StringBuilder syncMessage = new StringBuilder(); + syncMessage.append("同步信息:"); + // 清空本地中间表数据,准备接收同步数据 + syncPatientDaoMapper.delete(null); + + // 遍历数据源,逐条插入本地中间表 + for (FtRemotePatientDao dao : remotePatientDaoList) { + syncPatientDaoMapper.insert(dao); + } + // 为新记录填入对应的科室id + patientDaoMapper.updateDepartIDToPatient(); + + // 初始化本地病患表准备同步,将标志位置“0” + int ret = patientDaoMapper.initForSync(); + syncMessage.append(String.format("本地初始化记录:%d 条", ret)); + + // 自动同步:住院号相同,姓名,科室,床号相同 + // 同步逻辑1:更新住院号、科室、床号、姓名全部相同的记录,并标注flag=1 + int syncCount = patientDaoMapper.syncEqual(); + syncMessage.append(String.format("更新逻辑1: %d 条", syncCount)); + + // 自动同步:住院号不相同,姓名相同,科室,床号不相同,该病患更换了其它的科室,例如:从一科换去二科 + // 同步逻辑2:更新住院号、姓名相同的记录,并标注flag=1 + syncCount = patientDaoMapper.syncEqualForHospitalAndName(); + syncMessage.append(String.format("更新逻辑2: %d 条", syncCount)); + + // 自动同步:住院号不同,科室,床号相同,姓名不同,认为是一个新增的病患记录 + // 同步逻辑3:新增住院号、科室、床号相同的记录,作为新病患同步,并标注flag=2 + syncCount = patientDaoMapper.syncNewHospitalId(); + syncMessage.append(String.format("更新逻辑3: %d 条", syncCount)); + + // 手动:住院号相同,科室、床号、姓名都不相同,无法判断这个住院号后面三个数据是什么原因发生了变化 + // 冲突逻辑1:住院号相同、科室、床号、姓名都不相同的记录,作为冲突数据,并标注flag=3 + List syncPatientVos = patientDaoMapper.syncConflictOnlyHospitalEqual(); + syncMessage.append(String.format("冲突逻辑1: %d 条", syncPatientVos.size())); + for (ftSyncConflictVo vo : syncPatientVos) { + syncConflictDaoMapper.insert(vo); + } + + // 手动:不知道该情况是按照新病患处理还是旧的病患更新住院号信息 + // 冲突逻辑2:住院号不相同、科室、床号、姓名都相同的记录,作为冲突数据,并标注flag=3 + List syncPatientVoList = patientDaoMapper.syncConflictOtherAllEqual(); + syncMessage.append(String.format("冲突逻辑2: %d 条", syncPatientVoList.size())); + for (ftSyncConflictVo ftSyncConflictVo : syncPatientVoList) { + syncConflictDaoMapper.insert(ftSyncConflictVo); + } + + int msgTotal = syncPatientVos.size() + syncPatientVoList.size(); + + // 如果有冲突发送一条消息 + if (msgTotal > 0) { + FtNotifyDao notifyDao = new FtNotifyDao(); + // 类型为病患同步冲突 + notifyDao.setMessageType(1); + // 广播类型 + notifyDao.setScope(0); + // 消息内容 + notifyDao.setMessageBody("有 " + msgTotal + " 条病患数据同步时发生冲突"); + notifyDao.setCreateAt(new Date()); + + notifyDaoMapper.insert(notifyDao); + + } + + // 将没有同步的病患数据设置为出院状态, off_flag=1 + patientDaoMapper.updateOffHospitalFlag(); + + // 为新病患记录填入对应的科室id + patientDaoMapper.updateDepartIDToNewPatient(); + + // 创建同步日志记录 + FtSyncLogDao syncLogDao = new FtSyncLogDao(); + syncLogDao.setCreateAt(new Date()); + syncLogDao.setTotalRecord((long) remotePatientDaoList.size()); + syncLogDao.setSyncRecord((long) syncCount); + syncLogDaoMapper.insert(syncLogDao); + + return remotePatientDaoList.size(); + } +} diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtCateringDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtCateringDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..e34dd8fd68f26f8fcb151f7977ea8157148f7152 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtCateringDaoMapper.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtConfigDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtConfigDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..e21c60810d0f7def2e20585f67ba6f54a8f45e9a --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtConfigDaoMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtDepartDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtDepartDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..a7f686c4e20d8e581d6885b8d8451876f2f6e54c --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtDepartDaoMapper.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtFaceinfoDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtFaceinfoDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..fa73b4bf7a435f006f8263d609cc19c21de1e41c --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtFaceinfoDaoMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..62e6c8fa4d90191d50898f29e794163b0422ef17 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDaoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDefaultDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDefaultDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..d76a396edfddcb167fda3cf17e0da545b560f5de --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDefaultDaoMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDemandDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDemandDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..913ff0f8c52b6653ef7dc6326861827937034296 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtFoodDemandDaoMapper.xml @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtInvoiceDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtInvoiceDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..7e4a70f97cf4fd231e203a76997d5fb9a0f521f9 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtInvoiceDaoMapper.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtNotifyDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtNotifyDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..ae303d1a7034c3bdc107d1ce54f75aea635e104b --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtNotifyDaoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtNutritionFoodDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtNutritionFoodDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..a70f57135d14cd6101b500a1360ae9c54e76eed6 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtNutritionFoodDaoMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtOrderDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtOrderDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..4da6e8526bde3827a9563ef7a256e573dd77c6c1 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtOrderDaoMapper.xml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtPatientDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtPatientDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..1b1c8b0e573fc2db6802fee4812abbc062a74b27 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtPatientDaoMapper.xml @@ -0,0 +1,96 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtPrepaymentDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtPrepaymentDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..e0202260a566d41a5fad9edf84e5a9a39f307906 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtPrepaymentDaoMapper.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..0c22bd3018582f39dda9f2c76b1573d5f364c52d --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtReportMealsDaoMapper.xml @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtReturnDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtReturnDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..551becd404ecdeafb9d9c273599efc8920f19f21 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtReturnDaoMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtSettleDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtSettleDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..40cbf6a692d8da7891f3bb14e8bdd1d67abd5654 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtSettleDaoMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtSettlementDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtSettlementDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..75e3a0bbccad2a7b565288c9b5019de04d8e1bde --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtSettlementDaoMapper.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtStaffDemandDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffDemandDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..24692d83df2f05565029bfa03c58e8cc716afb56 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffDemandDaoMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtStaffInfoDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffInfoDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..b807f562faa7944a074dec6d7ff9ab8d11fd1cf2 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffInfoDaoMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtStaffSubsidyDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffSubsidyDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..0cb17bbad3c46229701f8eb86d0d130c03fda8a4 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtStaffSubsidyDaoMapper.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + insert into ft_staff_subsidy (staff_id, subsidy_type, income_type, price, consum_at) values + + ( + #{item.staffId}, + #{item.subsidyType}, + #{item.incomeType}, + #{item.price}, + #{item.consumAt} + ) + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtSubsidyDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtSubsidyDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..eda643fcf3306a9d25df09c01fb25c9b9635d5a3 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtSubsidyDaoMapper.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtSyncConflictGenDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtSyncConflictGenDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..f3517a2cd160a5c19cfffdf560c1a52193ebad58 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtSyncConflictGenDaoMapper.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/fantang/FtWeekMenuDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/fantang/FtWeekMenuDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..829a2686edc149031d417d7d01c09b83c42c8568 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/fantang/FtWeekMenuDaoMapper.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/huiyuan/HyMemberDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/huiyuan/HyMemberDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..5d2f0a7cfbbec98ee94f104dd34ab8d8b218df04 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/huiyuan/HyMemberDaoMapper.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..898798b54c6e7c26d3524ba03262a3226541e371 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjDaoMapper.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjTalentDaoMapper.xml b/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjTalentDaoMapper.xml new file mode 100644 index 0000000000000000000000000000000000000000..584345c1ba8ff2b224aa4165e47d9157f2482d2f --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/huiyuan/HyProjTalentDaoMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index b64fab0a11cfe3e48e8ab33511a313de0301763d..6e9327100fb2e0ba2f5fb85030ce31bd20b27c3b 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -1,8 +1,8 @@ { "name": "ruoyi", "version": "3.3.0", - "description": "若依管理系统", - "author": "若依", + "description": "食堂管理系统", + "author": "食堂", "license": "MIT", "scripts": { "dev": "vue-cli-service serve", @@ -41,7 +41,7 @@ "clipboard": "2.0.6", "core-js": "3.8.1", "echarts": "4.9.0", - "element-ui": "2.14.1", + "element-ui": "2.15.0", "file-saver": "2.0.4", "fuse.js": "6.4.3", "highlight.js": "10.4.1", diff --git a/ruoyi-ui/src/api/fantang/careStaffInfo.js b/ruoyi-ui/src/api/fantang/careStaffInfo.js new file mode 100644 index 0000000000000000000000000000000000000000..3ecb88f085454cdfc00ea6ef9d8e21961d166d15 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/careStaffInfo.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询护工信息列表 +export function listCareStaffInfo(query) { + return request({ + url: '/fantang/careStaffInfo/list', + method: 'get', + params: query + }) +} + +// 查询护工信息详细 +export function getCareStaffInfo(careStaffId) { + return request({ + url: '/fantang/careStaffInfo/' + careStaffId, + method: 'get' + }) +} + +// 新增护工信息 +export function addCareStaffInfo(data) { + return request({ + url: '/fantang/careStaffInfo', + method: 'post', + data: data + }) +} + +// 修改护工信息 +export function updateCareStaffInfo(data) { + return request({ + url: '/fantang/careStaffInfo', + method: 'put', + data: data + }) +} + +// 删除护工信息 +export function delCareStaffInfo(careStaffId) { + return request({ + url: '/fantang/careStaffInfo/' + careStaffId, + method: 'delete' + }) +} + +// 导出护工信息 +export function exportCareStaffInfo(query) { + return request({ + url: '/fantang/careStaffInfo/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/catering.js b/ruoyi-ui/src/api/fantang/catering.js new file mode 100644 index 0000000000000000000000000000000000000000..235c36ffa5a6b7c6bd2513e072577cab191b8dca --- /dev/null +++ b/ruoyi-ui/src/api/fantang/catering.js @@ -0,0 +1,104 @@ +import request from '@/utils/request' + +// 查询配餐功能列表 +export function listCatering(query) { + return request({ + url: '/fantang/catering/list', + method: 'get', + params: query + }) +} + +// 查询配餐功能详细 +export function getCatering(id) { + return request({ + url: '/fantang/catering/' + id, + method: 'get' + }) +} + +// 新增配餐功能 +export function addCatering(data) { + return request({ + url: '/fantang/catering', + method: 'post', + data: data + }) +} + +// 拷贝并新增配餐功能 +export function copyAndAdd(data) { + return request({ + url: '/fantang/catering/copyAndAdd', + method: 'post', + data: data + }) +} + +// 粘贴 +export function paste(data) { + return request({ + url: '/fantang/catering/paste', + method: 'put', + data: data + }) +} + +// 修改配餐功能 +export function updateCatering(data) { + return request({ + url: '/fantang/catering', + method: 'put', + data: data + }) +} + +// 删除配餐功能 +export function delCatering(id) { + return request({ + url: '/fantang/catering/' + id, + method: 'delete' + }) +} + +// 作废 +export function cancelCatering(id) { + return request({ + url: '/fantang/catering/cancel/' + id, + method: 'put' + }) +} + +// 恢复指定病患的营养配餐 +export function restoreCatering(id) { + return request({ + url: '/fantang/catering/restoreCatering/' + id, + method: 'put' + }) +} + + +// 导出配餐功能 +export function exportCatering(query) { + return request({ + url: '/fantang/catering/export', + method: 'get', + params: query + }) +} + +// 根据病人 id 查找 +export function getByPatient(id) { + return request({ + url: '/fantang/catering/getByPatient/' + id, + method: 'get' + }) +} + +// 根据病人 id 查找全部四条营养配餐记录 +export function getAllByPatient(id) { + return request({ + url: '/fantang/catering/getAllByPatient/' + id, + method: 'get' + }) +} diff --git a/ruoyi-ui/src/api/fantang/depart.js b/ruoyi-ui/src/api/fantang/depart.js new file mode 100644 index 0000000000000000000000000000000000000000..8fc196dd931f82f212be4bb976a5c080d7186ebd --- /dev/null +++ b/ruoyi-ui/src/api/fantang/depart.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询科室管理列表 +export function listDepart(query) { + return request({ + url: '/fantang/depart/list', + method: 'get', + params: query + }) +} + +// 查询科室管理详细 +export function getDepart(departId) { + return request({ + url: '/fantang/depart/' + departId, + method: 'get' + }) +} + +// 新增科室管理 +export function addDepart(data) { + return request({ + url: '/fantang/depart', + method: 'post', + data: data + }) +} + +// 修改科室管理 +export function updateDepart(data) { + return request({ + url: '/fantang/depart', + method: 'put', + data: data + }) +} + +// 删除科室管理 +export function delDepart(departId) { + return request({ + url: '/fantang/depart/' + departId, + method: 'delete' + }) +} + +// 导出科室管理 +export function exportDepart(query) { + return request({ + url: '/fantang/depart/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/faceInfo.js b/ruoyi-ui/src/api/fantang/faceInfo.js new file mode 100644 index 0000000000000000000000000000000000000000..5da8cdc9f97aaa70fbae183f61c278e6123c4a79 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/faceInfo.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询人脸信息列表 +export function listFaceInfo(query) { + return request({ + url: '/fantang/faceInfo/list', + method: 'get', + params: query + }) +} + +// 查询人脸信息详细 +export function getFaceInfo(id) { + return request({ + url: '/fantang/faceInfo/' + id, + method: 'get' + }) +} + +// 新增人脸信息 +export function addFaceInfo(data) { + return request({ + url: '/fantang/faceInfo', + method: 'post', + data: data + }) +} + +// 修改人脸信息 +export function updateFaceInfo(data) { + return request({ + url: '/fantang/faceInfo', + method: 'put', + data: data + }) +} + +// 删除人脸信息 +export function delFaceInfo(id) { + return request({ + url: '/fantang/faceInfo/' + id, + method: 'delete' + }) +} + +// 导出人脸信息 +export function exportFaceInfo(query) { + return request({ + url: '/fantang/faceInfo/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/fantangConfig.js b/ruoyi-ui/src/api/fantang/fantangConfig.js new file mode 100644 index 0000000000000000000000000000000000000000..68abb457c56fa4dc7b059f3a72fbc57027d1be4e --- /dev/null +++ b/ruoyi-ui/src/api/fantang/fantangConfig.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 查询饭堂参数列表 +export function listFantangConfig(query) { + return request({ + url: '/fantang/fantangConfig/list', + method: 'get', + params: query + }) +} + +// 查询饭堂参数详细 +export function getFantangConfig(id) { + return request({ + url: '/fantang/fantangConfig/' + id, + method: 'get' + }) +} + +// 新增饭堂参数 +export function addFantangConfig(data) { + return request({ + url: '/fantang/fantangConfig', + method: 'post', + data: data + }) +} + +export function updateDinnerTime(data) { + return request({ + url: '/fantang/fantangConfig/updateDinnerTime', + method: 'post', + data: data + }) +} + +export function updateFaceDevice(data) { + return request({ + url: '/fantang/fantangConfig/updateFaceDevice', + method: 'post', + data: data + }) +} + +// 修改饭堂参数 +export function updateFantangConfig(data) { + return request({ + url: '/fantang/fantangConfig', + method: 'put', + data: data + }) +} + +// 删除饭堂参数 +export function delFantangConfig(id) { + return request({ + url: '/fantang/fantangConfig/' + id, + method: 'delete' + }) +} + +// 导出饭堂参数 +export function exportFantangConfig(query) { + return request({ + url: '/fantang/fantangConfig/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/food.js b/ruoyi-ui/src/api/fantang/food.js new file mode 100644 index 0000000000000000000000000000000000000000..50ea4b465786a6a2a9ef9440d9d76caf31042dfd --- /dev/null +++ b/ruoyi-ui/src/api/fantang/food.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询食品管理列表 +export function listFood(query) { + return request({ + url: '/fantang/food/list', + method: 'get', + params: query + }) +} + +// 查询食品管理详细 +export function getFood(foodId) { + return request({ + url: '/fantang/food/' + foodId, + method: 'get' + }) +} + +// 新增食品管理 +export function addFood(data) { + return request({ + url: '/fantang/food', + method: 'post', + data: data + }) +} + +// 修改食品管理 +export function updateFood(data) { + return request({ + url: '/fantang/food', + method: 'put', + data: data + }) +} + +// 删除食品管理 +export function delFood(foodId) { + return request({ + url: '/fantang/food/' + foodId, + method: 'delete' + }) +} + +// 导出食品管理 +export function exportFood(query) { + return request({ + url: '/fantang/food/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/foodDefault.js b/ruoyi-ui/src/api/fantang/foodDefault.js new file mode 100644 index 0000000000000000000000000000000000000000..38594fb5a876cb70634a9f2c06a2c42260a48a06 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/foodDefault.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询默认报餐管理列表 +export function listFoodDefault(query) { + return request({ + url: '/fantang/foodDefault/list', + method: 'get', + params: query + }) +} + +// 查询默认报餐管理详细 +export function getFoodDefault(id) { + return request({ + url: '/fantang/foodDefault/' + id, + method: 'get' + }) +} + +// 新增默认报餐管理 +export function addFoodDefault(data) { + return request({ + url: '/fantang/foodDefault', + method: 'post', + data: data + }) +} + +// 修改默认报餐管理 +export function updateFoodDefault(data) { + return request({ + url: '/fantang/foodDefault', + method: 'put', + data: data + }) +} + +// 删除默认报餐管理 +export function delFoodDefault(id) { + return request({ + url: '/fantang/foodDefault/' + id, + method: 'delete' + }) +} + +// 导出默认报餐管理 +export function exportFoodDefault(query) { + return request({ + url: '/fantang/foodDefault/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/foodDemand.js b/ruoyi-ui/src/api/fantang/foodDemand.js new file mode 100644 index 0000000000000000000000000000000000000000..71dcc5de8029ddc9ceafc953db25d8cf0faa8db4 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/foodDemand.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询病人报餐列表 +export function listFoodDemand(query) { + return request({ + url: '/fantang/foodDemand/list', + method: 'get', + params: query + }) +} + +// 查询病人报餐详细 +export function getFoodDemand(id) { + return request({ + url: '/fantang/foodDemand/' + id, + method: 'get' + }) +} + +// 新增病人报餐 +export function addFoodDemand(data) { + return request({ + url: '/fantang/foodDemand', + method: 'post', + data: data + }) +} + +// 修改病人报餐 +export function updateFoodDemand(data) { + return request({ + url: '/fantang/foodDemand', + method: 'put', + data: data + }) +} + +// 删除病人报餐 +export function delFoodDemand(id) { + return request({ + url: '/fantang/foodDemand/' + id, + method: 'delete' + }) +} + +// 导出病人报餐 +export function exportFoodDemand(query) { + return request({ + url: '/fantang/foodDemand/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/invoice.js b/ruoyi-ui/src/api/fantang/invoice.js new file mode 100644 index 0000000000000000000000000000000000000000..a0a79355ffc7933df48d50f004c8deb1253ce78e --- /dev/null +++ b/ruoyi-ui/src/api/fantang/invoice.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 查询财务收费开票列表 +export function listInvoice(query) { + return request({ + url: '/fantang/invoice/list', + method: 'get', + params: query + }) +} + +// 查询财务收费开票详细 +export function getInvoice(id) { + return request({ + url: '/fantang/invoice/' + id, + method: 'get' + }) +} + +// 新增财务收费开票 +export function addInvoice(data) { + return request({ + url: '/fantang/invoice', + method: 'post', + data: data + }) +} + +// 修改财务收费开票 +export function updateInvoice(data) { + return request({ + url: '/fantang/invoice', + method: 'put', + data: data + }) +} + +// 删除财务收费开票 +export function delInvoice(id) { + return request({ + url: '/fantang/invoice/' + id, + method: 'delete' + }) +} + +// 结束跟踪 +export function finish(id) { + return request({ + url: '/fantang/invoice/finish/' + id, + method: 'put' + }) +} + +// 导出财务收费开票 +export function exportInvoice(query) { + return request({ + url: '/fantang/invoice/export', + method: 'get', + params: query + }) +} + +export function addToInvoice(data) { + return request({ + url: '/fantang/invoice/addToInvoice', + method: 'post', + data: data + }) +} diff --git a/ruoyi-ui/src/api/fantang/invoiceReturn.js b/ruoyi-ui/src/api/fantang/invoiceReturn.js new file mode 100644 index 0000000000000000000000000000000000000000..94d8879bdc8659aee88bf9338fc8c397ba9fba30 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/invoiceReturn.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询回款登记列表 +export function listInvoiceReturn(query) { + return request({ + url: '/fantang/invoiceReturn/list', + method: 'get', + params: query + }) +} + +// 查询回款登记详细 +export function getInvoiceReturn(id) { + return request({ + url: '/fantang/invoiceReturn/' + id, + method: 'get' + }) +} + +// 新增回款登记 +export function addInvoiceReturn(data) { + return request({ + url: '/fantang/invoiceReturn', + method: 'post', + data: data + }) +} + +// 修改回款登记 +export function updateInvoiceReturn(data) { + return request({ + url: '/fantang/invoiceReturn', + method: 'put', + data: data + }) +} + +// 删除回款登记 +export function delInvoiceReturn(id) { + return request({ + url: '/fantang/invoiceReturn/' + id, + method: 'delete' + }) +} + +// 导出回款登记 +export function exportInvoiceReturn(query) { + return request({ + url: '/fantang/invoiceReturn/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/meals.js b/ruoyi-ui/src/api/fantang/meals.js new file mode 100644 index 0000000000000000000000000000000000000000..fd79679417fe0f2ff3882e90cbe21ff7d9c555f2 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/meals.js @@ -0,0 +1,117 @@ +import request from '@/utils/request' + +// 查询所有报餐管理列表 +export function listAll(query) { + return request({ + url: '/fantang/meals/listAll', + method: 'get', + params: query + }) +} + +// 查询所有统计报餐 +export function listStatistics(query) { + return request({ + url: '/fantang/meals/listStatistics', + method: 'get', + params: query + }) +} + +// 查询未结算报餐记录 +export function listNoPay(query) { + return request({ + url: '/fantang/meals/listNoPay', + method: 'get', + params: query + }) +} + +// 查询已结算报餐记录 +export function listPayoff(query) { + return request({ + url: '/fantang/meals/listPayoff', + method: 'get', + params: query + }) +} + + +// 查询报餐管理列表 +export function listMeals(query) { + return request({ + url: '/fantang/meals/listPatientReportMeals', + method: 'get', + params: query + }) +} + +export function listMealsWithInSettle(query) { + return request({ + url: '/fantang/meals/listMealsWithInSettle', + method: 'get', + params: query + }) +} + +// 查询报餐管理详细 +export function getMeals(id) { + return request({ + url: '/fantang/meals/' + id, + method: 'get' + }) +} + +// 新增报餐管理 +export function addMeals(data) { + return request({ + url: '/fantang/meals', + method: 'post', + data: data + }) +} + +// 修改报餐管理 +export function updateMeals(data) { + return request({ + url: '/fantang/meals', + method: 'put', + data: data + }) +} + +// 删除报餐管理 +export function delMeals(id) { + return request({ + url: '/fantang/meals/' + id, + method: 'delete' + }) +} + +// 导出报餐管理 +export function exportMeals(query) { + return request({ + url: '/fantang/meals/export', + method: 'get', + params: query + }) +} + + +// 获取最后结算日期 +export function getLastSettlementDate(patientId) { + return request({ + url: '/fantang/meals/getLastSettlementDate/' + patientId, + method: 'get', + }) +} + + +// 计算两个日期之间的结算数据 +export function countBillingBetween(query) { + return request({ + url: '/fantang/meals/countBillingBetween', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/notify.js b/ruoyi-ui/src/api/fantang/notify.js new file mode 100644 index 0000000000000000000000000000000000000000..2c9f159670a95ac6e6385eb6e792131ab151ec06 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/notify.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 查询系统信息列表 +export function listNotify(query) { + return request({ + url: '/fantang/notify/list', + method: 'get', + params: query + }) +} + +// 查询系统信息详细 +export function getNotify(id) { + return request({ + url: '/fantang/notify/' + id, + method: 'get' + }) +} + +// 查询是否有新消息 +export function isHaveNewMsg() { + return request({ + url: '/fantang/notify/isHaveNewMsg', + method: 'get' + }) +} + +// 新增系统信息 +export function addNotify(data) { + return request({ + url: '/fantang/notify', + method: 'post', + data: data + }) +} + +export function solveConflict(data) { + return request({ + url: '/fantang/notify/solveConflict', + method: 'post', + data: data + }) +} + +// 修改系统信息 +export function updateNotify(data) { + return request({ + url: '/fantang/notify', + method: 'put', + data: data + }) +} + +// 删除系统信息 +export function delNotify(id) { + return request({ + url: '/fantang/notify/' + id, + method: 'delete' + }) +} + +// 导出系统信息 +export function exportNotify(query) { + return request({ + url: '/fantang/notify/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/nutritionFood.js b/ruoyi-ui/src/api/fantang/nutritionFood.js new file mode 100644 index 0000000000000000000000000000000000000000..65859a0d75a70e683fe3fe6970de16e159647011 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/nutritionFood.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询病患营养配餐列表 +export function listNutritionFood(query) { + return request({ + url: '/fantang/nutritionFood/list', + method: 'get', + params: query + }) +} + +// 查询病患营养配餐详细 +export function getNutritionFood(id) { + return request({ + url: '/fantang/nutritionFood/' + id, + method: 'get' + }) +} + +// 新增病患营养配餐 +export function addNutritionFood(data) { + return request({ + url: '/fantang/nutritionFood', + method: 'post', + data: data + }) +} + +// 修改病患营养配餐 +export function updateNutritionFood(data) { + return request({ + url: '/fantang/nutritionFood', + method: 'put', + data: data + }) +} + +// 停用病患营养配餐 +export function deactivate(id) { + return request({ + url: '/fantang/nutritionFood/deactivate/' + id, + method: 'put', + params: id + }) +} + +// 删除病患营养配餐 +export function delNutritionFood(id) { + return request({ + url: '/fantang/nutritionFood/' + id, + method: 'delete' + }) +} + +// 导出病患营养配餐 +export function exportNutritionFood(query) { + return request({ + url: '/fantang/nutritionFood/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/order.js b/ruoyi-ui/src/api/fantang/order.js new file mode 100644 index 0000000000000000000000000000000000000000..149b8414fa60ecd70436ffd4bb55db98fa1e7321 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/order.js @@ -0,0 +1,107 @@ +import request from '@/utils/request' + +// 查询订单管理列表 +export function listOrder(query) { + return request({ + url: '/fantang/order/list', + method: 'get', + params: query + }) +} + +// 查询订单管理详细 +export function getOrder(orderId) { + return request({ + url: '/fantang/order/' + orderId, + method: 'get' + }) +} + +// 新增订单管理 +export function addOrder(data) { + return request({ + url: '/fantang/order', + method: 'post', + data: data + }) +} + +// 修改订单管理 +export function updateOrder(data) { + return request({ + url: '/fantang/order', + method: 'put', + data: data + }) +} + +// 删除订单管理 +export function delOrder(orderId) { + return request({ + url: '/fantang/order/' + orderId, + method: 'delete' + }) +} + +// 导出订单管理 +export function exportOrder(query) { + return request({ + url: '/fantang/order/export', + method: 'get', + params: query + }) +} + +// 日报餐信息 +export function getStatisGetOrderOfDay(data) { + return request({ + url: '/fantang/order/getStatisGetOrderOfDay', + method: 'post', + data: data + }) +} + +// 导出日报餐信息 +export function exportOrderOfDay(data) { + return request({ + url: '/fantang/order/exportOrderOfDay', + method: 'post', + data: data + }) +} + +// 导出周报餐信息 +export function exportOrderOfWeek(data) { + return request({ + url: '/fantang/order/exportOrderOfWeek', + method: 'post', + data: data + }) +} + +// 导出月报餐信息 +export function exportOrderOfMonth(data) { + return request({ + url: '/fantang/order/exportOrderOfMonth', + method: 'post', + data: data + }) +} + +// 周报餐信息 +export function getStatisGetOrderOfWeek(data) { + return request({ + url: '/fantang/order/getStatisGetOrderOfWeek', + method: 'post', + data: data + }) +} + +// 月报餐信息 +export function getStatisGetOrderOfMonth(data) { + return request({ + url: '/fantang/order/getStatisGetOrderOfMonth', + method: 'post', + data: data + }) +} diff --git a/ruoyi-ui/src/api/fantang/patient.js b/ruoyi-ui/src/api/fantang/patient.js new file mode 100644 index 0000000000000000000000000000000000000000..5596f48b8ed9d923b66bed64b89e311360461977 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/patient.js @@ -0,0 +1,77 @@ +import request from '@/utils/request' + +// 查询病人管理列表 +export function listPatient(query) { + return request({ + url: '/fantang/patient/list', + method: 'get', + params: query + }) +} + +// 根据 departId 查询病人列表 +export function selectPatientByDepartId(departId) { + return request({ + url: '/fantang/patient/selectPatientByDepartId/' + departId, + method: 'get', + }) +} + +// 根据 departId 查询所有没有营养配餐的病人列表 +export function selectNoCateringByDepartId(departId) { + return request({ + url: '/fantang/patient/selectNoCateringByDepartId/' + departId, + method: 'get', + }) +} + +// 根据 patientId 查询病人床号 +export function getBedIdById(patientId) { + return request({ + url: '/fantang/patient/getBedIdById/' + patientId, + method: 'get', + }) +} + +// 查询病人管理详细 +export function getPatient(patientId) { + return request({ + url: '/fantang/patient/' + patientId, + method: 'get' + }) +} + +// 新增病人管理 +export function addPatient(data) { + return request({ + url: '/fantang/patient', + method: 'post', + data: data + }) +} + +// 修改病人管理 +export function updatePatient(data) { + return request({ + url: '/fantang/patient', + method: 'put', + data: data + }) +} + +// 删除病人管理 +export function delPatient(patientId) { + return request({ + url: '/fantang/patient/' + patientId, + method: 'delete' + }) +} + +// 导出病人管理 +export function exportPatient(query) { + return request({ + url: '/fantang/patient/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/prepayment.js b/ruoyi-ui/src/api/fantang/prepayment.js new file mode 100644 index 0000000000000000000000000000000000000000..855c93f8bb0006b1620549cfd2bd4cded5328377 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/prepayment.js @@ -0,0 +1,118 @@ +import request from '@/utils/request' + +// 查询所有未缴预付费病人列表 +export function listNoPrepayment(query) { + return request({ + url: '/fantang/prepayment/listNoPrepay', + method: 'get', + params: query + }) +} + +// 查询所有已缴预付费病人列表 +export function listPrepay(query) { + return request({ + url: '/fantang/prepayment/listPrepay', + method: 'get', + params: query + }) +} + +// 查询所有已结算 +export function listAllPrepay() { + return request({ + url: '/fantang/prepayment/listAllPrepay', + method: 'get', + }) +} + +/** + * 查询该用户是否已经收取预付伙食费 + * 作者: 陈智兴 + * 日期: 2020年12月2日 + * 功能: 前端调用查询 + * @param patientId + */ +// +export function getCountById(patientId) { + return request({ + url: '/fantang/prepayment/getCountById/' + patientId, + method: 'get', + }) +} + +// 查询收费管理列表 +export function listPrepayment(query) { + return request({ + url: '/fantang/prepayment/list', + method: 'get', + params: query + }) +} + + +// 查询收费管理详细 +export function getPrepayment(prepaymentId) { + return request({ + url: '/fantang/prepayment/' + prepaymentId, + method: 'get' + }) +} + +// 通过病人id查询收费管理详细 +export function getPrepaymentByPatientId(patientId) { + return request({ + url: '/fantang/prepayment/getPrepaymentByPatientId/' + patientId, + method: 'get' + }) +} + +// 新增收费管理 +export function addPrepayment(data) { + return request({ + url: '/fantang/prepayment', + method: 'post', + data: data + }) +} + +// 修改收费管理 +export function updatePrepayment(data) { + return request({ + url: '/fantang/prepayment', + method: 'put', + data: data + }) +} + +// 删除收费管理 +export function delPrepayment(prepaymentId) { + return request({ + url: '/fantang/prepayment/' + prepaymentId, + method: 'delete' + }) +} + +// 导出收费管理 +export function exportPrepayment(query) { + return request({ + url: '/fantang/prepayment/export', + method: 'get', + params: query + }) +} + +export function generateReceiptPdf(data) { + return request({ + url: '/fantang/prepayment/generateReceiptPdf', + method: 'post', + data: data + }) +} + +export function leaveSettlePrepayment(prepaymentId) { + return request({ + url: '/fantang/prepayment/leaveSettlePrepayment/' + prepaymentId, + method: 'put' + }) +} diff --git a/ruoyi-ui/src/api/fantang/returnManage.js b/ruoyi-ui/src/api/fantang/returnManage.js new file mode 100644 index 0000000000000000000000000000000000000000..4e8bad6807b75b271810a88e32be445cf48f04e7 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/returnManage.js @@ -0,0 +1,70 @@ +import request from '@/utils/request' + +// 查询回款登记列表 +export function listReturnManage(query) { + return request({ + url: '/fantang/returnManage/list', + method: 'get', + params: query + }) +} + +// 查询回款登记详细 +export function getReturnManage(id) { + return request({ + url: '/fantang/returnManage/' + id, + method: 'get' + }) +} + +// 根据发票 id 查询回款记录 +export function getReturnByInvoice(id) { + return request({ + url: '/fantang/returnManage/getReturnByInvoice/' + id, + method: 'get' + }) +} + +// 新增回款登记 +export function addReturnManage(data) { + return request({ + url: '/fantang/returnManage', + method: 'post', + data: data + }) +} + +// 新增回款登记 +export function addToReturn(data) { + return request({ + url: '/fantang/returnManage/addToReturn', + method: 'post', + data: data + }) +} + +// 修改回款登记 +export function updateReturnManage(data) { + return request({ + url: '/fantang/returnManage', + method: 'put', + data: data + }) +} + +// 删除回款登记 +export function delReturnManage(id) { + return request({ + url: '/fantang/returnManage/' + id, + method: 'delete' + }) +} + +// 导出回款登记 +export function exportReturnManage(query) { + return request({ + url: '/fantang/returnManage/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/settle.js b/ruoyi-ui/src/api/fantang/settle.js new file mode 100644 index 0000000000000000000000000000000000000000..55efce54c9e72514ce03acadfd70ccdd396bd560 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/settle.js @@ -0,0 +1,86 @@ +import request from '@/utils/request' + +/** + * 获取指定用户最后一次结算日期 + * 作者: czx + * 日期:2020年12月2日 + * 功能:向后台获取指定用户最后一次结算日期,显示在收费弹出层 + * @param patientId + */ +export function getLastBillingDateByPatientId(patientId) { + return request({ + url: '/fantang/settle/getLastBillingDateByPatientId/' + patientId, + method: 'get' + }) +} + +// 查看该病人所有已用餐未结算的记录 +export function showAllMealsWithNoPay(query) { + return request({ + url: '/fantang/settle/showAllMealsWithNoPay/', + method: 'get', + params: query + }) +} + + +// 查询结算报列表 +export function listSettle(query) { + return request({ + url: '/fantang/settle/list', + method: 'get', + params: query + }) +} + +// 查询结算报详细 +export function getSettle(settleId) { + return request({ + url: '/fantang/settle/' + settleId, + method: 'get' + }) +} + +// 新增结算报 +export function addSettle(data) { + return request({ + url: '/fantang/settle/addSettle', + method: 'post', + data: data + }) +} + +// 显示正餐记录 +export function showMealsWithSelect(data) { + return request({ + url: '/fantang/settle/showMealsWithSelect', + method: 'post', + data: data + }) +} + +// 修改结算报 +export function updateSettle(data) { + return request({ + url: '/fantang/settle', + method: 'put', + data: data + }) +} + +// 删除结算报 +export function delSettle(settleId) { + return request({ + url: '/fantang/settle/' + settleId, + method: 'delete' + }) +} + +// 导出结算报 +export function exportSettle(query) { + return request({ + url: '/fantang/settle/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/settlement.js b/ruoyi-ui/src/api/fantang/settlement.js new file mode 100644 index 0000000000000000000000000000000000000000..436079f74d3a2029c861dedccde5bb562c280306 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/settlement.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询结算管理列表 +export function listSettlement(query) { + return request({ + url: '/fantang/settlement/list', + method: 'get', + params: query + }) +} + +// 查询结算管理详细 +export function getSettlement(settleId) { + return request({ + url: '/fantang/settlement/' + settleId, + method: 'get' + }) +} + +// 新增结算管理 +export function addSettlement(data) { + return request({ + url: '/fantang/settlement', + method: 'post', + data: data + }) +} + +// 修改结算管理 +export function updateSettlement(data) { + return request({ + url: '/fantang/settlement', + method: 'put', + data: data + }) +} + +// 删除结算管理 +export function delSettlement(settleId) { + return request({ + url: '/fantang/settlement/' + settleId, + method: 'delete' + }) +} + +// 导出结算管理 +export function exportSettlement(query) { + return request({ + url: '/fantang/settlement/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/staffInfo.js b/ruoyi-ui/src/api/fantang/staffInfo.js new file mode 100644 index 0000000000000000000000000000000000000000..572b8462b30899a0fedb5c237d0a0b9ccd6c189a --- /dev/null +++ b/ruoyi-ui/src/api/fantang/staffInfo.js @@ -0,0 +1,86 @@ +import request from '@/utils/request' + +// 查询员工管理列表 +export function listStaffInfo(query) { + return request({ + url: '/fantang/staffInfo/staffList', + method: 'get', + params: query + }) +} + +export function staffListWithDepart(query) { + return request({ + url: '/fantang/staffInfo/staffListWithDepart', + method: 'get', + params : query + }) +} + +// 查询护工管理列表 +export function careStaffList(query) { + return request({ + url: '/fantang/staffInfo/careStaffList', + method: 'get', + params: query + }) +} + +// 查询员工管理详细 +export function getStaffInfo(staffId) { + return request({ + url: '/fantang/staffInfo/' + staffId, + method: 'get' + }) +} + +export function getNursingInfo(nursingId) { + return request({ + url: '/fantang/staffInfo/nursing/' + nursingId, + method: 'get' + }) +} + + +// 新增员工管理 +export function addStaffInfo(data) { + return request({ + url: '/fantang/staffInfo', + method: 'post', + data: data + }) +} + +// 修改员工管理 +export function updateStaffInfo(data) { + return request({ + url: '/fantang/staffInfo', + method: 'put', + data: data + }) +} + +// 删除员工管理 +export function delStaffInfo(staffId) { + return request({ + url: '/fantang/staffInfo/' + staffId, + method: 'delete' + }) +} + +// 导出员工管理 +export function exportStaffInfo(query) { + return request({ + url: '/fantang/staffInfo/export', + method: 'get', + params: query + }) +} + +export function updateNursingInfo(data) { + return request({ + url: '/fantang/staffInfo/nursing', + method: 'put', + data: data + }) +} diff --git a/ruoyi-ui/src/api/fantang/staffSubsidy.js b/ruoyi-ui/src/api/fantang/staffSubsidy.js new file mode 100644 index 0000000000000000000000000000000000000000..9e2fbbecbe269697c1fbe655512ea6ac3f8a418c --- /dev/null +++ b/ruoyi-ui/src/api/fantang/staffSubsidy.js @@ -0,0 +1,62 @@ +import request from '@/utils/request' + +// 查询补贴流水查看列表 +export function listStaffSubsidy(query) { + return request({ + url: '/fantang/staffSubsidy/list', + method: 'get', + params: query + }) +} + +// 查询补贴流水查看详细 +export function getStaffSubsidy(subsidyId) { + return request({ + url: '/fantang/staffSubsidy/' + subsidyId, + method: 'get' + }) +} + +// 新增补贴流水查看 +export function addStaffSubsidy(data) { + return request({ + url: '/fantang/staffSubsidy', + method: 'post', + data: data + }) +} + +// 修改补贴流水查看 +export function updateStaffSubsidy(data) { + return request({ + url: '/fantang/staffSubsidy', + method: 'put', + data: data + }) +} + +// 发放员工补贴 +export function submitGiveOutSubsidy(data) { + return request({ + url: '/fantang/staffSubsidy/submitGiveOutSubsidy', + method: 'post', + data: data + }) +} + +// 删除补贴流水查看 +export function delStaffSubsidy(subsidyId) { + return request({ + url: '/fantang/staffSubsidy/' + subsidyId, + method: 'delete' + }) +} + +// 导出补贴流水查看 +export function exportStaffSubsidy(query) { + return request({ + url: '/fantang/staffSubsidy/export', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/fantang/subsidy.js b/ruoyi-ui/src/api/fantang/subsidy.js new file mode 100644 index 0000000000000000000000000000000000000000..b2a8abfbc1bb95dba709d36d16b5bf07912b7bcf --- /dev/null +++ b/ruoyi-ui/src/api/fantang/subsidy.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询补贴管理列表 +export function listSubsidy(query) { + return request({ + url: '/fantang/subsidy/list', + method: 'get', + params: query + }) +} + +// 查询补贴管理详细 +export function getSubsidy(subsidyId) { + return request({ + url: '/fantang/subsidy/' + subsidyId, + method: 'get' + }) +} + +// 新增补贴管理 +export function addSubsidy(data) { + return request({ + url: '/fantang/subsidy', + method: 'post', + data: data + }) +} + +// 修改补贴管理 +export function updateSubsidy(data) { + return request({ + url: '/fantang/subsidy', + method: 'put', + data: data + }) +} + +// 删除补贴管理 +export function delSubsidy(subsidyId) { + return request({ + url: '/fantang/subsidy/' + subsidyId, + method: 'delete' + }) +} + +// 导出补贴管理 +export function exportSubsidy(query) { + return request({ + url: '/fantang/subsidy/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/syncConflict.js b/ruoyi-ui/src/api/fantang/syncConflict.js new file mode 100644 index 0000000000000000000000000000000000000000..3a95369abb77912107da7e0fe4025f602f6ee995 --- /dev/null +++ b/ruoyi-ui/src/api/fantang/syncConflict.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询同步冲突列表 +export function listSyncConflict(query) { + return request({ + url: '/fantang/syncConflict/list', + method: 'get', + params: query + }) +} + +// 查询同步冲突详细 +export function getSyncConflict(id) { + return request({ + url: '/fantang/syncConflict/' + id, + method: 'get' + }) +} + +// 新增同步冲突 +export function addSyncConflict(data) { + return request({ + url: '/fantang/syncConflict', + method: 'post', + data: data + }) +} + +// 修改同步冲突 +export function updateSyncConflict(data) { + return request({ + url: '/fantang/syncConflict', + method: 'put', + data: data + }) +} + +// 删除同步冲突 +export function delSyncConflict(id) { + return request({ + url: '/fantang/syncConflict/' + id, + method: 'delete' + }) +} + +// 导出同步冲突 +export function exportSyncConflict(query) { + return request({ + url: '/fantang/syncConflict/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/api/fantang/weekMenu.js b/ruoyi-ui/src/api/fantang/weekMenu.js new file mode 100644 index 0000000000000000000000000000000000000000..547aaf7b4402b6a2bebc49157892e2892db7c26b --- /dev/null +++ b/ruoyi-ui/src/api/fantang/weekMenu.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询每周菜单列表 +export function listWeekMenu(query) { + return request({ + url: '/fantang/weekMenu/list', + method: 'get', + params: query + }) +} + +// 查询每周菜单详细 +export function getWeekMenu(id) { + return request({ + url: '/fantang/weekMenu/' + id, + method: 'get' + }) +} + +// 新增每周菜单 +export function addWeekMenu(data) { + return request({ + url: '/fantang/weekMenu', + method: 'post', + data: data + }) +} + +// 修改每周菜单 +export function updateWeekMenu(data) { + return request({ + url: '/fantang/weekMenu', + method: 'put', + data: data + }) +} + +// 删除每周菜单 +export function delWeekMenu(id) { + return request({ + url: '/fantang/weekMenu/' + id, + method: 'delete' + }) +} + +// 导出每周菜单 +export function exportWeekMenu(query) { + return request({ + url: '/fantang/weekMenu/export', + method: 'get', + params: query + }) +} \ No newline at end of file diff --git a/ruoyi-ui/src/components/RuoYi/Doc/index.vue b/ruoyi-ui/src/components/RuoYi/Doc/index.vue index 3915c296506f49c89a9bf3d29ce2d91e8f49f470..70ae33c5c2c08ecebd9628c9e46a0bc71c415bad 100644 --- a/ruoyi-ui/src/components/RuoYi/Doc/index.vue +++ b/ruoyi-ui/src/components/RuoYi/Doc/index.vue @@ -1,21 +1,21 @@ - - - \ No newline at end of file + + + diff --git a/ruoyi-ui/src/components/RuoYi/Git/index.vue b/ruoyi-ui/src/components/RuoYi/Git/index.vue index 1d09a7742563f334cd9ae396400fd1b18d68711a..e84bd3c9f55bcbb53f9f99a8c38d3afc42b34466 100644 --- a/ruoyi-ui/src/components/RuoYi/Git/index.vue +++ b/ruoyi-ui/src/components/RuoYi/Git/index.vue @@ -1,6 +1,6 @@ @@ -9,7 +9,7 @@ export default { name: 'RuoYiGit', data() { return { - url: 'https://gitee.com/y_project/RuoYi-Vue' + url: 'https://www.yuque.com/wbyzhg/manual/mgrtz2' } }, methods: { @@ -18,4 +18,4 @@ export default { } } } - \ No newline at end of file + diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue index b11460a379b1ac3fd6558b0f0f5007672d44f55f..23ce5f0eb43ba45ff42dd5a33930d3fef9608971 100644 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -7,12 +7,12 @@