From 0a021caba6bfb6ce14274f43c6a39a2cd8185942 Mon Sep 17 00:00:00 2001 From: "1009473166@qq.com" <草拟吗23> Date: Fri, 31 Jul 2026 10:16:48 +0800 Subject: [PATCH] 1 --- dosc/.WeDrive | 1 + dosc/Navbar.vue | 258 +++++ dosc/license.js | 16 + dosc/license/.WeDrive | 1 + dosc/license/SysLicenseController.java | 127 +++ dosc/ruoyi-license/.WeDrive | 1 + dosc/ruoyi-license/CHANGES.md | 270 +++++ dosc/ruoyi-license/DEPLOYMENT_CHECKLIST.md | 250 ++++ dosc/ruoyi-license/INTEGRATION.md | 231 ++++ dosc/ruoyi-license/LICENSE_FILTER_CONFIG.md | 168 +++ dosc/ruoyi-license/README.md | 193 ++++ dosc/ruoyi-license/SUMMARY.md | 239 ++++ dosc/ruoyi-license/pom.xml | 39 + .../java/com/ruoyi/license/config/.WeDrive | 1 + .../ruoyi/license/config/LicenseConfig.java | 61 + .../java/com/ruoyi/license/domain/.WeDrive | 1 + .../com/ruoyi/license/domain/SysLicense.java | 105 ++ .../com/ruoyi/license/interceptor/.WeDrive | 1 + .../interceptor/LicenseInterceptor.java | 46 + .../java/com/ruoyi/license/mapper/.WeDrive | 1 + .../license/mapper/SysLicenseMapper.java | 67 ++ .../java/com/ruoyi/license/service/.WeDrive | 1 + .../license/service/ISysLicenseService.java | 87 ++ .../com/ruoyi/license/service/impl/.WeDrive | 1 + .../service/impl/SysLicenseServiceImpl.java | 266 +++++ .../main/java/com/ruoyi/license/task/.WeDrive | 1 + .../ruoyi/license/task/LicenseCheckTask.java | 47 + .../main/java/com/ruoyi/license/util/.WeDrive | 1 + .../ruoyi/license/util/LicenseGenerator.java | 127 +++ .../com/ruoyi/license/util/LicenseTest.java | 89 ++ .../com/ruoyi/license/util/LicenseUtils.java | 275 +++++ .../main/resources/mapper/license/.WeDrive | 1 + .../mapper/license/SysLicenseMapper.xml | 108 ++ dosc/vue授权码.md | 270 +++++ dosc/授权码vue版本配置手册.docx | Bin 0 -> 1004339 bytes pom.xml | 10 +- ruoyi-admin/pom.xml | 6 + .../main/java/com/ruoyi/RuoYiApplication.java | 26 +- .../api/controller/ToErpApiController.java | 111 +- .../api/controller/ToWmsApiController.java | 143 ++- .../ruoyi/api/controller/TwinController.java | 17 + .../api/domain/DeliveryNoticeItemVo.java | 36 +- .../ruoyi/api/domain/DeliveryNoticeVo.java | 11 + .../com/ruoyi/api/domain/RequestEnter.java | 4 + .../com/ruoyi/api/domain/WmsJobRequest.java | 2 + .../com/ruoyi/api/service/IToErpService.java | 9 + .../com/ruoyi/api/service/IToWmsService.java | 2 + .../com/ruoyi/api/service/ITwinService.java | 2 + .../api/service/impl/ToErpServiceImpl.java | 1015 +++++++++++++++-- .../api/service/impl/ToWcsServiceImpl.java | 9 +- .../api/service/impl/ToWmsServiceImpl.java | 70 +- .../api/service/impl/TwinServiceImpl.java | 66 ++ .../controller/BasTraycodeController.java | 1 + .../bas/traycode/domain/BasTraycode.java | 8 +- .../traycode/mapper/BasTraycodeMapper.java | 2 + .../traycode/service/IBasTraycodeService.java | 2 + .../service/impl/BasTraycodeServiceImpl.java | 39 +- .../impl/BasTraycodeFormatServiceImpl.java | 17 - .../service/impl/CheckStockinServiceImpl.java | 6 +- .../agv/mapper/AgvContainerTaskMapper.java | 2 + .../agv/service/IAgvContainerTaskService.java | 2 + .../impl/AgvContainerTaskServiceImpl.java | 5 + .../ruoyi/in/stockin/domain/InStockin.java | 46 + .../in/stockin/mapper/InStockinMapper.java | 2 + .../in/stockin/service/IInStockinService.java | 2 + .../service/impl/InStockinServiceImpl.java | 5 + .../in/stockinback/domain/InStockinBack.java | 18 + .../domain/InStockinDetailBack.java | 38 + .../mapper/InStockinDetailBackMapper.java | 5 + .../service/IInStockinDetailBackService.java | 4 + .../impl/InStockinDetailBackServiceImpl.java | 10 + .../stockindetail/domain/InStockinDetail.java | 6 +- .../mapper/InStockinDetailMapper.java | 2 + .../service/IInStockinDetailService.java | 2 + .../impl/InStockinDetailServiceImpl.java | 5 + .../stockinfinish/domain/InStockinFinish.java | 9 + .../impl/InStockinFinishServiceImpl.java | 2 +- .../com/ruoyi/job/mydojob/domain/MydoJob.java | 20 + .../job/mydojob/mapper/MydoJobMapper.java | 9 + .../job/mydojob/service/IMydoJobService.java | 2 + .../service/impl/MydoJobServiceImpl.java | 17 +- .../job/mydojobdetail/domain/PkDetail.java | 27 + .../log/controller/RequestLogController.java | 28 + .../ruoyi/log/mapper/RequestLogMapper.java | 6 + .../ruoyi/log/service/IRequestLogService.java | 9 + .../service/impl/RequestLogServiceImpl.java | 96 +- .../ViewHandAllotStockController.java | 3 + .../domain/ViewHandAllotStock.java | 34 +- .../controller/OutStockoutController.java | 27 +- .../out/outStockout/domain/OutStockout.java | 45 + .../outStockout/mapper/OutStockoutMapper.java | 2 + .../service/IOutStockoutService.java | 2 + .../service/impl/OutStockoutServiceImpl.java | 12 +- .../domain/OutStockoutDetail.java | 48 +- .../ViewProductAndStockController.java | 2 +- .../ruoyi/pda/controller/PdaController.java | 320 +++++- .../ruoyi/pda/domain/TrayCodeMakeSure.java | 9 + .../com/ruoyi/pda/domain/TrayCodeMsg.java | 22 + .../java/com/ruoyi/pda/mapper/PdaMapper.java | 14 + .../com/ruoyi/pda/service/PdaService.java | 18 +- .../com/ruoyi/pda/service/PdaServiceImp.java | 157 ++- .../stock/controller/BasStockController.java | 10 +- .../ruoyi/stock/stock/domain/BasStock.java | 3 + .../stock/stock/mapper/BasStockMapper.java | 17 + .../stock/stock/service/IBasStockService.java | 6 + .../service/impl/BasStockServiceImpl.java | 28 +- .../src/main/resources/application-druid.yml | 6 +- .../src/main/resources/application.yml | 15 +- .../mapper/agv/AgvContainerTaskMapper.xml | 26 +- .../resources/mapper/ai/ChatMessageMapper.xml | 17 +- .../mapper/ai/ConversationsMapper.xml | 25 +- .../mapper/api/KnowledgeFileMapper.xml | 24 +- .../mapper/bas/BasContainerDetailsMapper.xml | 18 +- .../mapper/bas/BasContainerMapper.xml | 14 +- .../mapper/bas/BasCustomerMapper.xml | 6 +- .../resources/mapper/bas/BasJobIdMapper.xml | 41 +- .../mapper/bas/BasProductCodeMapper.xml | 20 +- .../mapper/bas/BasProductPortMapper.xml | 10 +- .../mapper/bas/BasProductPortRelMapper.xml | 11 +- .../resources/mapper/bas/BasRoadwayMapper.xml | 18 +- .../mapper/bas/BasSupplierMapper.xml | 6 +- .../resources/mapper/bas/BasTagMapper.xml | 19 +- .../mapper/bas/BasTraycodeFormatMapper.xml | 10 +- .../mapper/bas/BasTraycodeMapper.xml | 11 +- .../mapper/bas/BasWarehousePortMapper.xml | 10 +- .../bas/cargoSpace/BasCargoSpaceMapper.xml | 61 +- .../bas/warehouse/BasWarehouseMapper.xml | 13 +- .../mapper/check/CheckCommitRecordMapper.xml | 18 +- .../CheckDifferenceRecordFinishMapper.xml | 31 +- .../check/CheckDifferenceRecordMapper.xml | 31 +- .../check/CheckStockinDetailFinishMapper.xml | 115 +- .../mapper/check/CheckStockinDetailMapper.xml | 59 +- .../mapper/check/CheckStockinFinishMapper.xml | 75 +- .../mapper/check/CheckStockinMapper.xml | 39 +- .../mapper/in/InStockinBackMapper.xml | 54 +- .../mapper/in/InStockinDetailBackMapper.xml | 145 ++- .../mapper/in/InStockinDetailFinishMapper.xml | 115 +- .../mapper/in/InStockinDetailMapper.xml | 84 +- .../mapper/in/InStockinFinishMapper.xml | 79 +- .../resources/mapper/in/InStockinMapper.xml | 139 ++- .../mapper/in/TransferBillCallbackMapper.xml | 20 +- .../mapper/job/MydoJobDetailFinishMapper.xml | 55 +- .../mapper/job/MydoJobDetailMapper.xml | 67 +- .../mapper/job/MydoJobFinishMapper.xml | 95 +- .../resources/mapper/job/MydoJobMapper.xml | 80 +- .../mapper/out/OutExceptionRecordMapper.xml | 18 +- .../mapper/out/OutPickSubmitMapper.xml | 24 +- .../out/OutStockoutDetailFinishMapper.xml | 66 +- .../mapper/out/OutStockoutDetailMapper.xml | 147 +-- .../mapper/out/OutStockoutFinishMapper.xml | 68 +- .../mapper/out/OutStockoutMapper.xml | 102 +- .../mapper/out/ViewHandAllotStockMapper.xml | 122 +- .../main/resources/mapper/pda/PdaMapper.xml | 61 +- .../resources/mapper/pda/TrayMsgMapper.xml | 10 +- .../ViewProductAndStockMapper.xml | 63 +- .../ReceiveStockinDetailFinishMapper.xml | 103 +- .../receive/ReceiveStockinDetailMapper.xml | 53 +- .../receive/ReceiveStockinFinishMapper.xml | 75 +- .../mapper/receive/ReceiveStockinMapper.xml | 39 +- .../requestInterface/RequestLogMapper.xml | 43 +- .../mapper/search/ViewInJobFlowMapper.xml | 86 +- .../mapper/search/ViewOutJobFlowMapper.xml | 84 +- .../mapper/search/ViewStockDetailMapper.xml | 70 +- .../mapper/search/ViewStockSecureMapper.xml | 16 +- .../mapper/search/ViewStockWarningMapper.xml | 14 +- .../search/ViewStockinHistoryMapper.xml | 78 +- .../search/ViewStockoutHistoryMapper.xml | 58 +- .../stock/BasStockFreezeRecordMapper.xml | 33 +- .../stock/BasStockMaintainRecordMapper.xml | 33 +- .../resources/mapper/stock/BasStockMapper.xml | 709 ++++++++++-- .../framework/config/SecurityConfig.java | 2 +- ruoyi-ui/.env.development | 2 +- ruoyi-ui/.env.production | 2 +- ruoyi-ui/.env.staging | 2 +- ruoyi-ui/package.json | 1 + ruoyi-ui/src/api/requestInterface/log.js | 24 + ruoyi-ui/src/api/stock/management.js | 11 +- ruoyi-ui/src/components/Pagination/index.vue | 2 +- ruoyi-ui/src/layout/components/Navbar.vue | 68 ++ ruoyi-ui/src/views/bas/traycode/index.vue | 147 ++- ruoyi-ui/src/views/in/stockIn/index.vue | 79 +- ruoyi-ui/src/views/job/outJobManagement.vue | 8 + ruoyi-ui/src/views/login.vue | 48 +- ruoyi-ui/src/views/out/outStockoutManage.vue | 221 ++-- .../src/views/requestInterface/log/index.vue | 219 ++-- ruoyi-ui/src/views/stock/management/index.vue | 192 +++- ruoyi-ui/vue.config.js | 2 +- 187 files changed, 8938 insertions(+), 2072 deletions(-) create mode 100644 dosc/.WeDrive create mode 100644 dosc/Navbar.vue create mode 100644 dosc/license.js create mode 100644 dosc/license/.WeDrive create mode 100644 dosc/license/SysLicenseController.java create mode 100644 dosc/ruoyi-license/.WeDrive create mode 100644 dosc/ruoyi-license/CHANGES.md create mode 100644 dosc/ruoyi-license/DEPLOYMENT_CHECKLIST.md create mode 100644 dosc/ruoyi-license/INTEGRATION.md create mode 100644 dosc/ruoyi-license/LICENSE_FILTER_CONFIG.md create mode 100644 dosc/ruoyi-license/README.md create mode 100644 dosc/ruoyi-license/SUMMARY.md create mode 100644 dosc/ruoyi-license/pom.xml create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/LicenseConfig.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/SysLicense.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/LicenseInterceptor.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/SysLicenseMapper.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/ISysLicenseService.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/SysLicenseServiceImpl.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/LicenseCheckTask.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseGenerator.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseTest.java create mode 100644 dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseUtils.java create mode 100644 dosc/ruoyi-license/src/main/resources/mapper/license/.WeDrive create mode 100644 dosc/ruoyi-license/src/main/resources/mapper/license/SysLicenseMapper.xml create mode 100644 dosc/vue授权码.md create mode 100644 dosc/授权码vue版本配置手册.docx create mode 100644 ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/PkDetail.java diff --git a/dosc/.WeDrive b/dosc/.WeDrive new file mode 100644 index 0000000..32d88ae --- /dev/null +++ b/dosc/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码 \ No newline at end of file diff --git a/dosc/Navbar.vue b/dosc/Navbar.vue new file mode 100644 index 0000000..e965f72 --- /dev/null +++ b/dosc/Navbar.vue @@ -0,0 +1,258 @@ + + + + + diff --git a/dosc/license.js b/dosc/license.js new file mode 100644 index 0000000..e8ead05 --- /dev/null +++ b/dosc/license.js @@ -0,0 +1,16 @@ +import request from '@/utils/request' + +export function activeLicense(licenseCode) { + return request({ + url: '/system/license/active', + method: 'post', + params: { licenseCode } + }) +} + +export function getLicenseInfo() { + return request({ + url: '/system/license/info', + method: 'get' + }) +} diff --git a/dosc/license/.WeDrive b/dosc/license/.WeDrive new file mode 100644 index 0000000..06d2142 --- /dev/null +++ b/dosc/license/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\license \ No newline at end of file diff --git a/dosc/license/SysLicenseController.java b/dosc/license/SysLicenseController.java new file mode 100644 index 0000000..6979a5b --- /dev/null +++ b/dosc/license/SysLicenseController.java @@ -0,0 +1,127 @@ +package com.ruoyi.web.controller.system.license; + +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.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.core.page.TableDataInfo; +import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.license.domain.SysLicense; +import com.ruoyi.license.service.ISysLicenseService; +import com.ruoyi.license.util.LicenseUtils; + +/** + * 授权码Controller + * + * @author ruoyi + */ +@RestController +@RequestMapping("/system/license") +public class SysLicenseController extends BaseController +{ + @Autowired + private ISysLicenseService sysLicenseService; + + /** + * 查询授权码列表 + */ + @PreAuthorize("@ss.hasPermi('system:license:list')") + @GetMapping("/list") + public TableDataInfo list(SysLicense sysLicense) + { + startPage(); + List list = sysLicenseService.selectSysLicenseList(sysLicense); + return getDataTable(list); + } + + /** + * 新增授权码 + */ + @PreAuthorize("@ss.hasPermi('system:license:add')") + @Log(title = "授权码", businessType = BusinessType.INSERT) + @PostMapping("/add") + public AjaxResult add(SysLicense sysLicense) + { + return toAjax(sysLicenseService.insertSysLicense(sysLicense)); + } + + /** + * 修改授权码 + */ + @PreAuthorize("@ss.hasPermi('system:license:edit')") + @Log(title = "授权码", businessType = BusinessType.UPDATE) + @PostMapping("/edit") + public AjaxResult edit(SysLicense sysLicense) + { + return toAjax(sysLicenseService.updateSysLicense(sysLicense)); + } + + /** + * 删除授权码 + */ + @PreAuthorize("@ss.hasPermi('system:license:remove')") + @Log(title = "授权码", businessType = BusinessType.DELETE) + @PostMapping("/remove") + public AjaxResult remove(String ids) + { + return toAjax(sysLicenseService.deleteSysLicenseByIds(ids)); + } + + /** + * 激活授权码(无需登录) + */ + @Log(title = "激活授权码", businessType = BusinessType.UPDATE) + @PostMapping("/active") + public AjaxResult active(String licenseCode) + { + if (!LicenseUtils.validateFormat(licenseCode)) + { + return error("授权码格式不正确"); + } + int result = sysLicenseService.activeLicense(licenseCode); + if (result > 0) + { + return success("授权码激活成功"); + } + return error("授权码激活失败,请检查授权码是否正确或已过期"); + } + + /** + * 获取当前授权信息 + * license 未开启或无有效授权时返回 code=200 data=null,前端静默处理 + */ + @PreAuthorize("@ss.hasPermi('system:license:list')") + @GetMapping("/info") + public AjaxResult info() + { + SysLicense license = sysLicenseService.getActiveLicense(); + return AjaxResult.success(license); + } + + /** + * 生成授权码 + */ + @PreAuthorize("@ss.hasPermi('system:license:add')") + @GetMapping("/generate") + public AjaxResult generate(String type, String projectNo) + { + if (StringUtils.isEmpty(type) || StringUtils.isEmpty(projectNo)) + { + return error("授权类型和项目编号不能为空"); + } + String licenseCode = LicenseUtils.generateLicense(type, projectNo); + if (licenseCode == null) + { + return error("授权码生成失败"); + } + return AjaxResult.success("授权码生成成功", licenseCode); + } +} diff --git a/dosc/ruoyi-license/.WeDrive b/dosc/ruoyi-license/.WeDrive new file mode 100644 index 0000000..9c126ef --- /dev/null +++ b/dosc/ruoyi-license/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license \ No newline at end of file diff --git a/dosc/ruoyi-license/CHANGES.md b/dosc/ruoyi-license/CHANGES.md new file mode 100644 index 0000000..d6c8609 --- /dev/null +++ b/dosc/ruoyi-license/CHANGES.md @@ -0,0 +1,270 @@ +# 授权码模块集成改动说明 + +> 本文档记录引入 `ruoyi-license` 授权码模块时,对原有项目文件的所有改动(不含 `ruoyi-license` 模块本身及 `SysLicenseController`)。 + +--- + +## 1. 根模块 `pom.xml` + +**文件路径:** `wms/pom.xml` + +**改动内容:** + +1. `` 中注册 `ruoyi-license` 子模块: + +```xml + + ruoyi-admin + ruoyi-framework + ruoyi-system + ruoyi-quartz + ruoyi-generator + ruoyi-common + ruoyi-license + +``` + +2. `` 中声明 `ruoyi-license` 依赖版本: + +```xml + + + com.ruoyi + ruoyi-license + ${ruoyi.version} + +``` + +--- + +## 2. `ruoyi-admin/pom.xml` + +**文件路径:** `wms/ruoyi-admin/pom.xml` + +**改动内容:** + +引入 `ruoyi-license` 依赖,使授权拦截器和配置能被 Spring Boot 扫描加载: + +```xml + + + com.ruoyi + ruoyi-license + +``` + +--- + +## 3. `SecurityConfig.java` + +**文件路径:** `wms/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java` + +**改动内容:** + +在 Spring Security 匿名白名单中加入 `/system/license/active`,允许未登录用户调用激活授权码接口: + +```java +// 改动前 +requests.antMatchers("/login", "/register", "/captchaImage").permitAll() + +// 改动后 +requests.antMatchers("/login", "/register", "/captchaImage", "/system/license/active").permitAll() +``` + +--- + +## 4. 前端 `api/license.js`(新建) + +**文件路径:** `wms/ui/src/api/license.js` + +**改动内容:** + +新建文件,封装授权码相关接口: + +```js +import request from '@/utils/request' + +// 激活授权码(无需登录) +export function activeLicense(licenseCode) { + return request({ + url: '/system/license/active', + method: 'post', + params: { licenseCode } + }) +} + +// 查询当前授权信息(需登录) +export function getLicenseInfo() { + return request({ + url: '/system/license/info', + method: 'get' + }) +} +``` + +--- + +## 5. 登录页 `login.vue` + +**文件路径:** `wms/ui/src/views/login.vue` + +**改动内容:** + +### 5.1 模板部分 + +在登录按钮下方新增"激活授权码"按钮,以及激活弹窗: + +```html + + + 激活授权码 + + + + + + + 取 消 + 激 活 + + +``` + +### 5.2 Script 部分 + +新增 import、data 字段和方法: + +```js +// 新增 import +import { activeLicense } from "@/api/license" + +// 新增 data 字段 +licenseDialogVisible: false, +licenseCode: '', +licenseLoading: false + +// 新增方法 +openLicenseDialog() { + this.licenseCode = '' + this.licenseDialogVisible = true +}, +handleActiveLicense() { + if (!this.licenseCode.trim()) { + this.$message.warning('请输入授权码') + return + } + this.licenseLoading = true + activeLicense(this.licenseCode.trim()).then(res => { + if (res.code === 200) { + this.$message.success(res.msg || '授权码激活成功') + this.licenseDialogVisible = false + } else { + this.$message.error(res.msg || '授权码激活失败') + } + }).catch(() => { + this.$message.error('授权码激活失败') + }).finally(() => { + this.licenseLoading = false + }) +} +``` + +--- + +## 6. 顶部导航栏 `Navbar.vue` + +**文件路径:** `wms/ui/src/layout/components/Navbar.vue` + +**改动内容:** + +### 6.1 模板部分 + +在 navbar 中间插入授权到期警告条(剩余不足 30 天时显示): + +```html +
+ + 系统授权将于 {{ licenseExpireText }} 后过期,请及时联系管理员续期 +
+``` + +### 6.2 Script 部分 + +```js +// 新增 import +import { getLicenseInfo } from '@/api/license' + +// 新增 data 字段 +licenseWarning: false, +licenseExpireText: '', +licenseTimer: null + +// 新增生命周期钩子 +mounted() { + this.checkLicenseExpire() + this.licenseTimer = setInterval(() => this.checkLicenseExpire(), 60 * 1000) +}, +beforeDestroy() { + if (this.licenseTimer) clearInterval(this.licenseTimer) +}, + +// 新增方法 +checkLicenseExpire() { + getLicenseInfo().then(res => { + if (res.code === 200 && res.data && res.data.expireTime) { + const expireTime = new Date(res.data.expireTime).getTime() + const now = Date.now() + const diffMs = expireTime - now + const diffDays = Math.ceil(diffMs / (1000 * 60 * 60 * 24)) + if (diffMs > 0 && diffDays <= 30) { + this.licenseWarning = true + if (diffMs < 1000 * 60 * 60 * 24) { + const hours = Math.floor(diffMs / (1000 * 60 * 60)) + const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)) + this.licenseExpireText = hours > 0 ? `${hours} 小时 ${minutes} 分钟` : `${minutes} 分钟` + } else if (diffDays < 7) { + this.licenseExpireText = diffDays + ' 天' + } else { + this.licenseExpireText = Math.ceil(diffDays / 7) + ' 周' + } + } + } + }).catch(() => {}) +} +``` + +### 6.3 样式部分 + +```scss +.license-warning { + position: absolute; + left: 50%; + transform: translateX(-50%); + top: 0; + height: 50px; + line-height: 50px; + font-size: 13px; + color: #e6a23c; + font-weight: 500; + pointer-events: none; + i { margin-right: 4px; } +} +``` + +--- + +## 改动文件汇总 + +| 文件 | 类型 | 说明 | +|---|---|---| +| `wms/pom.xml` | 修改 | 注册模块 + 声明依赖版本 | +| `wms/ruoyi-admin/pom.xml` | 修改 | 引入 ruoyi-license 依赖 | +| `ruoyi-framework/.../SecurityConfig.java` | 修改 | 白名单加入激活授权码接口 | +| `ui/src/api/license.js` | 新建 | 封装激活和查询授权信息接口 | +| `ui/src/views/login.vue` | 修改 | 新增激活授权码按钮和弹窗 | +| `ui/src/layout/components/Navbar.vue` | 修改 | 新增授权到期倒计时警告条 | diff --git a/dosc/ruoyi-license/DEPLOYMENT_CHECKLIST.md b/dosc/ruoyi-license/DEPLOYMENT_CHECKLIST.md new file mode 100644 index 0000000..cac7b0e --- /dev/null +++ b/dosc/ruoyi-license/DEPLOYMENT_CHECKLIST.md @@ -0,0 +1,250 @@ +# 授权码模块部署检查清单 + +## 📋 部署前检查 + +### 1. 文件完整性检查 +- [ ] ruoyi-license 模块目录存在 +- [ ] pom.xml 已添加 license 模块 +- [ ] ruoyi-admin/pom.xml 已添加 license 依赖 +- [ ] SysLicenseController.java 已创建 +- [ ] license.html 和 active.html 已创建 +- [ ] login.html 和 login.js 已修改 +- [ ] sys_license.sql 脚本已准备 + +### 2. 数据库准备 +- [ ] 创建 sys_license 表 +- [ ] 插入授权管理菜单数据 +- [ ] 验证表结构正确 +- [ ] 检查菜单权限配置 + +### 3. 代码配置 +- [ ] 修改 LicenseUtils.java 中的密钥(生产环境必须) +- [ ] 确认拦截器路径配置正确 +- [ ] 确认定时任务cron表达式 +- [ ] 启动类添加 @EnableScheduling 注解 + +## 🔧 部署步骤 + +### 步骤1: 执行数据库脚本 +```bash +mysql -u root -p your_database < sql/sys_license.sql +``` +- [ ] 执行成功 +- [ ] 表创建成功 +- [ ] 菜单数据插入成功 + +### 步骤2: 修改启动类 +```java +@SpringBootApplication +@EnableScheduling // 添加此注解 +public class RuoYiApplication { + // ... +} +``` +- [ ] 注解已添加 + +### 步骤3: 编译项目 +```bash +mvn clean install +``` +- [ ] 编译成功 +- [ ] 无错误信息 +- [ ] JAR包生成 + +### 步骤4: 启动应用 +```bash +java -jar ruoyi-admin.jar +``` +- [ ] 启动成功 +- [ ] 无异常日志 +- [ ] 端口正常监听 + +### 步骤5: 生成授权码 +**方式A: 使用独立工具** +```bash +java com.ruoyi.license.util.LicenseGenerator +``` +- [ ] 工具运行成功 +- [ ] 授权码生成成功 +- [ ] 授权码已保存 + +**方式B: 使用系统界面** +- [ ] 登录系统 +- [ ] 访问授权管理 +- [ ] 点击生成授权码 +- [ ] 输入天数并生成 + +### 步骤6: 激活授权码 +- [ ] 访问登录页 +- [ ] 点击"激活授权码" +- [ ] 输入授权码 +- [ ] 激活成功 + +## ✅ 功能测试 + +### 测试1: 授权码生成 +- [ ] 系统界面生成授权码成功 +- [ ] 独立工具生成授权码成功 +- [ ] 授权码格式正确 + +### 测试2: 授权码激活 +- [ ] 登录页激活成功 +- [ ] 系统内激活成功 +- [ ] 数据库记录正确 + +### 测试3: 授权验证 +- [ ] 有效授权可正常登录 +- [ ] 无授权无法登录 +- [ ] 过期授权无法登录 + +### 测试4: 授权拦截 +- [ ] 未授权访问被拦截 +- [ ] 有效授权可正常访问 +- [ ] 静态资源不被拦截 + +### 测试5: 定时检查 +- [ ] 定时任务正常执行 +- [ ] 授权过期自动更新状态 +- [ ] 在线用户被踢出 + +### 测试6: 授权管理 +- [ ] 授权列表查询正常 +- [ ] 授权信息显示正确 +- [ ] 授权删除功能正常 + +## 🔍 问题排查 + +### 问题1: 编译失败 +**检查项:** +- [ ] Maven依赖是否正确 +- [ ] JDK版本是否匹配 +- [ ] pom.xml配置是否正确 + +**解决方案:** +```bash +mvn clean +mvn dependency:resolve +mvn install +``` + +### 问题2: 启动失败 +**检查项:** +- [ ] 数据库连接是否正常 +- [ ] 端口是否被占用 +- [ ] 配置文件是否正确 + +**解决方案:** +- 检查 application.yml 配置 +- 查看启动日志错误信息 +- 确认数据库表已创建 + +### 问题3: 无法激活授权码 +**检查项:** +- [ ] 授权码格式是否正确 +- [ ] 授权码是否已过期 +- [ ] 密钥是否一致 + +**解决方案:** +- 重新生成授权码 +- 检查 LicenseUtils 密钥配置 +- 查看后台错误日志 + +### 问题4: 授权验证不生效 +**检查项:** +- [ ] 拦截器是否注册 +- [ ] 数据库授权记录是否正确 +- [ ] 定时任务是否执行 + +**解决方案:** +- 检查 LicenseConfig 配置 +- 验证数据库 status 字段 +- 确认 @EnableScheduling 已添加 + +### 问题5: 在线用户未被踢出 +**检查项:** +- [ ] SessionDAO 是否注入 +- [ ] 定时任务是否执行 +- [ ] Shiro配置是否正确 + +**解决方案:** +- 检查 LicenseCheckTask 日志 +- 验证 SessionDAO bean +- 重启应用服务器 + +## 📊 监控指标 + +### 运行时监控 +- [ ] 授权状态正常 +- [ ] 定时任务执行正常 +- [ ] 无异常日志 +- [ ] 内存使用正常 +- [ ] CPU使用正常 + +### 业务监控 +- [ ] 授权激活次数 +- [ ] 授权过期提醒 +- [ ] 用户登录成功率 +- [ ] 授权拦截次数 + +## 🔐 安全检查 + +### 配置安全 +- [ ] 生产环境已修改默认密钥 +- [ ] 数据库密码已加密 +- [ ] 授权码传输使用HTTPS +- [ ] 敏感日志已脱敏 + +### 权限安全 +- [ ] 授权管理菜单仅管理员可见 +- [ ] 授权激活操作有日志记录 +- [ ] 授权码生成有权限控制 +- [ ] 数据库访问有权限限制 + +### 数据安全 +- [ ] 授权码加密存储 +- [ ] 定期备份授权数据 +- [ ] 授权日志完整保存 +- [ ] 敏感信息不输出到日志 + +## 📝 上线清单 + +### 上线前 +- [ ] 所有测试通过 +- [ ] 代码已提交版本库 +- [ ] 数据库脚本已准备 +- [ ] 部署文档已编写 +- [ ] 回滚方案已准备 + +### 上线中 +- [ ] 备份现有数据 +- [ ] 执行数据库脚本 +- [ ] 部署新版本代码 +- [ ] 生成初始授权码 +- [ ] 激活授权码 + +### 上线后 +- [ ] 验证功能正常 +- [ ] 检查日志无异常 +- [ ] 监控系统运行状态 +- [ ] 通知相关人员 +- [ ] 更新运维文档 + +## 📞 应急联系 + +### 技术支持 +- 开发负责人: ___________ +- 运维负责人: ___________ +- 数据库管理员: ___________ + +### 应急预案 +1. 授权失效 -> 立即激活新授权码 +2. 系统无法登录 -> 检查授权状态 +3. 数据丢失 -> 从备份恢复 +4. 性能问题 -> 调整定时任务频率 + +--- + +**检查人**: ___________ +**检查日期**: ___________ +**部署环境**: [ ] 开发 [ ] 测试 [ ] 生产 +**部署状态**: [ ] 成功 [ ] 失败 [ ] 部分成功 diff --git a/dosc/ruoyi-license/INTEGRATION.md b/dosc/ruoyi-license/INTEGRATION.md new file mode 100644 index 0000000..1b8199b --- /dev/null +++ b/dosc/ruoyi-license/INTEGRATION.md @@ -0,0 +1,231 @@ +# RuoYi 授权码模块集成指南 + +## 一、模块说明 + +本授权码模块已完成开发,包含以下文件: + +``` +ruoyi-license/ # 授权模块(独立模块) +├── src/main/java/com/ruoyi/license/ +│ ├── config/ +│ │ └── LicenseConfig.java # 拦截器配置 +│ ├── domain/ +│ │ └── SysLicense.java # 授权实体 +│ ├── interceptor/ +│ │ └── LicenseInterceptor.java # 授权拦截器 +│ ├── mapper/ +│ │ └── SysLicenseMapper.java # 数据访问接口 +│ ├── service/ +│ │ ├── ISysLicenseService.java # 服务接口 +│ │ └── impl/ +│ │ └── SysLicenseServiceImpl.java # 服务实现 +│ ├── task/ +│ │ └── LicenseCheckTask.java # 定时检查任务 +│ └── util/ +│ ├── LicenseUtils.java # 授权工具类 +│ └── LicenseGenerator.java # 授权码生成器 +├── src/main/resources/mapper/license/ +│ └── SysLicenseMapper.xml # MyBatis映射 +├── pom.xml # 模块依赖 +└── README.md # 使用说明 + +sql/ +└── sys_license.sql # 数据库脚本 + +ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/license/ +└── SysLicenseController.java # 授权控制器 + +ruoyi-admin/src/main/resources/templates/system/license/ +├── license.html # 授权列表页 +└── active.html # 激活页面 + +修改的文件: +- pom.xml # 添加license模块 +- ruoyi-admin/pom.xml # 添加license依赖 +- login.html # 添加激活入口 +- login.js # 添加激活功能 +``` + +## 二、部署步骤 + +### 1. 执行数据库脚本 + +```bash +# 在MySQL中执行 +mysql -u root -p your_database < sql/sys_license.sql +``` + +或手动执行 `sql/sys_license.sql` 中的SQL语句。 + +### 2. 启用定时任务 + +在启动类上添加 `@EnableScheduling` 注解: + +```java +@SpringBootApplication +@EnableScheduling // 添加此注解 +public class RuoYiApplication { + public static void main(String[] args) { + SpringApplication.run(RuoYiApplication.class, args); + } +} +``` + +### 3. 编译项目 + +```bash +cd d:\fortucky\project\RuoYi-master +mvn clean install +``` + +### 4. 生成授权码 + +**方式一:使用独立工具生成** +```bash +cd ruoyi-license/src/main/java +javac com/ruoyi/license/util/LicenseUtils.java +javac com/ruoyi/license/util/LicenseGenerator.java +java com.ruoyi.license.util.LicenseGenerator +``` + +**方式二:启动系统后在界面生成** +- 登录系统 +- 进入"系统管理 -> 授权管理" +- 点击"生成授权码"按钮 + +### 5. 激活授权码 + +**首次激活(登录页):** +1. 访问登录页 +2. 点击"激活授权码"链接 +3. 输入生成的授权码 +4. 提交激活 + +**系统内激活:** +1. 登录系统(需要先有有效授权) +2. 进入"系统管理 -> 授权管理" +3. 点击"激活授权码" +4. 输入新的授权码 + +## 三、功能验证 + +### 1. 验证授权拦截 + +- 未激活授权码时,访问任何页面应跳转到登录页并提示"授权已过期" +- 激活授权码后,可正常访问系统 + +### 2. 验证定时检查 + +- 修改数据库中授权码的 `expire_time` 为过去时间 +- 等待5分钟(或重启系统) +- 在线用户应被强制退出 +- 尝试登录应提示授权过期 + +### 3. 验证授权管理 + +- 访问"系统管理 -> 授权管理" +- 查看授权列表 +- 生成新授权码 +- 激活授权码 +- 删除过期授权 + +## 四、复用到其他项目 + +### 方式一:Maven依赖(推荐) + +1. 将 `ruoyi-license` 模块复制到目标项目 +2. 在父pom.xml添加模块声明 +3. 在需要的模块添加依赖 +4. 执行数据库脚本 +5. 复制Controller和前端页面 + +### 方式二:JAR包依赖 + +1. 打包license模块: +```bash +cd ruoyi-license +mvn clean package +``` + +2. 安装到本地仓库: +```bash +mvn install:install-file -Dfile=target/ruoyi-license-4.8.2.jar \ + -DgroupId=com.ruoyi -DartifactId=ruoyi-license \ + -Dversion=4.8.2 -Dpackaging=jar +``` + +3. 在目标项目添加依赖: +```xml + + com.ruoyi + ruoyi-license + 4.8.2 + +``` + +## 五、配置说明 + +### 1. 修改密钥(重要) + +生产环境必须修改默认密钥: + +```java +// LicenseUtils.java +private static final String SECRET_KEY = "YourCustomKey123"; // 改为16位自定义密钥 +``` + +### 2. 调整检查频率 + +```java +// LicenseCheckTask.java +@Scheduled(cron = "0 */5 * * * ?") // 每5分钟,可根据需要调整 +``` + +### 3. 自定义拦截路径 + +```java +// LicenseConfig.java +.excludePathPatterns( + "/login", + "/your-path/**" // 添加需要排除的路径 +) +``` + +## 六、注意事项 + +1. **首次部署**:必须先生成并激活授权码,否则无法登录 +2. **时间同步**:确保服务器时间准确,避免授权判断错误 +3. **密钥安全**:生产环境务必修改默认密钥 +4. **数据备份**:定期备份 `sys_license` 表数据 +5. **权限控制**:授权管理菜单仅授予超级管理员 + +## 七、故障排查 + +### 问题1:无法激活授权码 +- 检查授权码格式是否正确 +- 检查授权码是否已过期 +- 查看后台日志错误信息 + +### 问题2:授权有效但仍被拦截 +- 检查数据库中授权状态是否为"1" +- 检查 `expire_time` 是否大于当前时间 +- 重启应用服务器 + +### 问题3:定时任务不执行 +- 确认启动类添加了 `@EnableScheduling` +- 检查日志是否有定时任务执行记录 + +### 问题4:在线用户未被踢出 +- 检查 `SessionDAO` 是否正确注入 +- 查看定时任务是否正常执行 +- 检查Shiro配置是否正确 + +## 八、技术支持 + +如遇到问题,请提供以下信息: +1. 错误日志 +2. 数据库授权记录 +3. 系统环境信息 +4. 操作步骤 + +联系方式:参考RuoYi官方文档 diff --git a/dosc/ruoyi-license/LICENSE_FILTER_CONFIG.md b/dosc/ruoyi-license/LICENSE_FILTER_CONFIG.md new file mode 100644 index 0000000..7a3ba06 --- /dev/null +++ b/dosc/ruoyi-license/LICENSE_FILTER_CONFIG.md @@ -0,0 +1,168 @@ +# 授权码全局拦截配置说明 + +## 功能说明 + +通过自定义 Shiro Filter,实现授权码失效时,**所有接口**(包括 `anon` 匿名访问的接口)都无法访问。 + +## 实现原理 + +1. 创建 `LicenseValidateFilter` 继承 `AccessControlFilter` +2. 在 Shiro 过滤链的**最前面**添加此过滤器 +3. 所有请求都会先经过授权码验证,验证失败则拒绝访问 + +## 已完成的修改 + +### 1. 新增文件 +- `ruoyi-framework/src/main/java/com/ruoyi/framework/shiro/web/filter/license/LicenseValidateFilter.java` + +### 2. 修改文件 +- `ruoyi-framework/src/main/java/com/ruoyi/framework/config/ShiroConfig.java` + - 导入 `LicenseValidateFilter` + - 注册过滤器:`filters.put("licenseValidate", licenseValidateFilter())` + - 添加到过滤链:`filterChainDefinitionMap.put("/**", "licenseValidate,user,kickout,onlineSession,syncOnlineSession")` + +## 白名单配置 + +以下路径即使授权失效也可以访问(必要的登录和静态资源): + +```java +private static final String[] WHITE_LIST = { + "/login", // 登录页 + "/captcha/captchaImage", // 验证码 + "/css/", // 样式文件 + "/js/", // 脚本文件 + "/img/", // 图片资源 + "/fonts/", // 字体文件 + "/ajax/", // Ajax资源 + "/ruoyi/", // 若依资源 + "/favicon.ico", // 网站图标 + "/system/license/active" // 授权激活页面(必须放行) +}; +``` + +## 自定义白名单 + +如果需要添加其他路径到白名单,修改 `LicenseValidateFilter.java`: + +```java +private static final String[] WHITE_LIST = { + // ... 原有配置 + "/your-custom-path/**", // 添加你的自定义路径 +}; +``` + +## 拦截效果 + +### 授权有效时 +- 所有接口正常访问(包括 `/board/**`、`/agv/api/**` 等 anon 接口) + +### 授权失效时 +- **普通请求**:重定向到 `/login?license=expired` +- **Ajax请求**:返回 JSON `{"code":401,"msg":"授权已过期,请联系管理员激活授权码"}` +- **白名单路径**:仍可访问(用于激活授权码) + +## 测试步骤 + +### 1. 启用授权功能 +在 `application.yml` 中配置: +```yaml +license: + enabled: true +``` + +### 2. 配置项目编号 +在数据库 `sys_config` 表中添加: +```sql +INSERT INTO sys_config (config_name, config_key, config_value, config_type, create_by, create_time, remark) +VALUES ('项目编号', 'fortucky.project.no', 'FT507', 'Y', 'admin', NOW(), '用于授权码验证'); +``` + +### 3. 测试授权失效场景 + +**方式一:不激活授权码** +- 启动系统 +- 访问 `/board/**` 接口 +- 预期:被拦截,重定向到登录页 + +**方式二:授权码过期** +- 生成5分钟测试授权码并激活 +- 等待5分钟后访问 `/board/**` 接口 +- 预期:被拦截 + +### 4. 测试授权有效场景 +- 生成并激活有效授权码 +- 访问 `/board/**` 接口 +- 预期:正常访问 + +## 注意事项 + +1. **白名单必须包含授权激活页面** + - `/system/license/active` 必须在白名单中 + - 否则授权失效后无法激活新授权码 + +2. **静态资源必须放行** + - CSS、JS、图片等资源必须在白名单 + - 否则登录页面无法正常显示 + +3. **过滤器顺序很重要** + - `licenseValidate` 必须在最前面 + - 确保所有请求都先经过授权验证 + +4. **开发环境可关闭授权** + ```yaml + license: + enabled: false # 开发时可关闭 + ``` + +## 与原有拦截器的区别 + +### 原有 LicenseInterceptor(Spring MVC 拦截器) +- 在 Spring MVC 层拦截 +- 只拦截进入 Controller 的请求 +- 无法拦截 Shiro 已放行的 `anon` 接口 + +### 新增 LicenseValidateFilter(Shiro 过滤器) +- 在 Shiro 层拦截 +- 拦截所有请求(包括 `anon` 接口) +- 优先级高于 Shiro 的其他过滤器 + +## 建议 + +1. **保留两个拦截器** + - `LicenseValidateFilter`:全局拦截(包括 anon 接口) + - `LicenseInterceptor`:作为二次验证(可选) + +2. **生产环境必须启用** + ```yaml + license: + enabled: true + ``` + +3. **定期检查白名单** + - 确保白名单路径最小化 + - 避免过度放行 + +## 故障排查 + +### 问题1:所有请求都被拦截 +- 检查 `license.enabled` 是否为 `true` +- 检查是否有有效授权码 +- 查看后台日志 `[授权验证]` 相关信息 + +### 问题2:anon 接口仍可访问 +- 检查过滤器是否注册:`filters.put("licenseValidate", ...)` +- 检查过滤链配置:`"licenseValidate,user,..."` +- 确认 `licenseValidate` 在最前面 + +### 问题3:无法激活授权码 +- 检查 `/system/license/active` 是否在白名单 +- 检查白名单匹配逻辑是否正确 + +## 完成标志 + +✅ 授权失效时,`/board/**` 接口无法访问 +✅ 授权失效时,`/agv/api/**` 接口无法访问 +✅ 授权失效时,仍可访问登录页和激活页 +✅ 授权有效时,所有接口正常访问 +✅ Ajax 请求返回 JSON 错误信息 +✅ 普通请求重定向到登录页 diff --git a/dosc/ruoyi-license/README.md b/dosc/ruoyi-license/README.md new file mode 100644 index 0000000..5cfa495 --- /dev/null +++ b/dosc/ruoyi-license/README.md @@ -0,0 +1,193 @@ +# RuoYi 授权码模块 + +## 模块简介 + +ruoyi-license 是一个独立的授权码管理模块,用于控制系统的使用期限。当授权码过期后,系统将无法登录,已登录用户会被强制退出。 + +## 功能特性 + +- ✅ 授权码加密存储 +- ✅ 登录时验证授权有效性 +- ✅ 定时检查授权状态(每5分钟) +- ✅ 授权过期自动踢出在线用户 +- ✅ 系统管理界面查看/激活授权 +- ✅ 登录页面激活授权码 +- ✅ 授权码生成工具 +- ✅ 独立模块,方便其他项目复用 + +## 快速开始 + +### 1. 执行数据库脚本 + +```sql +-- 执行 sql/sys_license.sql 创建授权表和菜单 +``` + +### 2. 添加模块依赖 + +在需要使用授权功能的项目中,添加依赖: + +```xml + + com.ruoyi + ruoyi-license + 4.8.2 + +``` + +### 3. 配置包扫描 + +确保Spring能扫描到授权模块的包: + +```java +@SpringBootApplication +@ComponentScan(basePackages = {"com.ruoyi"}) +public class RuoYiApplication { + // ... +} +``` + +### 4. 生成授权码 + +访问系统管理 -> 授权管理,点击"生成授权码"按钮,输入授权天数(如365天),系统会生成加密的授权码。 + +### 5. 激活授权码 + +**方式一:登录页激活** +- 在登录页面点击"激活授权码"链接 +- 输入授权码并提交 + +**方式二:系统内激活** +- 登录系统后,进入"系统管理 -> 授权管理" +- 点击"激活授权码"按钮 +- 输入授权码并提交 + +## 核心类说明 + +### 1. 实体类 +- `SysLicense`: 授权码实体,包含授权码、开始时间、结束时间、状态等信息 + +### 2. 工具类 +- `LicenseUtils`: 授权码工具类 + - `generateLicense()`: 生成授权码 + - `encrypt()`: 加密数据 + - `decrypt()`: 解密数据 + - `validateFormat()`: 验证授权码格式 + +### 3. 服务类 +- `ISysLicenseService`: 授权服务接口 + - `activeLicense()`: 激活授权码 + - `checkLicenseValid()`: 检查授权是否有效 + - `getActiveLicense()`: 获取当前有效授权 + +### 4. 拦截器 +- `LicenseInterceptor`: 授权拦截器,在每次请求时验证授权有效性 + +### 5. 定时任务 +- `LicenseCheckTask`: 每5分钟检查授权状态,过期自动踢出在线用户 + +## 授权码格式 + +授权码采用AES加密,格式为: +``` +加密(开始时间戳|结束时间戳) +``` + +示例: +``` +原始数据: 1704067200000|1735689600000 +加密后: Xj8K9mN2pQ5rT7vW1yZ3aB4cD6eF8gH0iJ2kL4mN6oP8qR0sT2uV4wX6yZ8 +``` + +## 集成到其他项目 + +### 步骤1:复制模块 +将 `ruoyi-license` 文件夹复制到目标项目根目录 + +### 步骤2:修改pom.xml +在父pom.xml中添加: +```xml + + ruoyi-license + + + + + + com.ruoyi + ruoyi-license + ${project.version} + + + +``` + +### 步骤3:添加依赖 +在启动模块的pom.xml中添加: +```xml + + com.ruoyi + ruoyi-license + +``` + +### 步骤4:执行SQL脚本 +执行 `sql/sys_license.sql` 创建数据库表 + +### 步骤5:配置Controller +将 `SysLicenseController.java` 复制到项目的controller包中 + +### 步骤6:配置前端页面 +将 `templates/system/license/` 目录复制到项目的templates目录 + +### 步骤7:修改登录页面 +参考 `login.html` 和 `login.js` 的修改,添加授权码激活入口 + +## 自定义配置 + +### 修改密钥 +编辑 `LicenseUtils.java`: +```java +private static final String SECRET_KEY = "YourSecretKey123"; // 16位密钥 +``` + +### 修改检查频率 +编辑 `LicenseCheckTask.java`: +```java +@Scheduled(cron = "0 */10 * * * ?") // 改为每10分钟检查 +``` + +### 自定义拦截规则 +编辑 `LicenseConfig.java`,添加或排除拦截路径: +```java +.excludePathPatterns( + "/login", + "/your-custom-path/**" +) +``` + +## 注意事项 + +1. **密钥安全**:生产环境务必修改默认密钥 +2. **时间同步**:确保服务器时间准确 +3. **数据备份**:定期备份授权表数据 +4. **权限控制**:授权管理菜单仅授予管理员 +5. **测试环境**:建议先在测试环境验证功能 + +## 常见问题 + +**Q: 授权码激活失败?** +A: 检查授权码格式是否正确,是否已过期 + +**Q: 如何延长授权期限?** +A: 生成新的授权码并激活即可 + +**Q: 授权过期后如何恢复?** +A: 在登录页点击"激活授权码",输入新的授权码 + +**Q: 可以同时激活多个授权码吗?** +A: 系统只使用最新激活且未过期的授权码 + +## 技术支持 + +如有问题,请联系技术支持或查看RuoYi官方文档。 diff --git a/dosc/ruoyi-license/SUMMARY.md b/dosc/ruoyi-license/SUMMARY.md new file mode 100644 index 0000000..dc7e368 --- /dev/null +++ b/dosc/ruoyi-license/SUMMARY.md @@ -0,0 +1,239 @@ +# RuoYi 授权码模块 - 项目总结 + +## 📦 已完成的工作 + +### 1. 核心模块开发 ✅ + +**ruoyi-license 独立模块** +- ✅ Maven模块配置 (pom.xml) +- ✅ 授权实体类 (SysLicense.java) +- ✅ 数据访问层 (SysLicenseMapper.java + XML) +- ✅ 业务逻辑层 (ISysLicenseService.java + Impl) +- ✅ 授权工具类 (LicenseUtils.java) +- ✅ 授权拦截器 (LicenseInterceptor.java) +- ✅ 拦截器配置 (LicenseConfig.java) +- ✅ 定时检查任务 (LicenseCheckTask.java) +- ✅ 授权码生成器 (LicenseGenerator.java) +- ✅ 测试工具 (LicenseTest.java) + +### 2. 控制器和前端 ✅ + +**后端控制器** +- ✅ SysLicenseController.java (授权管理控制器) + - 授权列表查询 + - 授权码激活 + - 授权码生成 + - 授权信息查看 + - 授权删除 + +**前端页面** +- ✅ license.html (授权列表页) +- ✅ active.html (激活页面) +- ✅ login.html (添加激活入口) +- ✅ login.js (添加激活功能) + +### 3. 数据库脚本 ✅ + +- ✅ sys_license.sql + - 授权表结构 + - 菜单权限配置 + +### 4. 项目集成 ✅ + +- ✅ 主pom.xml (添加license模块) +- ✅ ruoyi-admin/pom.xml (添加license依赖) + +### 5. 文档编写 ✅ + +- ✅ README.md (使用说明) +- ✅ INTEGRATION.md (集成指南) + +## 🎯 功能特性 + +### 核心功能 +1. **授权码加密存储** - AES加密,安全可靠 +2. **登录验证** - 登录时自动验证授权有效性 +3. **拦截器保护** - 所有请求都经过授权验证 +4. **定时检查** - 每5分钟自动检查授权状态 +5. **自动踢出** - 授权过期自动踢出所有在线用户 +6. **管理界面** - 完整的授权管理功能 +7. **登录页激活** - 无需登录即可激活授权码 +8. **授权码生成** - 内置生成工具,支持自定义天数 + +### 技术亮点 +- 🔒 AES加密算法保护授权码 +- 🔄 Spring拦截器实现全局授权验证 +- ⏰ Spring定时任务自动检查授权 +- 🎨 完整的前后端交互界面 +- 📦 独立模块设计,方便复用 +- 🛠️ 提供测试工具和生成工具 + +## 📂 文件清单 + +``` +ruoyi-license/ +├── src/main/java/com/ruoyi/license/ +│ ├── config/ +│ │ └── LicenseConfig.java (拦截器配置) +│ ├── domain/ +│ │ └── SysLicense.java (授权实体) +│ ├── interceptor/ +│ │ └── LicenseInterceptor.java (授权拦截器) +│ ├── mapper/ +│ │ └── SysLicenseMapper.java (Mapper接口) +│ ├── service/ +│ │ ├── ISysLicenseService.java (服务接口) +│ │ └── impl/ +│ │ └── SysLicenseServiceImpl.java (服务实现) +│ ├── task/ +│ │ └── LicenseCheckTask.java (定时任务) +│ └── util/ +│ ├── LicenseUtils.java (工具类) +│ ├── LicenseGenerator.java (生成器) +│ └── LicenseTest.java (测试工具) +├── src/main/resources/mapper/license/ +│ └── SysLicenseMapper.xml (MyBatis映射) +├── pom.xml (模块配置) +├── README.md (使用说明) +└── INTEGRATION.md (集成指南) + +sql/ +└── sys_license.sql (数据库脚本) + +ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/license/ +└── SysLicenseController.java (控制器) + +ruoyi-admin/src/main/resources/templates/system/license/ +├── license.html (列表页) +└── active.html (激活页) + +修改的文件: +├── pom.xml (添加模块) +├── ruoyi-admin/pom.xml (添加依赖) +├── ruoyi-admin/src/main/resources/templates/login.html +└── ruoyi-admin/src/main/resources/static/ruoyi/login.js +``` + +## 🚀 快速开始 + +### 1. 执行数据库脚本 +```sql +source sql/sys_license.sql; +``` + +### 2. 启用定时任务 +在 RuoYiApplication.java 添加 @EnableScheduling + +### 3. 编译项目 +```bash +mvn clean install +``` + +### 4. 生成授权码 +运行 LicenseGenerator.java 或在系统界面生成 + +### 5. 激活授权码 +登录页点击"激活授权码"输入授权码 + +## 🔧 使用场景 + +### 场景1:软件交付 +- 开发完成后生成授权码 +- 交付给客户时提供授权码 +- 客户激活后可使用指定期限 + +### 场景2:试用版本 +- 生成30天试用授权码 +- 客户试用满意后购买正式授权 +- 激活正式授权码延长使用期限 + +### 场景3:订阅服务 +- 按年生成授权码 +- 到期前提醒客户续费 +- 续费后激活新授权码 + +### 场景4:多项目复用 +- 将license模块复制到其他项目 +- 修改密钥和配置 +- 快速实现授权功能 + +## ⚙️ 自定义配置 + +### 修改密钥(必须) +```java +// LicenseUtils.java +private static final String SECRET_KEY = "YourKey16Chars!!"; +``` + +### 调整检查频率 +```java +// LicenseCheckTask.java +@Scheduled(cron = "0 */10 * * * ?") // 改为10分钟 +``` + +### 自定义拦截路径 +```java +// LicenseConfig.java +.excludePathPatterns("/api/**", "/public/**") +``` + +## 📊 数据库表结构 + +```sql +sys_license (授权表) +├── license_id (授权ID - 主键) +├── license_code (授权码 - 加密存储) +├── start_time (开始时间) +├── expire_time (结束时间) +├── status (状态: 0未激活 1已激活 2已过期) +├── active_time (激活时间) +├── active_by (激活人) +├── create_by (创建者) +├── create_time (创建时间) +├── update_by (更新者) +├── update_time (更新时间) +└── remark (备注) +``` + +## 🔐 安全建议 + +1. **生产环境必须修改默认密钥** +2. **授权码通过安全渠道传递** +3. **定期备份授权表数据** +4. **限制授权管理菜单权限** +5. **监控授权激活日志** + +## 📝 后续优化建议 + +1. **硬件绑定** - 绑定服务器MAC地址或CPU序列号 +2. **在线验证** - 连接授权服务器在线验证 +3. **授权分级** - 不同授权码对应不同功能权限 +4. **自动续费** - 集成支付接口自动续费 +5. **授权统计** - 统计授权使用情况和到期提醒 + +## ✅ 测试清单 + +- [ ] 数据库表创建成功 +- [ ] 菜单权限配置正确 +- [ ] 授权码生成功能正常 +- [ ] 授权码加密解密正确 +- [ ] 登录页激活功能正常 +- [ ] 系统内激活功能正常 +- [ ] 授权拦截器生效 +- [ ] 定时任务执行正常 +- [ ] 授权过期自动踢出 +- [ ] 授权列表查询正常 + +## 📞 技术支持 + +如有问题,请查看: +1. README.md - 使用说明 +2. INTEGRATION.md - 集成指南 +3. RuoYi官方文档 + +--- + +**开发完成时间**: 2024 +**模块版本**: 1.0.0 +**适用框架**: RuoYi v4.8.2 +**技术栈**: SpringBoot + MyBatis + Shiro + Thymeleaf diff --git a/dosc/ruoyi-license/pom.xml b/dosc/ruoyi-license/pom.xml new file mode 100644 index 0000000..d287653 --- /dev/null +++ b/dosc/ruoyi-license/pom.xml @@ -0,0 +1,39 @@ + + + + ruoyi + com.ruoyi + 3.8.9 + + 4.0.0 + + ruoyi-license + + + 授权码管理模块 + + + + + + + com.ruoyi + ruoyi-common + + + + + com.ruoyi + ruoyi-system + + + + + org.springframework.boot + spring-boot-starter-web + + + + diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/.WeDrive new file mode 100644 index 0000000..c216a2c --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\config \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/LicenseConfig.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/LicenseConfig.java new file mode 100644 index 0000000..2c4a18a --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/config/LicenseConfig.java @@ -0,0 +1,61 @@ +package com.ruoyi.license.config; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.InterceptorRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import com.ruoyi.framework.config.properties.PermitAllUrlProperties; +import com.ruoyi.license.interceptor.LicenseInterceptor; + +/** + * 授权模块配置 + * + * @author ruoyi + */ +@Configuration +public class LicenseConfig implements WebMvcConfigurer +{ + @Autowired + private LicenseInterceptor licenseInterceptor; + + @Autowired + private PermitAllUrlProperties permitAllUrl; + + @Value("${license.enabled:false}") + private boolean licenseEnabled; + + private static final List BASE_EXCLUDE = Arrays.asList( + "/login", + "/logout", + "/register", + "/captchaImage", + "/system/license/active", + "/swagger-ui.html", + "/swagger-resources/**", + "/webjars/**", + "/*/api-docs", + "/druid/**", + "/*.html", + "/**/*.html", + "/**/*.css", + "/**/*.js", + "/profile/**" + ); + + @Override + public void addInterceptors(InterceptorRegistry registry) + { + if (licenseEnabled) + { + List excludeList = new ArrayList<>(BASE_EXCLUDE); + excludeList.addAll(permitAllUrl.getUrls()); + registry.addInterceptor(licenseInterceptor) + .addPathPatterns("/**") + .excludePathPatterns(excludeList); + } + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/.WeDrive new file mode 100644 index 0000000..be19c04 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\domain \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/SysLicense.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/SysLicense.java new file mode 100644 index 0000000..90dfc8d --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/domain/SysLicense.java @@ -0,0 +1,105 @@ +package com.ruoyi.license.domain; + +import com.ruoyi.common.core.domain.BaseEntity; +import java.util.Date; + +/** + * 系统授权码对象 sys_license + * + * @author ruoyi + */ +public class SysLicense extends BaseEntity +{ + private static final long serialVersionUID = 1L; + + /** 授权ID */ + private Long licenseId; + + /** 授权码 */ + private String licenseCode; + + /** 授权开始时间 */ + private Date startTime; + + /** 授权结束时间 */ + private Date expireTime; + + /** 授权状态(0未激活 1已激活 2已过期) */ + private String status; + + /** 激活时间 */ + private Date activeTime; + + /** 激活人 */ + private String activeBy; + + public Long getLicenseId() + { + return licenseId; + } + + public void setLicenseId(Long licenseId) + { + this.licenseId = licenseId; + } + + public String getLicenseCode() + { + return licenseCode; + } + + public void setLicenseCode(String licenseCode) + { + this.licenseCode = licenseCode; + } + + public Date getStartTime() + { + return startTime; + } + + public void setStartTime(Date startTime) + { + this.startTime = startTime; + } + + public Date getExpireTime() + { + return expireTime; + } + + public void setExpireTime(Date expireTime) + { + this.expireTime = expireTime; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public Date getActiveTime() + { + return activeTime; + } + + public void setActiveTime(Date activeTime) + { + this.activeTime = activeTime; + } + + public String getActiveBy() + { + return activeBy; + } + + public void setActiveBy(String activeBy) + { + this.activeBy = activeBy; + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/.WeDrive new file mode 100644 index 0000000..67e9730 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\interceptor \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/LicenseInterceptor.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/LicenseInterceptor.java new file mode 100644 index 0000000..a2cbc64 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/interceptor/LicenseInterceptor.java @@ -0,0 +1,46 @@ +package com.ruoyi.license.interceptor; + +import java.io.PrintWriter; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.HandlerInterceptor; +import com.ruoyi.license.service.ISysLicenseService; + +/** + * 授权拦截器 + * + * @author ruoyi + */ +@Component +public class LicenseInterceptor implements HandlerInterceptor +{ + @Autowired + private ISysLicenseService licenseService; + + @Value("${license.enabled:false}") + private boolean licenseEnabled; + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception + { + if (!licenseEnabled) + { + return true; + } + + if (!licenseService.checkLicenseValid()) + { + response.setStatus(HttpServletResponse.SC_OK); + response.setContentType("application/json;charset=UTF-8"); + PrintWriter writer = response.getWriter(); + writer.write("{\"code\":500,\"msg\":\"\u7cfb\u7edf\u6388\u6743\u5df2\u8fc7\u671f\uff0c\u8bf7\u8054\u7cfb\u7ba1\u7406\u5458\u6fc0\u6d3b\u6388\u6743\u7801\"}"); + writer.flush(); + return false; + } + + return true; + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/.WeDrive new file mode 100644 index 0000000..303125d --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\mapper \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/SysLicenseMapper.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/SysLicenseMapper.java new file mode 100644 index 0000000..bd29eb6 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/mapper/SysLicenseMapper.java @@ -0,0 +1,67 @@ +package com.ruoyi.license.mapper; + +import com.ruoyi.license.domain.SysLicense; +import java.util.List; + +/** + * 授权码Mapper接口 + * + * @author ruoyi + */ +public interface SysLicenseMapper +{ + /** + * 查询授权码 + * + * @param licenseId 授权码ID + * @return 授权码 + */ + public SysLicense selectSysLicenseById(Long licenseId); + + /** + * 查询授权码列表 + * + * @param sysLicense 授权码 + * @return 授权码集合 + */ + public List selectSysLicenseList(SysLicense sysLicense); + + /** + * 查询当前有效的授权码 + * + * @return 授权码 + */ + public SysLicense selectActiveLicense(); + + /** + * 新增授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + public int insertSysLicense(SysLicense sysLicense); + + /** + * 修改授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + public int updateSysLicense(SysLicense sysLicense); + + /** + * 删除授权码 + * + * @param licenseId 授权码ID + * @return 结果 + */ + public int deleteSysLicenseById(Long licenseId); + + /** + * 批量删除授权码 + * + * @param licenseIds 需要删除的数据ID + * @return 结果 + */ + public int deleteSysLicenseByIds(String[] licenseIds); +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/.WeDrive new file mode 100644 index 0000000..8e4560f --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\service \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/ISysLicenseService.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/ISysLicenseService.java new file mode 100644 index 0000000..1a9a225 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/ISysLicenseService.java @@ -0,0 +1,87 @@ +package com.ruoyi.license.service; + +import com.ruoyi.license.domain.SysLicense; +import java.util.List; + +/** + * 授权码Service接口 + * + * @author ruoyi + */ +public interface ISysLicenseService +{ + /** + * 查询授权码 + * + * @param licenseId 授权码ID + * @return 授权码 + */ + public SysLicense selectSysLicenseById(Long licenseId); + + /** + * 查询授权码列表 + * + * @param sysLicense 授权码 + * @return 授权码集合 + */ + public List selectSysLicenseList(SysLicense sysLicense); + + /** + * 新增授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + public int insertSysLicense(SysLicense sysLicense); + + /** + * 修改授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + public int updateSysLicense(SysLicense sysLicense); + + /** + * 批量删除授权码 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + public int deleteSysLicenseByIds(String ids); + + /** + * 删除授权码信息 + * + * @param licenseId 授权码ID + * @return 结果 + */ + public int deleteSysLicenseById(Long licenseId); + + /** + * 激活授权码 + * + * @param licenseCode 授权码 + * @return 结果 + */ + public int activeLicense(String licenseCode); + + /** + * 检查授权是否有效 + * + * @return true有效 false无效 + */ + public boolean checkLicenseValid(); + + /** + * 获取当前有效授权信息 + * + * @return 授权信息 + */ + public SysLicense getActiveLicense(); + + /** + * 更新过期授权码状态 + */ + public void updateExpiredLicenses(); +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/.WeDrive new file mode 100644 index 0000000..d81aedd --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\service\impl \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/SysLicenseServiceImpl.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/SysLicenseServiceImpl.java new file mode 100644 index 0000000..79f070c --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/service/impl/SysLicenseServiceImpl.java @@ -0,0 +1,266 @@ +package com.ruoyi.license.service.impl; + +import java.util.Date; +import java.util.List; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.ruoyi.common.core.text.Convert; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.license.domain.SysLicense; +import com.ruoyi.license.mapper.SysLicenseMapper; +import com.ruoyi.license.service.ISysLicenseService; +import com.ruoyi.license.util.LicenseUtils; + +/** + * 授权码Service业务层处理 + * + * @author ruoyi + */ +@Service +public class SysLicenseServiceImpl implements ISysLicenseService +{ + @Autowired + private SysLicenseMapper sysLicenseMapper; + + @Autowired + private com.ruoyi.system.mapper.SysConfigMapper sysConfigMapper; + + @org.springframework.beans.factory.annotation.Value("${license.enabled:false}") + private boolean licenseEnabled; + + /** + * 查询授权码 + * + * @param licenseId 授权码ID + * @return 授权码 + */ + @Override + public SysLicense selectSysLicenseById(Long licenseId) + { + return sysLicenseMapper.selectSysLicenseById(licenseId); + } + + /** + * 查询授权码列表 + * + * @param sysLicense 授权码 + * @return 授权码 + */ + @Override + public List selectSysLicenseList(SysLicense sysLicense) + { + return sysLicenseMapper.selectSysLicenseList(sysLicense); + } + + /** + * 新增授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + @Override + public int insertSysLicense(SysLicense sysLicense) + { + sysLicense.setCreateTime(new Date()); + return sysLicenseMapper.insertSysLicense(sysLicense); + } + + /** + * 修改授权码 + * + * @param sysLicense 授权码 + * @return 结果 + */ + @Override + public int updateSysLicense(SysLicense sysLicense) + { + sysLicense.setUpdateTime(new Date()); + return sysLicenseMapper.updateSysLicense(sysLicense); + } + + /** + * 删除授权码对象 + * + * @param ids 需要删除的数据ID + * @return 结果 + */ + @Override + public int deleteSysLicenseByIds(String ids) + { + return sysLicenseMapper.deleteSysLicenseByIds(Convert.toStrArray(ids)); + } + + /** + * 删除授权码信息 + * + * @param licenseId 授权码ID + * @return 结果 + */ + @Override + public int deleteSysLicenseById(Long licenseId) + { + return sysLicenseMapper.deleteSysLicenseById(licenseId); + } + + /** + * 激活授权码 + * + * @param licenseCode 授权码 + * @return 结果 + */ + @Override + public int activeLicense(String licenseCode) + { + if (StringUtils.isEmpty(licenseCode)) + { + return 0; + } + + // 验证授权码格式 + if (!LicenseUtils.validateFormat(licenseCode)) + { + return 0; + } + + try + { + // 从配置表获取项目编号 + String projectNo = sysConfigMapper.selectConfigByKey("fortucky.project.no"); + if (StringUtils.isEmpty(projectNo)) + { + return 0; + } + + // 解析授权码 + long expireTime = LicenseUtils.parseLicense(licenseCode, projectNo); + if (expireTime == 0) + { + return 0; + } + + Date now = new Date(); + Date startTime = now; + Date expireDate = new Date(expireTime); + + // 验证是否已过期 + if (expireDate.before(now)) + { + return 0; + } + + // 创建授权记录 + SysLicense license = new SysLicense(); + license.setLicenseCode(licenseCode); + license.setStartTime(startTime); + license.setExpireTime(expireDate); + license.setStatus("1"); + license.setActiveTime(now); + license.setCreateTime(now); + + return sysLicenseMapper.insertSysLicense(license); + } + catch (Exception e) + { + return 0; + } + } + + /** + * 检查授权是否有效 + * + * @return true有效 false无效 + */ + @Override + public boolean checkLicenseValid() + { + // 如果授权码功能未启用,直接返回true + if (!licenseEnabled) + { + return true; + } + + SysLicense license = sysLicenseMapper.selectActiveLicense(); + if (license == null) + { + System.out.println("[授权检查] 没有找到激活的授权码"); + return false; + } + + // 从配置表获取项目编号 + String projectNo = sysConfigMapper.selectConfigByKey("fortucky.project.no"); + if (StringUtils.isEmpty(projectNo)) + { + System.out.println("[授权检查] 项目编号未配置"); + return false; + } + + System.out.println("[授权检查] 授权码: " + license.getLicenseCode()); + System.out.println("[授权检查] 项目编号: " + projectNo); + + // 从授权码解析过期时间 + long expireTime = LicenseUtils.parseLicense(license.getLicenseCode(), projectNo); + if (expireTime == 0) + { + System.out.println("[授权检查] 授权码解析失败"); + return false; + } + + Date now = new Date(); + System.out.println("[授权检查] 当前时间: " + now.getTime()); + System.out.println("[授权检查] 过期时间: " + expireTime); + + if (expireTime < now.getTime()) + { + System.out.println("[授权检查] 授权已过期"); + // 更新为过期状态 + license.setStatus("2"); + sysLicenseMapper.updateSysLicense(license); + return false; + } + + + return true; + } + + /** + * 获取当前有效授权信息 + * + * @return 授权信息 + */ + @Override + public SysLicense getActiveLicense() + { + return sysLicenseMapper.selectActiveLicense(); + } + + /** + * 更新过期授权码状态 + */ + @Override + public void updateExpiredLicenses() + { + SysLicense query = new SysLicense(); + query.setStatus("1"); + List licenses = sysLicenseMapper.selectSysLicenseList(query); + + // 从配置表获取项目编号 + String projectNo = sysConfigMapper.selectConfigByKey("fortucky.project.no"); + if (StringUtils.isEmpty(projectNo)) + { + return; + } + + Date now = new Date(); + for (SysLicense license : licenses) + { + // 从授权码解析过期时间 + long expireTime = LicenseUtils.parseLicense(license.getLicenseCode(), projectNo); + if (expireTime > 0 && expireTime < now.getTime()) + { + license.setStatus("2"); + license.setUpdateTime(now); + sysLicenseMapper.updateSysLicense(license); + } + } + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/.WeDrive new file mode 100644 index 0000000..27b60e6 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\task \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/LicenseCheckTask.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/LicenseCheckTask.java new file mode 100644 index 0000000..9963c61 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/task/LicenseCheckTask.java @@ -0,0 +1,47 @@ +package com.ruoyi.license.task; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; +import com.ruoyi.common.constant.CacheConstants; +import com.ruoyi.common.core.redis.RedisCache; +import com.ruoyi.license.service.ISysLicenseService; + +/** + * 授权检查定时任务 + * + * @author ruoyi + */ +@Component +public class LicenseCheckTask +{ + @Autowired + private ISysLicenseService licenseService; + + @Autowired + private RedisCache redisCache; + + @Value("${license.enabled:false}") + private boolean licenseEnabled; + + /** + * 每5分钟检查一次授权状态 + */ + @Scheduled(cron = "0 */5 * * * ?") + public void checkLicense() + { + if (!licenseEnabled) + { + return; + } + + if (!licenseService.checkLicenseValid()) + { + // 授权无效,删除 Redis 中所有登录 token,强制踢出所有在线用户 + redisCache.deleteObject(redisCache.keys(CacheConstants.LOGIN_TOKEN_KEY + "*")); + } + + licenseService.updateExpiredLicenses(); + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/.WeDrive b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/.WeDrive new file mode 100644 index 0000000..2fb358f --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\java\com\ruoyi\license\util \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseGenerator.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseGenerator.java new file mode 100644 index 0000000..16ce407 --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseGenerator.java @@ -0,0 +1,127 @@ +package com.ruoyi.license.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Scanner; + +/** + * 授权码生成工具(独立运行) + * + * @author ruoyi + */ +public class LicenseGenerator +{ + public static void main(String[] args) + { + Scanner scanner = new Scanner(System.in); + + System.out.println("========================================"); + System.out.println(" RuoYi 授权码生成工具"); + System.out.println("========================================"); + System.out.println(); + + try + { + // 选择授权类型 + System.out.println("请选择授权类型:"); + System.out.println("1. 5分钟测试"); + System.out.println("2. 1个月授权"); + System.out.println("3. 3个月授权"); + System.out.println("4. 1年授权"); + System.out.println("5. 5年授权"); + System.out.println("6. 长期授权"); + System.out.print("请输入选项(1-6): "); + String typeChoice = scanner.nextLine().trim(); + + String type; + String typeDesc; + long expireTime; + + switch (typeChoice) + { + case "1": + type = LicenseUtils.TYPE_TEST; + typeDesc = "5分钟测试"; + expireTime = System.currentTimeMillis() + 5 * 60 * 1000L; + break; + case "2": + type = LicenseUtils.TYPE_MONTH; + typeDesc = "1个月授权"; + expireTime = System.currentTimeMillis() + 30L * 24 * 60 * 60 * 1000; + break; + case "3": + type = LicenseUtils.TYPE_THREE; + typeDesc = "3个月授权"; + expireTime = System.currentTimeMillis() + 90L * 24 * 60 * 60 * 1000; + break; + case "4": + type = LicenseUtils.TYPE_YEAR; + typeDesc = "1年授权"; + expireTime = System.currentTimeMillis() + 365L * 24 * 60 * 60 * 1000; + break; + case "5": + type = LicenseUtils.TYPE_FIVE; + typeDesc = "5年授权"; + expireTime = System.currentTimeMillis() + 5 * 365L * 24 * 60 * 60 * 1000; + break; + case "6": + type = LicenseUtils.TYPE_FOREVER; + typeDesc = "长期授权"; + expireTime = System.currentTimeMillis() + 100 * 365L * 24 * 60 * 60 * 1000; + break; + default: + System.out.println("错误:无效的选项"); + return; + } + + // 输入项目编号 + System.out.print("请输入项目编号: "); + String projectNo = scanner.nextLine().trim(); + + if (projectNo.isEmpty()) + { + System.out.println("错误:项目编号不能为空"); + return; + } + + // 生成授权码 + String licenseCode = LicenseUtils.generateLicense(type, projectNo); + + if (licenseCode == null) + { + System.out.println("错误:授权码生成失败"); + return; + } + + // 格式化日期 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date now = new Date(); + Date expire = new Date(expireTime); + + System.out.println(); + System.out.println("========================================"); + System.out.println("授权码生成成功!"); + System.out.println("========================================"); + System.out.println("授权类型: " + typeDesc); + System.out.println("项目编号: " + projectNo); + System.out.println("当前时间: " + sdf.format(now)); + System.out.println("过期时间: " + sdf.format(expire)); + System.out.println("----------------------------------------"); + System.out.println("授权码:"); + System.out.println(licenseCode); + System.out.println("========================================"); + System.out.println(); + System.out.println("请妥善保管授权码,在系统中激活后即可使用。"); + System.out.println("注意:系统配置中的项目编号必须与此处一致才能激活。"); + } + catch (Exception e) + { + System.out.println("错误:" + e.getMessage()); + e.printStackTrace(); + } + finally + { + scanner.close(); + } + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseTest.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseTest.java new file mode 100644 index 0000000..0b69a1c --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseTest.java @@ -0,0 +1,89 @@ +package com.ruoyi.license.util; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * 授权码测试工具 + * + * @author ruoyi + */ +public class LicenseTest +{ + public static void main(String[] args) + { + System.out.println("========================================"); + System.out.println(" 授权码功能测试"); + System.out.println("========================================"); + System.out.println(); + + String projectNo = "TEST001"; + + // 测试1:生成各类型授权码 + System.out.println("【测试1】生成各类型授权码"); + String testCode = LicenseUtils.generateLicense(LicenseUtils.TYPE_TEST, projectNo); + String yearCode = LicenseUtils.generateLicense(LicenseUtils.TYPE_YEAR, projectNo); + String fiveCode = LicenseUtils.generateLicense(LicenseUtils.TYPE_FIVE, projectNo); + String foreverCode = LicenseUtils.generateLicense(LicenseUtils.TYPE_FOREVER, projectNo); + + System.out.println("5分钟测试: " + testCode); + System.out.println("1年授权: " + yearCode); + System.out.println("5年授权: " + fiveCode); + System.out.println("长期授权: " + foreverCode); + System.out.println("结果: ✓ 通过"); + System.out.println(); + + // 测试2:验证授权码格式 + System.out.println("【测试2】验证授权码格式"); + boolean isValid = LicenseUtils.validateFormat(yearCode); + System.out.println("格式验证: " + (isValid ? "✓ 通过" : "✗ 失败")); + System.out.println(); + + // 测试3:解析授权码 + System.out.println("【测试3】解析授权码"); + long expireTime = LicenseUtils.parseLicense(yearCode, projectNo); + if (expireTime > 0) + { + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date expire = new Date(expireTime); + System.out.println("过期时间: " + sdf.format(expire)); + System.out.println("结果: ✓ 通过"); + } + else + { + System.out.println("结果: ✗ 失败"); + } + System.out.println(); + + // 测试4:项目编号验证 + System.out.println("【测试4】项目编号验证"); + long validResult = LicenseUtils.parseLicense(yearCode, projectNo); + long invalidResult = LicenseUtils.parseLicense(yearCode, "WRONG001"); + System.out.println("正确项目编号: " + (validResult > 0 ? "✓ 通过" : "✗ 失败")); + System.out.println("错误项目编号: " + (invalidResult == 0 ? "✓ 通过(正确拒绝)" : "✗ 失败")); + System.out.println(); + + // 测试5:授权码格式展示 + System.out.println("【测试5】授权码格式展示"); + System.out.println("授权码: " + yearCode); + String[] parts = yearCode.split("_"); + if (parts.length == 5) + { + System.out.println("前缀: " + parts[0]); + System.out.println("类型: " + parts[1] + " (" + LicenseUtils.getTypeDesc(parts[1]) + ")"); + System.out.println("项目编号: " + parts[2]); + System.out.println("加密时间: " + parts[3]); + System.out.println("校验码: " + parts[4]); + System.out.println("结果: ✓ 通过"); + } + else + { + System.out.println("结果: ✗ 失败"); + } + System.out.println(); + + System.out.println("========================================"); + System.out.println("测试完成!"); + System.out.println("========================================"); + } +} diff --git a/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseUtils.java b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseUtils.java new file mode 100644 index 0000000..ef456ae --- /dev/null +++ b/dosc/ruoyi-license/src/main/java/com/ruoyi/license/util/LicenseUtils.java @@ -0,0 +1,275 @@ +package com.ruoyi.license.util; + +import java.util.Base64; +import java.util.Date; +import javax.crypto.Cipher; +import javax.crypto.spec.SecretKeySpec; + +/** + * 授权码工具类 + * 格式: FORTUCKY_授权类型_项目编号_加密时间_校验码 + * + * @author ruoyi + */ +public class LicenseUtils +{ + // 密钥(16位) + private static final String SECRET_KEY = "RuoYiLicense2024"; + + // 授权类型 + public static final String TYPE_TEST = "TEST"; // 5分钟测试 + public static final String TYPE_MONTH = "MONTH"; // 1个月 + public static final String TYPE_THREE = "THREE"; // 3个月 + public static final String TYPE_YEAR = "YEAR"; // 1年 + public static final String TYPE_FIVE = "FIVE"; // 5年 + public static final String TYPE_FOREVER = "FOREVER"; // 长期 + + /** + * 生成授权码 + * + * @param type 授权类型 + * @param projectNo 项目编号 + * @return 授权码 + */ + public static String generateLicense(String type, String projectNo) + { + try + { + long expireTime = calculateExpireTime(type); + if (expireTime == 0) + { + return null; + } + + // 加密过期时间 + String encryptedTime = encrypt(String.valueOf(expireTime)); + if (encryptedTime == null) + { + return null; + } + + // 生成校验码(取加密时间的前8位MD5) + String checkCode = generateCheckCode(type, projectNo, encryptedTime); + + // 拼接授权码: FORTUCKY_类型_项目编号_加密时间_校验码 + return "FORTUCKY_" + type + "_" + projectNo + "_" + encryptedTime + "_" + checkCode; + } + catch (Exception e) + { + return null; + } + } + + /** + * 验证授权码格式 + * + * @param licenseCode 授权码 + * @return true有效 false无效 + */ + public static boolean validateFormat(String licenseCode) + { + if (licenseCode == null || licenseCode.trim().isEmpty()) + { + return false; + } + + String[] parts = licenseCode.split("_"); + if (parts.length != 5) + { + return false; + } + + if (!"FORTUCKY".equals(parts[0])) + { + return false; + } + + // 验证授权类型 + String type = parts[1]; + if (!TYPE_TEST.equals(type) && !TYPE_MONTH.equals(type) && !TYPE_THREE.equals(type) && + !TYPE_YEAR.equals(type) && !TYPE_FIVE.equals(type) && !TYPE_FOREVER.equals(type)) + { + return false; + } + + return true; + } + + /** + * 解析授权码 + * + * @param licenseCode 授权码 + * @param projectNo 系统项目编号 + * @return 过期时间戳,0表示解析失败 + */ + public static long parseLicense(String licenseCode, String projectNo) + { + try + { + if (!validateFormat(licenseCode)) + { + return 0; + } + + String[] parts = licenseCode.split("_"); + String type = parts[1]; + String codeProjectNo = parts[2]; + String encryptedTime = parts[3]; + String checkCode = parts[4]; + + // 验证项目编号 + if (!codeProjectNo.equals(projectNo)) + { + return 0; + } + + // 验证校验码 + String expectedCheckCode = generateCheckCode(type, codeProjectNo, encryptedTime); + if (!checkCode.equals(expectedCheckCode)) + { + return 0; + } + + // 解密时间 + String decrypted = decrypt(encryptedTime); + if (decrypted == null) + { + return 0; + } + + return Long.parseLong(decrypted); + } + catch (Exception e) + { + return 0; + } + } + + /** + * 获取授权类型描述 + * + * @param type 授权类型 + * @return 描述 + */ + public static String getTypeDesc(String type) + { + switch (type) + { + case TYPE_TEST: return "5分钟测试"; + case TYPE_MONTH: return "1个月授权"; + case TYPE_THREE: return "3个月授权"; + case TYPE_YEAR: return "1年授权"; + case TYPE_FIVE: return "5年授权"; + case TYPE_FOREVER: return "长期授权"; + default: return "未知"; + } + } + + /** + * 计算过期时间 + * + * @param type 授权类型 + * @return 过期时间戳 + */ + private static long calculateExpireTime(String type) + { + long now = System.currentTimeMillis(); + + switch (type) + { + case TYPE_TEST: + return now + 5 * 60 * 1000L; // 5分钟 + case TYPE_MONTH: + return now + 30L * 24 * 60 * 60 * 1000; // 1个月 + case TYPE_THREE: + return now + 90L * 24 * 60 * 60 * 1000; // 3个月 + case TYPE_YEAR: + return now + 365L * 24 * 60 * 60 * 1000; // 1年 + case TYPE_FIVE: + return now + 5 * 365L * 24 * 60 * 60 * 1000; // 5年 + case TYPE_FOREVER: + return now + 100 * 365L * 24 * 60 * 60 * 1000; // 100年(视为长期) + default: + return 0; + } + } + + /** + * 生成校验码 + * + * @param type 授权类型 + * @param projectNo 项目编号 + * @param encryptedTime 加密时间 + * @return 校验码 + */ + private static String generateCheckCode(String type, String projectNo, String encryptedTime) + { + try + { + String data = type + projectNo + encryptedTime; + java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5"); + byte[] hash = md.digest(data.getBytes("UTF-8")); + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < Math.min(4, hash.length); i++) + { + sb.append(String.format("%02x", hash[i])); + } + return sb.toString().toUpperCase(); + } + catch (Exception e) + { + return "00000000"; + } + } + + /** + * 加密 + * + * @param data 原始数据 + * @return 加密后的数据 + */ + private static String encrypt(String data) + { + try + { + SecretKeySpec key = new SecretKeySpec(SECRET_KEY.getBytes("UTF-8"), "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.ENCRYPT_MODE, key); + byte[] encrypted = cipher.doFinal(data.getBytes("UTF-8")); + return Base64.getEncoder().encodeToString(encrypted).replace("+", "-").replace("/", ".").replace("=", ""); + } + catch (Exception e) + { + return null; + } + } + + /** + * 解密 + * + * @param encryptedData 加密数据 + * @return 解密后的数据 + */ + private static String decrypt(String encryptedData) + { + try + { + String base64Data = encryptedData.replace("-", "+").replace(".", "/"); + int padding = (4 - base64Data.length() % 4) % 4; + for (int i = 0; i < padding; i++) + { + base64Data += "="; + } + + SecretKeySpec key = new SecretKeySpec(SECRET_KEY.getBytes("UTF-8"), "AES"); + Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); + cipher.init(Cipher.DECRYPT_MODE, key); + byte[] decrypted = cipher.doFinal(Base64.getDecoder().decode(base64Data)); + return new String(decrypted, "UTF-8"); + } + catch (Exception e) + { + return null; + } + } +} diff --git a/dosc/ruoyi-license/src/main/resources/mapper/license/.WeDrive b/dosc/ruoyi-license/src/main/resources/mapper/license/.WeDrive new file mode 100644 index 0000000..f82e862 --- /dev/null +++ b/dosc/ruoyi-license/src/main/resources/mapper/license/.WeDrive @@ -0,0 +1 @@ +C:\Users\李涛\Documents\WXWork\1688851319997782\WeDrive\福莱瑞达\软件产品中心\软件产品中心共享资料\集成授权码功能\vue版本集成\授权码\ruoyi-license\src\main\resources\mapper\license \ No newline at end of file diff --git a/dosc/ruoyi-license/src/main/resources/mapper/license/SysLicenseMapper.xml b/dosc/ruoyi-license/src/main/resources/mapper/license/SysLicenseMapper.xml new file mode 100644 index 0000000..e6603f0 --- /dev/null +++ b/dosc/ruoyi-license/src/main/resources/mapper/license/SysLicenseMapper.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + select license_id, license_code, start_time, expire_time, status, active_time, active_by, create_by, create_time, update_by, update_time, remark from sys_license + + + + + + + + + + insert into sys_license + + license_code, + start_time, + expire_time, + status, + active_time, + active_by, + create_by, + create_time, + update_by, + update_time, + remark, + + + #{licenseCode}, + #{startTime}, + #{expireTime}, + #{status}, + #{activeTime}, + #{activeBy}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + #{remark}, + + + + + update sys_license + + license_code = #{licenseCode}, + start_time = #{startTime}, + expire_time = #{expireTime}, + status = #{status}, + active_time = #{activeTime}, + active_by = #{activeBy}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + remark = #{remark}, + + where license_id = #{licenseId} + + + + delete from sys_license where license_id = #{licenseId} + + + + delete from sys_license where license_id in + + #{licenseId} + + + + diff --git a/dosc/vue授权码.md b/dosc/vue授权码.md new file mode 100644 index 0000000..d6c8609 --- /dev/null +++ b/dosc/vue授权码.md @@ -0,0 +1,270 @@ +# 授权码模块集成改动说明 + +> 本文档记录引入 `ruoyi-license` 授权码模块时,对原有项目文件的所有改动(不含 `ruoyi-license` 模块本身及 `SysLicenseController`)。 + +--- + +## 1. 根模块 `pom.xml` + +**文件路径:** `wms/pom.xml` + +**改动内容:** + +1. `` 中注册 `ruoyi-license` 子模块: + +```xml + + ruoyi-admin + ruoyi-framework + ruoyi-system + ruoyi-quartz + ruoyi-generator + ruoyi-common + ruoyi-license + +``` + +2. `` 中声明 `ruoyi-license` 依赖版本: + +```xml + + + com.ruoyi + ruoyi-license + ${ruoyi.version} + +``` + +--- + +## 2. `ruoyi-admin/pom.xml` + +**文件路径:** `wms/ruoyi-admin/pom.xml` + +**改动内容:** + +引入 `ruoyi-license` 依赖,使授权拦截器和配置能被 Spring Boot 扫描加载: + +```xml + + + com.ruoyi + ruoyi-license + +``` + +--- + +## 3. `SecurityConfig.java` + +**文件路径:** `wms/ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java` + +**改动内容:** + +在 Spring Security 匿名白名单中加入 `/system/license/active`,允许未登录用户调用激活授权码接口: + +```java +// 改动前 +requests.antMatchers("/login", "/register", "/captchaImage").permitAll() + +// 改动后 +requests.antMatchers("/login", "/register", "/captchaImage", "/system/license/active").permitAll() +``` + +--- + +## 4. 前端 `api/license.js`(新建) + +**文件路径:** `wms/ui/src/api/license.js` + +**改动内容:** + +新建文件,封装授权码相关接口: + +```js +import request from '@/utils/request' + +// 激活授权码(无需登录) +export function activeLicense(licenseCode) { + return request({ + url: '/system/license/active', + method: 'post', + params: { licenseCode } + }) +} + +// 查询当前授权信息(需登录) +export function getLicenseInfo() { + return request({ + url: '/system/license/info', + method: 'get' + }) +} +``` + +--- + +## 5. 登录页 `login.vue` + +**文件路径:** `wms/ui/src/views/login.vue` + +**改动内容:** + +### 5.1 模板部分 + +在登录按钮下方新增"激活授权码"按钮,以及激活弹窗: + +```html + + + 激活授权码 + + + + + + + 取 消 + 激 活 + + +``` + +### 5.2 Script 部分 + +新增 import、data 字段和方法: + +```js +// 新增 import +import { activeLicense } from "@/api/license" + +// 新增 data 字段 +licenseDialogVisible: false, +licenseCode: '', +licenseLoading: false + +// 新增方法 +openLicenseDialog() { + this.licenseCode = '' + this.licenseDialogVisible = true +}, +handleActiveLicense() { + if (!this.licenseCode.trim()) { + this.$message.warning('请输入授权码') + return + } + this.licenseLoading = true + activeLicense(this.licenseCode.trim()).then(res => { + if (res.code === 200) { + this.$message.success(res.msg || '授权码激活成功') + this.licenseDialogVisible = false + } else { + this.$message.error(res.msg || '授权码激活失败') + } + }).catch(() => { + this.$message.error('授权码激活失败') + }).finally(() => { + this.licenseLoading = false + }) +} +``` + +--- + +## 6. 顶部导航栏 `Navbar.vue` + +**文件路径:** `wms/ui/src/layout/components/Navbar.vue` + +**改动内容:** + +### 6.1 模板部分 + +在 navbar 中间插入授权到期警告条(剩余不足 30 天时显示): + +```html +
+ + 系统授权将于 {{ licenseExpireText }} 后过期,请及时联系管理员续期 +
+``` + +### 6.2 Script 部分 + +```js +// 新增 import +import { getLicenseInfo } from '@/api/license' + +// 新增 data 字段 +licenseWarning: false, +licenseExpireText: '', +licenseTimer: null + +// 新增生命周期钩子 +mounted() { + this.checkLicenseExpire() + this.licenseTimer = setInterval(() => this.checkLicenseExpire(), 60 * 1000) +}, +beforeDestroy() { + if (this.licenseTimer) clearInterval(this.licenseTimer) +}, + +// 新增方法 +checkLicenseExpire() { + getLicenseInfo().then(res => { + if (res.code === 200 && res.data && res.data.expireTime) { + const expireTime = new Date(res.data.expireTime).getTime() + const now = Date.now() + const diffMs = expireTime - now + const diffDays = Math.ceil(diffMs / (1000 * 60 * 60 * 24)) + if (diffMs > 0 && diffDays <= 30) { + this.licenseWarning = true + if (diffMs < 1000 * 60 * 60 * 24) { + const hours = Math.floor(diffMs / (1000 * 60 * 60)) + const minutes = Math.floor((diffMs % (1000 * 60 * 60)) / (1000 * 60)) + this.licenseExpireText = hours > 0 ? `${hours} 小时 ${minutes} 分钟` : `${minutes} 分钟` + } else if (diffDays < 7) { + this.licenseExpireText = diffDays + ' 天' + } else { + this.licenseExpireText = Math.ceil(diffDays / 7) + ' 周' + } + } + } + }).catch(() => {}) +} +``` + +### 6.3 样式部分 + +```scss +.license-warning { + position: absolute; + left: 50%; + transform: translateX(-50%); + top: 0; + height: 50px; + line-height: 50px; + font-size: 13px; + color: #e6a23c; + font-weight: 500; + pointer-events: none; + i { margin-right: 4px; } +} +``` + +--- + +## 改动文件汇总 + +| 文件 | 类型 | 说明 | +|---|---|---| +| `wms/pom.xml` | 修改 | 注册模块 + 声明依赖版本 | +| `wms/ruoyi-admin/pom.xml` | 修改 | 引入 ruoyi-license 依赖 | +| `ruoyi-framework/.../SecurityConfig.java` | 修改 | 白名单加入激活授权码接口 | +| `ui/src/api/license.js` | 新建 | 封装激活和查询授权信息接口 | +| `ui/src/views/login.vue` | 修改 | 新增激活授权码按钮和弹窗 | +| `ui/src/layout/components/Navbar.vue` | 修改 | 新增授权到期倒计时警告条 | diff --git a/dosc/授权码vue版本配置手册.docx b/dosc/授权码vue版本配置手册.docx new file mode 100644 index 0000000000000000000000000000000000000000..e6458c67dc6e6d6f127cd0d6ac9845ee40b947ff GIT binary patch literal 1004339 zcma%iWmp_rvo7w=;O;QE1r2V4ySux)1b26L_uvk}oj`Dcy9c*Gxa{wq@0@S%dw$%0 zo}TVmUEQ-*Rdv-{?^>fM0||uy_SY6Jzbo|D@!uQ#$BC(fiK4TEqYJa*hZx|a0q$R7 zQTZtHdf;GS&JbW=X#Xi@Zsk3*x2oIEm9FJ#811_PNs9@=@fqf#DnH*Po-nPCM+ zsc^?6Su|b3F@!3qEr>w@CwKRE-l{pr@_Y6pJ=>tubC~V79!A|2D`cYVM64#DhcbbIDv9>qMS0u`{exq{e_5X-ynsh^(c z%<^|v+DP`0_H6s44J4mVN+YiJJ0eDkYof5N!ip*B8=ctXFmxH<@Tt+aPGO$L;XE$t zSX2H~wb`F={oNG8Nsk*sAEq$)Fa`R5n!?1v+3YV{#3m^z43Yvux8zEk8p)_)ix+XSho2yUv%;oqY4c0Ja!#9(^>E>isc*XZJZ*M!V9BY&P`}L z0GqXE_G|z=-&^+OstZMY94$v?zDpZbSTgdjEd|_jw$mmw7Z0dfp7j*s@-;vY>tPV` zMw~4HF9+xBzwYejI)GV(05k)Sl6>NP3~i~&@e`G0rEZO~!AYURU;viC9J5NEexCIM zA1(R|a=6tl9;v4|Mn0R#IHA!z&MYQ3oOPB=hU1d?M;TzFDhyUQ)&6e72+*V(o{d95 zTn~V5IAxOG~8NIHtm9%D(LlQf%#kNJSGF%KzNXU-Z}arXMiCYf)kf+;4dvzCWDgzdyD2 zPTjOcSP+9zu9^|bzNzJvrzeB3YdohKMKf=pdUd6+ng|7|4k*n}eG-YG*yOdC4#_c| zf9~%eAFtON?k_N_I%^3N4v{OeB}eP#JJaDHqFF<=`KIfl7}BpfC$)mx z^y^WVt=w@bQ&(#%i1OvPtEWM|II!sk>5;0o#KO*X@!ww+5;6;s>YjtJl=4pEPnFb2 zsud2u*UH{Z=@>LJpzXpdV}lukYkK4-%RXIAOTW)QBU@A$Hzw6_H-FGFF6(N zIiEg{--17+vF;1^UPC*k(U@DM#%Nxj0FVp|u)FYnRmkhf9Q=zv=Rl}Nsim)oq1y}D zvq}cW@?FCPKgT$F7FRg}xsfNK<#;+U#H!qXeo1moIE8_Jrn$mv^f#KFjy}G&Xbw_1 zHxY`{C&JzI9kioCGNv%mS6;$hQJSHGA#Bi?fe(f~)b=F@A$U6JOX7pxVV?4X3*~JSE$lLBX|VSL5!5pFe+LEWEn*a{Imj64hCVK z6lAhr^y{CJd|!XgiA?Y(@;o~Kkp}yY0mk(iNDi^_x*IjZ3}`>N=(FZ<&+1u>xU_eJ znQHFf1BV&+uH%!-)AdAbU;x~mb!l%0<9gl=|F zDSUn7)DO@a#mIN`m4{rSbQM;UP;zJr=NLtf762SSR#frnZ&EL95TmT4@sQGD^K&~) z^W=tL=!Sa6;Oxcm7k?{@p_fCvOQ=eYI0v;>_fuJR+#QD+g`RxESV=a-BJ z2olu2@dmwZY*G7J;qFnaYD^l9<@fC5lX5wAn$(TgMDBWW@z=zfyaF#KP%45EjmL*z zhpA$lxYI*JUiclu}gaghEv4l6*pz zQ$vVFKqYO!KLzfD+;(<+z-D&b_+y8#nYAjGW(luKWrtF!)INq{uab6UuUq>p>@#a= zftbs%6?hAR$LwUg>5ry$GpNM*cx@>kPbvW|U_TgvUbJLz zvbKD}n*lD8$zT$FR`|G?@#zDKnp`H8GxwEqppL@uX7mB@(YzWwK6hq%jg!82$-m^9 z#+xx0i}2UOtqS53B&s<2a$Udr{PXG`z*rXV`@s?55GKYJBX6*AcN0xjpY2KWH}jV` zhfWO5-$obr-_N-|8m67U=K*S8O|B9f-Hmkay^v-4Kl^&=tys6=ZR1g*;RkQK|N@+5*_3Wg40{sFC@bk4bK@S z_zCwl)JmhffuR-bB8n?*7&}+sdc@gih+y)7VN;Xb;(7#wCz>m5Osl&=Y-Tr>(izi% zAyN(tKldkw14FtT0e)Spr%9yk%`95WFafCf{hPSomgvLR2f}{b31h_BI!}}O|F37l zOLRBrezLRVXkq;L*=&9eF}rICjE-oon~s`dPZKR$@HH$4hG<4!zunk_fe5a&$^YsR zl{2;jLt@iMCq704+Na*s#E9`U>9Ad!wY1jx==3Kq%ZRnVI*#M8-;5)9J<_-W(M-Ro ziLK-M@-fO#^p9cu*WEJv|1spGF}dyrO56`+tTq?UE&S&w_n9`wv_j){W6c_%E&rvv zhu}0 zp@1?<^{4VL+71Q9<+T08civ5J)+%1NgZ1V=z5Md@h2i_WjIL$^9@Kv=W_dPoxHqZ! zzD*W8FA<%`)Uz&;r`UXk)Eu`w!|{i{59|ohU;!gs(a(h;ct2}e-0E9=f4Sk)@Xq&j zSzR;hw-6gi3y8 z@aoZN)%3x@Vm8=$7=xzp6hzM&_RJ;xYUS!#9}(NnI8b(_Nh|GxPD=KD^V?F+xu#0( zAlJP5B+}}47^$CLs^*ZdF2lvgftl-LW(coW)F`*zJyRD~si`aI2KxtXqmmLTZN1?! z!OI$V`SnwTYLHvdU~yIiDqj{P?D^H-)BRoq|Bl-4n4l)1p}@e}KOo&-Mbf_zpNpBR ztChXQzW`l}`cM0x+-QCVhVT8eT@;f}KWfp+rFPpvJI%tW=K?AVE4yJhfh9G(27RK+ z%`tNL0LD`s6&Iet4x*FuL9TvDo!Kxt9)-qY5E}$YZFt{2k6(ac)SrsNB(erh1LJTU zMfPUr^}FCq=XyYkrMUzgnHDV2d zRAwF>F_Zc1tSr7KZ7Icd++eU*V{bk$c~I;OK5T&`h*dnNf1bP6Dqu87M0 zxLaC#FO-TplK!h=ek!AOtr~qb0V%C$3}e4))An1|jxycvfv=~q7y89Xon)ev3GMKJ zb+DOakWh`GoVGoQl$Pe=kYkgTs?850L_uryH{>-oY0o*ds3Oa(+?)rgDUO_T`xNu< z8F)L<{g3!uzBr%BUBAYE-D=8%an;6@qorO8?;AkVzK%F~(AsO?XiHjKa!~tqgtMWx zx!q$_dAA2#$Z;g617skCPv(Y(S~rAV-l108Uc>^I6R{E)bunH{xmoW+_sHsPpM$BV zmMP%6@9*1SR;wyj*S;^r#AgQmZxp-4I*yxWVa+Vw7PX-tz2E8rn199^7YW zT?VX2O#if8hPt>HO4pBj0bqxhy62>bE6i=MnQ~dMN-^F= z@-N1Rl6l=@O>EDI63Fvl zTw-bt{&@OWf-?%A0FT@Ycb^ur#RKK{&V#N+e9*2g0w+sRcRj~0m7%YyQvR^4D=lgq zx?N}ipE(VruR$2NxX3`bI_`-zWaTB0zK4jaaCS2&7kuS?OJ`C z^OP6PfC)9-`c<1d{89mAprSB;TA&F=Q9wJvY2gTEX(lAUVN5IDqr^^D)+EBMVHVAw@#lq+4YA`D zE)UoP`7b{6@ON^%DyyIdlS4A`4l($d2BZZp_mGCsuC5Snr_ZDmGf)JR+f49l5uT!K zq@v++h=re%g!Rn@Aj!7mZBguD?Iis4J+2#~L#l)pOkTlMXks*GRg0#|odejcVSP!) z7c5NuM9=vRf;ax%cFR1hZMnTrt@r7nVf50Y#q5{kZf#~ysYDM-+j<^f%;^5c zuNgg#X;fCg&?&}!A&BxXTmYZd%c>@_?0ndH!KPyslyeTxdU>oc0c`yvbFD9I3p>g$kP7Hi`*l z$M{+HmDxb(IeB7MjSVn!k&FW4HXx}6%RY-Rb7)pq<)DY{vJVg|`ZeotIcLyp`VXp` z%JsrD!2!1C$qicks3)bJxi&=<;$e#=r!7MBN%=L1r9|ZmCb$~CQfVPKAtt!RyEl}p zGP9$GT0PccAF1=V%x+QBHHA5-OM;nW%?NpA(+WhDn#%JZl({gI+K!87Q4emz>~W(2 z2=L`FN5S@DLM6Mk$QHA6Z_=eGUMW(zlaTeS)LQt!H;!9&F=|yK4Jx(~E zGJGqfUB)P(H-Cr%fwO+qS(e-KrWqw>Qs+)*|K7_8Mlhk8%9q~gQM=U{zwapr1tt|#j!I&=UrsfD@4OwP|7hnbjo!q0oW%HPQsM)cLx z8@;p|`7ycd>h)3;a&@Ot%p%$LITM3FR|6e1RRwq-PiQ0|iX*4%Y`kP4u!%V#wrVDb zMtmvKi_J%!(Wg6GK`g_JX`Bt&gSBaP+8toY=JM0@Uc%2%+1RCD^@+SbiycJd^35Rs zPJ^{+VR1q)){ITuRPXYzC)?yEN9YjVHC7PILoNWL8s^%>44^i;=GJ+Z-3P% z;A#^V52tOfeh{QgXIUyDhjbl}DKK!>3E!}u0#O{EQ!j_5{2EgBw5TdhQp8!`ol(eVjxIpT%8>6>H1a@@0y{^7#uadVY#YjPz?bQ)H5 z|4m|y$gC^;uGyAt_GFGOij(T(F1(Qh~;B+Mk;d_#}QN2bj+G*qX zJDQ1~D8~@Kp`+k=g93SM_|H;YjV$v?D&sICbu<%8XEEQ-zI*g_(nbow6i%D;PzAll z*)d^U0lxE&S;pVh7`o(2SX3C@#GsniOa4ML`>gv*h_}&t0T#NQdtfJdS@5`uqUvgj z*=?MAs7D`s>yuWxCYrwx-W4+jVg-~;8P}-3z5cIuWMTxZV0vmEL~~~caZI#y$~(DE zyGNAo*N1tFON2iSnu)>*BIhw!89b(g6v-y#V!L4RQqZF_iR4=ikKrAOJbsSB_Ir#) z)r&w!knYJwxBF5P`cXz$!zsgAppT6OSmxuNeih^2ph;oWT1n*w9|%O+MldbdM2Ibk z48O8Rbtw(Gi)$-~^t>S^bD}LK6*etY2Hf&1O8gX}(aD~dXxs~g86AEv9k}mTMwV>M z9Zi4#vzx=wexu`m)_<9=@L;;(>KklZxOjLpX;=z1i|TsJoq_!u22w!}S ztOOGj0uklh;rUx5;fRPf^b*f#v?Tn~U#KA^EQdPo9 z9(YMM2)9LE2=g zua?~7?EZx5aUAM!_o$)+av}rsGPHn;totm?C7aVKf=9pOcUGb+pml>j^D?%w#|UK? z3BuKBsWdw(u7XAKKrA!Tu76JC38b;5*RWHmG z=E<^1xAIT~o3%kIYP1pNj0q;NlAP~9>DHsn+Aok0+c0cd#G|hbm3P$D?~gC*Ylim1 zp9(JqQJuPOuP>Q@%kN57HKAY%N{5G$oD}})-IJ_T%6H(fZnD_t?kS;pNz%5R;#ycW zI#G-KqZrkyiG#4*YIJhkrty8CTH#y1An?@#>#7yrwLzCQ+N5@;O;8ld8}FgeAovv) z*|?4Gb+uqBU*X9HGx%tI=jiL#*gkiLh30MX5~M|TBzvPN&nD$SnZ$3F9+{S5UO!kG z2DdaS<7F%SI0K+9g|Wb=M7>Dknb5QQR2z^mi)h!+tyc*(cY`R#dDH zi-Gc(6;LM}yNbny+ot_;%=Y+?N=^myGa~3?Vpr>wuXKd#DK@|O!jZ4)& zcp?@gKa#KhEKujH4L#T!<_mOTro?PWg8^nF1!K+(s$5cy8{KwWog{b%(McTQbCWX1 z5&YrdDIkNbb$H^I17$cGbyYo>N^C>E)yhDE_~nL@Ys2+F!sSfdrGh0dc& zV{El7!922+R)OyTnnAg{*G(~DudILahB?RQYc!`buZ(5Ow$6<+qSO$i<p$V3Ry+t+I z3YsG0sgc>EcI3V4uVWD7rsPas_)%(Iayz(0-z29dM_bKWILJ!5HroZ}m;UGX2NTnq z2;XmY5N2{a|0E(;Skkl|rpqJ=(0N>CJ2x@DdLjM#ZS!Ywo;S-FH0A3{TG?Y)FG`P` z1aHK-)i;#(z?A;sO)>`0UYKGlS!`X-pHM+9gJ3Nkw4NvpTQ>ceG<$5uUm7#sUcaxRTwHkbG-G$07lR=w#WOpcLD0 z&gwJ4XoYEgQpG6a!N!?!96(0mcO(IY7Sw+!nbYOJ*ayQdU}Z;8>_+NRw}G z3^02+j#)EPF72A2C_^hFyLc5>U-ll%&6gVk;E}xIfxdo?8IfUu4sWD%3GTI`6{|KB zH*QPJ2UT8)2Z=t`lwr1v#|?jh*3tL&@OUYS42MLD2KH@IfhwXz4LV3x=44lgFw9k~ z%&Q~1p9$Nto;3uNly!^(qj;r{gf2TUYV-u<%wbkR58}AkZT+K`B(#&9sQJt1mUN?c zIY_gy5-?O2gMuT5+R45x&8hqemADvq&)1yfg4U?FSsxXU7}3m$Yeae@bgX1OE7 zpqbu`Bb|AGAE*GgTNFo#htFDESR5Yw_3QW9E|O-qnBIyCl22<5QJBOJg}pCpelg&J zqI!1+s;pHpW=odjF#g<4)-2|DM5XXd;i{44XyVOxv2J$!!L$NX&qC@rl9=AmFkraD zq%mk;hV2dFyCh1*7u;gs?5!xz33oz27b!S@Qmm0cue8fvA`v2JVNzNZi1&b}{Uyl+ zj?5XeOQAR5x?`8l0)Bh$68T%O?fvr0=hs&RcO}tcSPmp;6@vS`XO7PcUc-lKT;FqEOccJNes z6ap|XQZSI1u&QUyxt~{no_OkG<+4qZyvIXH+j4FRA2=2nC1rxWJB05HEnBcOn6S8( zD*(%4<-kP<8#dJmQg}fa8b_7z6#!)_12IHOy9ai{&;u)i(MZ$N?a?b}pIds_!%R>p zy8DcL`@-0gQ+qn{vRLUnkLt|@2FC3Ow;dqJ4F+`tc0%!XIVq*}Cz|PXpHOTOT-a}0 zdmMW}@Hhujte`4Ry7AkOVtX{wDiI{;O&S;wSd2Y|TZXx~ud7sy(%mpCVK}dT4Vz;czo#MKX7V`r{JEvxVwVyBkBN zr7fC5g98S?Dg^k#79&scZ}6YvqeTnktK|0bHibbbqDgkV1XGwK~TehopuaZ zY*px#1~dlg`)ikHCcs+1h(LQi|a=iBiRus~cHv&eg&UC>DL_2$YZMT@lUA=rsX6M0D25iaC_+CoY9GVgHIh%xRKFBKup9LzF%w(^ zjjO&9OaO;U6BidCIw8X+5F<++uOZ4R!K9(#)Zla?845vVv?Y{L-FHgiC=u*84p>g| zvROsRMZ^AVS;lbRnjm_Uys=mpKf&Jh!R^eTAR&nq3Z*1)1*k+h3M&)=%VHkTLy*t# zQTTh{^McKb#UMiQolqM_hS1?5fX{9KsTqRQqP3GWG>-HdDn$Z73S*Byga>y?B&DyK zOAK@ECl{zJqbn_jLTa3wIuw~-)=1W3dKACXm6D`UMI0r3%Qf=UKvj@R4Aws;l6LE86c{ZX7TrW(bhKuRW%}0zfIuL`dxidi*O|&di z;*64*`rYE03G=yms=9LO=Ng`kU1up7FX3SM;!!@EaAzg{!y{mVcLHGM#*fq=3lQtIsG-P&2;EUA2j9tXLAhPvJCHOCKj}EjL8&H8BQQh^u3{#l z$B+aa5xUCiDyK_bIME-skr_Oh;#cS>g6t&F&^A#|6^@eZr_5$;D>G~`&dSmAv-N9AdBTF12a?Yecoi3nJOYjuAv^%GPO223 zG9|TiG2}%fkHW*LZ+ujl?syILFTT)Vv!J~-96)yeF&qubcIKzbSd~7qTeXqqo6nn+^unUzAJIS6o)m{D0Z1GwpPJ3~YmNy5yOyn?E9oh+?e zG91d%SAz_n&cghlFX1fon1i{~RmE1hG0yoBh;?xH&rlLvq6T|l(yJul|96iQuFbAkB#PrG7`uj z+cVP}rJoTaF0V)^V03k7yUOa)zV@&V%sRo=lGdQ#)rZzUG5?a{BZO1a+Jt}`@vVk{ zYAljG5W!kp=M8*99vcPJMggSVjKJESQc)6af;orYxl?5-3zGIyp(LxW-HZqjF@u|i zWlcg4jaP(sehH7*-hsos%+Io@3qtWYAZfu%Re07I#S0ZfNPy#ukvkYPt_usNRvK3UyPNyDa0 zSi%|&HgS@Y&a?yXosaY@{AxU(P}-EqNjd>fuA^*U`f`?FD4umq^xFuIvJy3Q=1ve8 zAUKgg*N_{5wKN)%bHJ-F@ym+XA&M_mf4P?YgwsLqzLF?MQ`I(i-M&?Ut5UJZZd7>3 zFD*Ke;%{@ZqK64CFJ>fIZPFc+&BA1C;kM;);V@uwa4EfvnBLq9CGjX1G&B;6KW)Z{ z_%R_mL@|m};Scb{*dgWK1b9tiID3@$=QaUx059?iPv;$-IQlu%)K$y96zTP4Y!QT+ zCta$8oFCE-t_AHW6DbUgR;v?^oA3XTTK+51z|y+9J2TX?=$;}AunCtg`3qxPbwsX6 za~v;!1xUWLz?h6I#*{g{A2fHH zk#nvz0$h3#m}G2<`^sWHhq(iPlCnwhl?8F{FvqB) zQyQhDY+BNiRbU3wb?eqBGdy!%EGm5}%{d`x;E#gE&%F#h8}R1rz_IU zB&IYXE#(W78|v8I6q810^(rDzwuF_Br;);(uZ=3{7)+0O?o(v0(J!#rPHewcipE7r z^&AuTPq08xSVn}$iTY(B=H}td;G(M~PLxlCr0W%YY7^s!)1)!cuGk4BIAKpHX-Xd- z9m40zPvtVSXp6SkgmwpqH;&uj5r7eYcCJJU0T{dfR`3CqD6guNkf*-L9>HA_5QNbMM z=t4Xjm-4M$$>SXTvtS?Q6CO@I4xg}Xc9N$0SUXDwZQ)y&&acR8G0u?QqU z2SBObtNd$UiTR7ouA~x<*rmW2J*u{xl?)a-6J<6$YiTLaQ}#DgWu8 z{^%e7p%tv^5_zatOZc5jO*I}!c00fPxB*q*n1ippW5$NegE}(rsYqjIQDX`<4hu^b zMG>#8LMX@^jjD@|nKEr)7%`&^f)|r3Rgwy9XP@hjE=mLsio? zMdXes4k)ysd0mm0T> z%uuL#pdWE|1O^m!jR9zFo?IcAl_;AJ8OTZD3yx`FhXUu5*dcD7$JUdpKy0^GnKeNa z%mMQf1)_<$QZ?y~tC3TX5LH090y=`_9?OG4rpUmbcVN8Xao_^0sH zQMRdl5cFa=YB`4-RMb{T;f+y`=y+Da7^14X@S9{34<3+RF_Ykl#ho`z-$EO4u1L#u z6LSa9Lm_a)Zn#R6$h)aT`cv3cofOhaT{%-y?1(v(SmhGTIEd1PbxnvoaqLnE-&AFhq?Fbp3#caR=!cg81g_mW)FDY{8>2*J!mI<*BGHw<}?9bGgT1hWlDH;hIf z(VG*58^+mN;i8y)C|}ZGTT+nxuye`h=p@&kV%+O&0J+kSx<>WL-zgXM(*+`&gg7;D z$Sz)25f{O;Nq>Pq!YhuN0ky{+RZmzx7vtYOViapE#nd#aFzJV00YR@5e1m}gi)Z`F zy_{lN<>KHyaa!ZW>LC)&0iIhx{oR7%&!L2r!^i}Gg-ncpyvAW|xTO>_)mcFLa`m)$ zCi+U+@f1^ceG6tX!32^O{;zMby|I&A_L{8?{wnVYZf_5xE4#aRSc6-7tlgc>rm9M1 z4D7C7P9~3*k8Y}8VE=S_o!w@))e#Y{>o9hm!1fRXENSpChg%U-UuG=L+Vp0{+{tWO zhYD!gy8}Usm|v!F5*S1tjdx9&L+GcNSbh#vU3E67)COwn$2HYArp#d7CAl?Y*J=*{ z5{H;fx#yH{m9=kR-V)P0w19N!#%TA&$Ar#y^3^kwo7&&Gy9k@e+Gp*xVNC1CN86F% zPYn%cM)peGFBOjo`YL{5?q}SYIa9u(P^QMo6RU|qqs7wNp;c3X9tOgzfKjUjkE~ie z%xmGW4a>aodF%~~8{FvpAXVO+-)F5 z@23!!bSz>~2q%;(k^ooEEHUDtR}AVRlo!C z=J3x+?r99D0K-)P3V~w_pK?ve2qZ-e5}`?Xm_qP1yy|aqy*02XiVDuc9w238SsBEG__4`*4T&rqWkpAb0=PyI^uff07=l3`MYzyUESERd#rsEa z5)Dg=N;+Kv?V;dRKjr$thHx_1>9uSx22Ml%)=u$@Q5qJ1=dizHRig-x6JmCJkY;0)Hqp|_>TX^$ErzyM>hnerO#HBn17+C@k04d$2I>KqJYn!d9X8$YGqFUk#0Y<;p19Jy)SlZ-vTB=Kx{pJsdeNP5Pa zufnBw!H(`gk40wQQB^o?M74x1LZW!OBa4?GQ8EuemT^3c2Bndb4B%B*W7Io{>K@oQ zd?}CZV#!nurWb7My*)DyCQmm2{W%f{?<}MPv8xiX;P}nT^}`BNie%3;X^P2+UK-)0 z9-J_oMRjjVkkDh|?%5l;gkPhq&>579lXb|@=n07gA~k-(1%sF_U7f=>a%)l$LQr!4 zM&874_IjP7yFaR0XmV<_rRJAz{?nbWJM=xxIACM1Y z>$*$KMV`^}YrCKMPICJI2sI z@xkXZ{hPa?xjp?4?j{hG`~b_XWvQmIw41>cqBO{WBQC!oW}!v!0b?PHFXZgD2Ew?4 zEVAwyd)V3&OG?T=rlLlBelAzv_*5echNmG}O>v(j>|EyC{+Q2B1H^nI0x+AsOoSAE zRX;9h@!`Pm3L@M>1Cg&X@-cvBrz?3lROo-W8(|Hzks?;rQ2MWKIjDi2>hvC$Ap9Lt zMYsgh5Bla6$|gzrm*BQiNTHrVQr_1YmbC(+S63OnyV{W->2=(g9lz!@4aj zp369P@e2S$Dwm}8I2Sh-%Ug_LN5lh+U07_A$25O*z5j^S1{n82-?*F(8Ax|wyR8sy zd$oKc>Q7uQ%=Dxj=cqbOswm_=XX4S!po-XlxH!`3(-Z22ipX!6LJk<>?t}kt{^q|i z|E$#n@2S!>34D2%AroAZ2)Njz5Ro8PMWvDlt}o&@R4mr$ywEp}LI8Z3aaLP|lEk8+ zAvFS}pKf!SzPaA)$NV(|40-vKYJrG6bVxD0xSYCC%;d4-E(-j30S-nkNfkhkuY*qu zDg`_e4L=ID!d;U4%o}g0qlA27B+>9l>1w;kJy$)aBw@b22mHAbeX8@Da6Ryr!Tf)y z-ha7QcT0tJRTW=htD^p-K)6fYWyo4pS(P8-n4*cq@Kw`j{CKzCTawe|`L&6;Dw4lS z>{DNqrTBjlJxpB8RW0VA>7vGpaU?)v+ES}o<{Eoi*7-g^7t=0U$g^QsOu8FUJvXLT zPLW7Z>+I_IH=9fA;jKz&>#~o(_UhF}_+WXKWUN2;WWE53n+no>Tk}WC{W;$wu{67Zb+1SEk3S)S$^mbMWQJn~OB= zs%Jc~`-ym1mqIzJps!E1w{x6nZzuB_icD>JQ!_Kavy2<`79u+FRO4{dsk?U}B#5VOJ)Pe=!dxATa5R-4IfcnuRZ91o^{!W<^+#m{vF*T%bathk4cknToI@p^xtjZmYA1lTk;LYLZJ&lm#8x$cmj;3-Yr zJQi}IOQqA&{?VAa)BXORvj~5=mM6WEveJ*I_|-PXbi#g~<&U$EWd7kGupZO;rb|nu zEPT)y&Dn_5;(en}QP{iqSO9Kj=`ofOtA`}?cj~jyC&&I=`ef6cA08DDII^yI37^Gk zp=}|KWv4cj0%?hOjXxEN1X3^bLX6wRjaLsuRIZBP<&yb{{L00Z^VoHn59LNDhZJWL zU$EJvJ7=!U{FC*hv;dvhg?cj)tgf=AEFOXge`*Dc!2B~{i6x970Xm5d!wBMK%@~** z1`a0~%Bc5`AQk^Vn5=+7lqCx6iT_*?f(ufTHIb^zK z$nsIllE@Qv@gM6uG9#}B6*%h5v+P$=>rWNpNa51_`$d9d?4jjnp&^LF3Ln&hcX1f& zh=X(SL?cJ>1kK;sAU6*-Y{&4pa?`kWZ)CPHOfs6w1kZzFG6;8XSjVbbjsvm{q9X5Z z;<6Kw&9rieY#J)gOsmx)Lj^K}REF_z66+tixk-orENY|VXW?2aO78y2ES$Tkw#j=F zSvDOoAGot5}84$to7kHmiYSDP30t-_wfFDJJyKCK4nQ?c2IG_=b&wN!SN`TxV% zTSmpTE^WIL2q6TA;2IRzgCAhl=3GS|qH}0-queJC4erxYD z&KYM6{s6Ok_UwLUJy+d#RrT!69*uPVkH5EQCY&xH*>YPI@&r}a^U5ytLPC6_Yem)Nc-ig$}wGzC#p_&~Q<4rK|aV5;dY z;Z+%;FHr5Gq{mYhtDz;9?|N?H-(UeQ^~g0OoH8% zFT}g{7?Y5GLGWN1Wx6eaC27{n>C;Uxvb20If) z{bdnIE*DyQvwR`5AC!it-TI-tt5^6gFrlY03>CU=qLAI*PuyioP8frzJK7?vng3JQ zI6Q&w8j|$9?cwWdCtI(#yTy^gXqd5x_&(j@hwCVVP-&u=iP9bCs+x;Q{__gC)SkKM za!DuM3Y3_7N?5-3o0o8qXUXFWUkHU6O(RG^KbqzD!TbHeRg8HG3_)@T2vBivt0D(= z#`4SEdB!aAH=SN8uIT6uvT*fR^0Ls67pniU$b4c2pjwf<9o2m{3!zn-V(`PFu*7ft z%#yq`C5^ps)OU%B$uarRL;ss9g|?>$JsG-=^*gX!#%#@cEC2o_622hMgnx0yTlt_5 z<42^l{2nIrhtR|#zhW4KSTYUA=bUlWv=)hhfe=9Xe4v>b1BLNhe8k-8l|S;SQG!kY z?(^@X_O~BF)GePx>8+P-_jr_jkv_aBPEz750BwJf)?Ft6CJo{f?2NruBSaFctdx`U{mRX(MIl}t5q;AKjHp?#xZRI zE%?yLXa;t142h8ax2yz)DE>Gou$e6X55hF)m#BtjaggnMA-*ysEKfV?mfgHMEU7LMn2jDOLQt(yq(YcKeYhF zY+G0+ax(HbbzQH%8#Jp#vx078m|t-Be~KbrBJ*N$@S9_FXJgJw2Jxqq8EvBMlbbu< zjxe~}f>>ykCcX}r`Wb*jiH9)MD(=-2kpC8}iBWuQ z##&+(PPDSDB+s&8{#T;bAG2T}I@oA3OWYq3L`W>x`nO0Ohtr7xRiX+1kuF9BY^?Vh zLZ($^NtM`}iGcgn`S!DTCyUG@{AKRO3enGas6=t$v`cg3ha}fLzBkBNlGin#+it$; z<-`&j7YrKkNqWhq;pbne%hZS=t);E(Qo@JgAr`ulh}!JqT;B6AEV{kt1Y;#x%9lL! z(<>?~qEZ$V7(UhpdKln;uS<=oxm>K5)5^Iyi#MNvEg~y z0`v6lBB1)MLL{RqygXz+MnM=GATnY}R*<2N{KZGKH7uu$n(xS!85zO6%{Om zA4C|w{|O;PLKYs8Z!RDEB0aErp^Ay?kfR$T`qun3xXELum^*ORMpQmwZos9Ox#C;@ z@+T^Seggb78~a{7s@HkU)G@`;Q5p5SPgvDv)AnI08%gT{NewbAnT*P@a9VPVz%STT z*gop(;^3c+$9eL<ZwCM2FPz@^7yI?iq|a(8tM-7AQ#lRhdoVV4rX61j zth%KvuCpzn?t_0!2w&^Dv+m!aQ4h0X_p zI2mnBd}GWk!#9`6d0=ck^F0uu-Hl^3_K(uRp;ci+;r}XKlBK$ep>B#GA|T=P3V?+C z>3Ap&SyV?Qk{7P?CVd(OkBc)Qq!X3B^#^C=uBJPb*FF<>qY2D3AxDG%mV6Ik6=F#+ zq#DPGSEDRR2#yuMEc^2IPrvGZLW~qkrA*R%osZf=Va~D>;mDYr_Xa}7*mpF@i{I$S zI+;ppgJLFg|yKBTk;IDAMC--SP7O816{K=pJbthkv{GPIicQo?KO zMv642HslR0#fkqE!}Y;g`)hV6q?{5C17SJUIRR)y%1)<^*@=UCoMZ~h&6yJk59yum z0q4VBj!rC{sp#{^vSL^86-_1B-i0{7lC7ij9qY)CRo3EG5*LEd2{`V_c+;WuI5$ zRcco2>{e!1u~+h$n3&Y-xTh{O21*V>+;o{1rW0Xy^pt1X?{{+AM|vwNV4;iyqAqlK zFC^ca_9KODdzMYKg#uerOd3z!;gwmLp{W*i$NQX~iopkEM{Tml048~O2q1NUO0s(o zUQW1@<;;7vafyhIjlRjf6)57&QVoJ#MEk0?@`@+BQy?JdWAJJ&qeRi!x@)N~&UdRK z@~)q+u4);jJ@m#S-o$*8l(b>}gifPPvLKwTOw@`PBi#WtF+To(hV^z^ui*a<>)FtY z=-V=^aUfe*84&WITY|BhV4O+yMP<}(x-C8UB6~o91gef(Nw@rGim7*am@?gJ6b}8! zt7n!ICq!vA??j~bxRp{vfkEux}kOYL(wN)y4GEZ4KUnzNO!+;+S_9)P%WSL>dU5)cccQGyzebUso=1@ZM#o#GdEQ{ zHM}DIZSjJHHe&pT$wjHQ1r0D6|H!%bQ@@0kI^#C-+=bmdZ@SBJXWue#qIrHwe0UiRIkZnfIc&V~xu(+t8GtU+o&G08SAM_@WhMYN}&Vr4!lual~=c#L#r|JJi*| zfcj#u9B`_IHkK;OBt|(QP{x#Ul-h#6yCjx$)tSfXaRIhkzwSE!UW&PYF#iKS13J)@ zWl3v7d&8in(KYVyNPQShNs@*tv(w>pqH0HLMel-&QOIW%CE6isWH_Irk_M}9Rm=iO z;5lJpGiV|$Ee`AE<*(+Sp2G%gxhS=j@8fnthlwtsBvnAq*pn5*(mFd#MC;?{+DCk$YC8bPYbiTUPB7d&bs*feLV}Vo zM4w{XK5(%jb;*Ve!WL!K!@fBoR0z;tt?Sm$O-*VeW)W*Lva}+N##oaR$99hS_Uee^ zLNH$`9f1H)6 z+Ous(PZt>N*Jc>c-PK|~N^kDZ@|&$>-v&MsV)OPRW7pJf)V!YfEAdK-xuEa4rs7O8 zMi~-hiX(C+Mv~Z98tG8imlO9D5oge`FE`@C&#t_$iugYF1vHz~FiKYnJ^tNkJ1Sh0 z8KPgCR~5p>Mew#S3$%>OFmJvm%$Ue$6GR}XQf?Vh820;#{QR5FO+s9&L&gF#q7#o) zhU>+0CE=0!ScqpCW3g!cq%L>`g}hW+G+k~)FO3wBM zM=Njt*+8WEtLz6(|3Fgj^RgjXudSk=hwvk#XT^1jzHObXai+KwzD+q>Fh~OhUlpm@ zMbxx(L@9rdGY^)x3M=8ux-*jDJ1M5fMjx5c2Pbcq~4%Mj_mZTFb(|%`)kRb{-9mB><`t? zucGVET4Hk_)g#*Vl91pDKN45&7*rWB6%bPMjx~P zV8oKVp$^bMd~GqevxjgiNd+!tkYkPj;uQS)LcFf*#UBgHp=z23(n zAwA((&F*w@T|~~} zZsbVV+gmq5=?@~s#91zvyNgVoO=dko91F4vGrvL>#8KTL@A>9**jU5Pb=rBFT6rDL z4<&&>O$%EK2J5mBCiTpZ$*CZvmFrAnTedAJ?e=$-j`r5`BZQ_I0-guWT#zP?anXad z-XPDW5pg08+o7#s-S(W_I<=n&S042n3JW3 zr_G7`T7!PHk;O#hy}xZb0WsFsuLT6iDtb(f{%^CDf?iK`7>)34Oel%sV>&M%c zR`^cu&Je-rxlx9M{)cuDttarzLIfUGO(D2was1aqXeu`=m+?b3BNX)&!P$S~1HJOE zw%K0I6s0%4>}y>nTBT~Z?cpN%^xvkpWWIe&cucuAhvG~U-vAYYIXpYOWc@$XD;%nS zsaO5+SYN0r!)l8wEnOHssf;c2b~2Mp8hXDNR9E#=+Q3^ zC_)+TpHkwF_N%2pnPo1D$p)_n^f%Co<(MSa>iZuHq@)}Mj}f8a#QfK-$&e8%%e&{8 z6SQzWcO*kJ{2?uSaKJN4MJa+$@m}s=u_R1ZbH1CyTtXdF`AQ=Bhfh0xrtPkb$qK9n zJxOR8P4_JgM`f=;K5ZVL^MM+=A*s)mbp-XZowFMA+>1|KkwIJ>AJm+^Fc@iuI)HC) zn^^i2i8;nk(^0NYmS9oO%W2T^@o7fByv}9<3lvq|XoA8!&KC8(bvEGhwu~_SdZ-YS zMc>*x82|LFfO06fPpw!5iLpIyF zZbnm8VD4!dtn;vRe?-V`4gLhZPtUsh+AJpD2hNS+sjDIaBZjH%wwL*yex47?`zv2o z5bGvVotVlruWPpNe0c#QNfsH>6z-ihWXQ4VH7-rMB5H~~r=-VNk22Ef6%g_%pYyR`Qx#RZ)}nR+elClU{&{HYyEY_#U4Jzo~+tRi=^+O*!@Nwcl5+`B{+?$A0B_-whT&edC zo=tV3?x5w-S|!H&`Ll(s8{(r#zWZI$1XQj<&Z9U&erH~w(-5Ss5H!)VR53tdigzFfa?;h!)2MaVlX7d$BU!ztp1eAVp!aQX(KTFs+ zBJ1|`-5=bK9O3RLZA1p@(X2aOypO%>9~QLu``~A-v>U7sn$>3MpN@t)(&s$RgO%iH z2H!zLhch_1b%};hiQls86VQJHNqDh0?xBJc^djqcOr#UnW~Wt(!RPn-b~k^1WC0d4 zrF<88enZuP�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 Xot`Z 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%0DymI{kHovjX~)hlu4!-JRT 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͉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 literal 0 HcmV?d00001 diff --git a/pom.xml b/pom.xml index 796e05e..8850b9e 100644 --- a/pom.xml +++ b/pom.xml @@ -191,6 +191,13 @@ ${ruoyi.version} + + + com.ruoyi + ruoyi-license + ${ruoyi.version} + + org.springframework.ai spring-ai-bom @@ -243,6 +250,7 @@ ruoyi-quartz ruoyi-generator ruoyi-common + ruoyi-license pom @@ -251,7 +259,7 @@ org.apache.maven.plugins maven-compiler-plugin - 3.13.0 + 3.11.0 true ${java.version} diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml index c3d5860..ce7f1fc 100644 --- a/ruoyi-admin/pom.xml +++ b/ruoyi-admin/pom.xml @@ -54,6 +54,12 @@ ruoyi-generator + + + com.ruoyi + ruoyi-license + + org.springframework.ai spring-ai-starter-model-openai diff --git a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java index c52287c..2c1c54c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/RuoYiApplication.java @@ -1,9 +1,11 @@ package com.ruoyi; +import java.security.Security; +import java.util.Arrays; +import java.util.stream.Collectors; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; -import org.springframework.context.annotation.ComponentScan; import org.springframework.scheduling.annotation.EnableScheduling; /** @@ -17,6 +19,7 @@ public class RuoYiApplication { public static void main(String[] args) { + enableSqlServerLegacyTls(); // System.setProperty("spring.devtools.restart.enabled", "false"); SpringApplication.run(RuoYiApplication.class, args); System.out.println(""" @@ -24,4 +27,25 @@ public class RuoYiApplication This is a text block with Unicode characters. """); } + + private static void enableSqlServerLegacyTls() + { + if (!Boolean.parseBoolean(System.getProperty("ruoyi.sqlserver.legacyTls.enabled", "true"))) + { + return; + } + + String propertyName = "jdk.tls.disabledAlgorithms"; + String disabledAlgorithms = Security.getProperty(propertyName); + if (disabledAlgorithms == null || disabledAlgorithms.isBlank()) + { + return; + } + + String compatibleAlgorithms = Arrays.stream(disabledAlgorithms.split(",")) + .map(String::trim) + .filter(algorithm -> !"TLSv1".equalsIgnoreCase(algorithm)) + .collect(Collectors.joining(", ")); + Security.setProperty(propertyName, compatibleAlgorithms); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java index 3b0e3f0..212e2d8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToErpApiController.java @@ -1,13 +1,19 @@ package com.ruoyi.api.controller; +import cn.hutool.json.JSONUtil; +import com.ruoyi.api.moveMsg.domain.MoveMsg; import com.ruoyi.api.service.IToErpService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.log.service.IRequestLogService; +import com.ruoyi.pda.mapper.PdaMapper; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.web.bind.annotation.*; import com.ruoyi.api.domain.DeliveryNoticeVo; +import java.util.HashMap; + /** * 作业统计 Controller */ @@ -19,6 +25,8 @@ public class ToErpApiController { private IToErpService toErpService; @Autowired private IRequestLogService requestLogService; + @Autowired + private PdaMapper pdaMapper; /** * 接收入出库通知单 @@ -28,7 +36,7 @@ public class ToErpApiController { public AjaxResult receiveDeliveryNotice(@RequestBody DeliveryNoticeVo deliveryNoticeVo) { AjaxResult ajaxResult = toErpService.receiveDeliveryNotice(deliveryNoticeVo); - requestLogService.insertRequestLog(requestLogService.getRequestLog(deliveryNoticeVo.toString(), "接收入出库通知单", ajaxResult)); + requestLogService.insertRequestLog(requestLogService.getRequestLogERP(JSONUtil.toJsonStr(deliveryNoticeVo), "接收入出库通知单", ajaxResult)); return ajaxResult; @@ -36,22 +44,107 @@ public class ToErpApiController { /** - * 回传其他入库单 + * 回传入库单 */ -// @Scheduled(fixedDelay = 1500) + @Scheduled(fixedDelay = 1500) @RequestMapping("/callbackInDeliveryNotice") @ResponseBody - public void callbackInDeliveryNotice() { - toErpService.callbackInDeliveryNotice(); + public void callbackInDeliveryNoticeNew() { + toErpService.callbackInDeliveryNoticeNew(); + } + + + /** + * 回传出库单(新) + */ + @Scheduled(fixedDelay = 1500) + @RequestMapping("/callbackOutDeliveryNotice") + @ResponseBody + public void callbackDeliveryOutNoticeNew() { + toErpService.callbackDeliveryOutNoticeNew(); + } + + +// @Scheduled(fixedDelay = 1500) +// @RequestMapping("/callbackOutDeliveryNotice") +// @ResponseBody +// public void callbackDeliveryOutNoticeNewS() { +// toErpService.callbackDeliveryOutNoticeNews(); +// } + + + + + +// /** +// * 回传其他入库单 +// */ +// @Scheduled(fixedDelay = 1500) +// @RequestMapping("/callbackInDeliveryNotice") +// @ResponseBody +// public void callbackInDeliveryNotice() { +// toErpService.callbackInDeliveryNotice(); +// } +// +// /** +// * 回传其他出库单 +// */ +// @Scheduled(fixedDelay = 1500) +// @RequestMapping("/callbackOutDeliveryNotice") +// @ResponseBody +// public void callbackDeliveryOutNotice() { +// toErpService.callbackoutDeliveryNotice(); +// } + + /** + * 移库回调接口 + */ + @Scheduled(fixedDelay = 1500) + @RequestMapping("/moveCargoSpace") + @ResponseBody + public void moveCargoSpace() { + toErpService.moveCargoSpace(); } /** - * 回传其他出库单 + * 自动确认入库单据 */ - @RequestMapping("/callbackOutDeliveryNotice") + @Scheduled(fixedDelay = 10000) +// @RequestMapping("/FillFinishAllot") @ResponseBody - public void callbackDeliveryOutNotice() { - toErpService.callbackoutDeliveryNotice(); + public void FillFinishAllot() { + HashMap map = new HashMap<>(); + map.put("v_result", null); + map.put("v_result_msg", null); + pdaMapper.FillFinishAllot(map); + String result = map.get("v_result").toString(); + String msg = map.get("v_result_msg").toString(); + if ("10".equals(result)) { + System.err.println(msg); + } else { +// System.err.println(msg); + } + } + /** + * 自动确认出库单据 + */ + @Scheduled(fixedDelay = 10000) +// @RequestMapping("/FillFinishAllot") + @ResponseBody + public void FillFinishAllotOut() { + HashMap map = new HashMap<>(); + map.put("v_result", null); + map.put("v_result_msg", null); + pdaMapper.FillFinishAllotOut(map); + String result = map.get("v_result").toString(); + String msg = map.get("v_result_msg").toString(); + if ("10".equals(result)) { + System.err.println(msg); + } else { +// System.err.println(msg); + } } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java index be1c869..a92c5cd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/ToWmsApiController.java @@ -1,5 +1,6 @@ package com.ruoyi.api.controller; +import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.ruoyi.api.domain.ErpProduct; import com.ruoyi.api.domain.ReMaterialParam; @@ -11,6 +12,10 @@ import com.ruoyi.bas.BasProduct.service.IBasProductService; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.enums.BusinessType; +import com.ruoyi.device.agv.domain.AgvContainerTask; +import com.ruoyi.device.agv.service.IAgvContainerTaskService; +import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.mapper.MydoJobMapper; import com.ruoyi.log.domain.RequestLog; import com.ruoyi.log.service.IRequestLogService; import com.ruoyi.out.outStockout.domain.OutStockoutVo; @@ -19,7 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; -import java.util.Map; +import java.util.*; /** * 作业统计 Controller @@ -36,6 +41,10 @@ public class ToWmsApiController { private IOutStockoutService outStockoutService; @Autowired private IBasProductService basProductService; + @Autowired + private MydoJobMapper mapper; + @Autowired + private IAgvContainerTaskService agvContainerTaskService; /** * 入库请求生成作业 @@ -43,18 +52,50 @@ public class ToWmsApiController { @PostMapping("/requestEnterByTrayCode") public AjaxResult requestEnterByTrayCode(@RequestBody RequestEnter requestEnter) { AjaxResult ajaxResult = toWmsService.requestEnterByTrayCode(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库任务创建请求",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库任务创建请求", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } + // 入库分货位 + @PostMapping("/sendCargoSpace") + public AjaxResult sendCargoSpace(@RequestBody RequestEnter requestEnter) { + AjaxResult ajaxResult = toWmsService.requestEnterByTaskNo(requestEnter); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "入库请求分配货位", ajaxResult); + requestLogService.insertRequestLog(requestLog); + return ajaxResult; + } + + + // 出库到位更新LED显示屏 + @PostMapping("/updateLed") + public AjaxResult updateLed(@RequestBody RequestEnter requestEnter) { + HashMap map = new HashMap<>(); + map.put("v_task_no", requestEnter.getTaskNo()); + map.put("v_code", requestEnter.getDeviceCode()); + mapper.updateLed(map); + return AjaxResult.success(); + } + + + // 线体报警更新报警信息 + @PostMapping("/updateLedError") + public AjaxResult updateLedError(@RequestBody RequestEnter requestEnter) { + HashMap map = new HashMap<>(); + map.put("v_code", requestEnter.getDeviceCode()); + map.put("v_error_code", requestEnter.getErrorCode()); + mapper.updateLedError(map); + return AjaxResult.success(); + } + + /** * 请求补码作业 */ @RequestMapping("/requestByNoTrayCode") public AjaxResult requestByNoTrayCode(@RequestBody RequestEnter requestEnter) { AjaxResult ajaxResult = toWmsService.selectMydoJobByEntranceId(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "请求补码作业",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "请求补码作业", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } @@ -65,7 +106,7 @@ public class ToWmsApiController { @RequestMapping("/requestEnterByTrayCodeAndEntranceId") public AjaxResult requestEnterByTrayCodeAndEntranceId(@RequestBody RequestEnter requestEnter) { AjaxResult ajaxResult = toWmsService.requestEnterByTrayCodeAndEntranceId(requestEnter); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "获取入库作业",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(requestEnter), "获取入库作业", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } @@ -74,18 +115,17 @@ public class ToWmsApiController { /** * 入库、出库 任务完成回传 * Map - * "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运, - * taskNo:出库 入库任务号 - * trayCode:托盘码 - * positionCode1:起点 - * positionCode2:终点 - * containerCode:容器编码 - * + * "wmsType": "任务类型" 1-入库 2-出库 3-agv搬运, + * taskNo:出库 入库任务号 + * trayCode:托盘码 + * positionCode1:起点 + * positionCode2:终点 + * containerCode:容器编码 */ @PostMapping("/jobFinish") public AjaxResult jobFinish(@RequestBody WmsJobRequest wmsJobRequest) { AjaxResult ajaxResult = toWmsService.jobFinish(wmsJobRequest); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "jobFinish", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } @@ -96,7 +136,7 @@ public class ToWmsApiController { @PostMapping("/reAssign") public AjaxResult reAssign(@RequestBody ReMaterialParam reMaterialParam) { AjaxResult ajaxResult = toWmsService.reAssign(reMaterialParam); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reAssign",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reAssign", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } @@ -107,13 +147,12 @@ public class ToWmsApiController { @PostMapping("/reMaterial") public AjaxResult reMaterial(@RequestBody ReMaterialParam reMaterialParam) { AjaxResult ajaxResult = toWmsService.reMaterial(reMaterialParam); - RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reMaterial",ajaxResult); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(reMaterialParam), "reMaterial", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } - /** * 出库单据保存 * @@ -137,8 +176,7 @@ public class ToWmsApiController { */ @Log(title = "接收物料", businessType = BusinessType.INSERT) @PutMapping("/receiveProduct") - public AjaxResult receiveProduct(@RequestBody ErpProduct erpProduct) - { + public AjaxResult receiveProduct(@RequestBody ErpProduct erpProduct) { AjaxResult ajaxResult = toWmsService.receiveProduct(erpProduct); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(erpProduct), "接收物料", ajaxResult); requestLogService.insertRequestLog(requestLog); @@ -150,8 +188,7 @@ public class ToWmsApiController { */ @Log(title = "修改物料管理", businessType = BusinessType.UPDATE) @PutMapping("/updateProduct") - public AjaxResult updateProduct(@RequestBody ErpProduct erpProduct) - { + public AjaxResult updateProduct(@RequestBody ErpProduct erpProduct) { AjaxResult ajaxResult = toWmsService.updateProduct(erpProduct); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(erpProduct), "修改物料管理", ajaxResult); requestLogService.insertRequestLog(requestLog); @@ -163,12 +200,76 @@ public class ToWmsApiController { */ @Log(title = "作废物料", businessType = BusinessType.UPDATE) @PutMapping("/InvalidProduct") - public AjaxResult InvalidProduct(@RequestBody ErpProduct erpProduct) - { + public AjaxResult InvalidProduct(@RequestBody ErpProduct erpProduct) { AjaxResult ajaxResult = toWmsService.InvalidProduct(erpProduct); RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(erpProduct), "作废物料", ajaxResult); requestLogService.insertRequestLog(requestLog); return ajaxResult; } + /** + * 请求AGV执行队列 + */ +// @Log(title = "请求未下发的AGV执行队列", businessType = BusinessType.OTHER) + @RequestMapping("/queryAgvQuene") + public AjaxResult queryAgvQuene() { + AgvContainerTask agvContainerTask = new AgvContainerTask(); + agvContainerTask.setStatus("0"); + List agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTask); + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(""), "请求未下发的AGV执行队列", AjaxResult.success(agvContainerTasks)); + requestLogService.insertRequestLog(requestLog); + if (agvContainerTasks != null && agvContainerTasks.size() > 0) { + for (AgvContainerTask containerTask : agvContainerTasks) { + containerTask.setStatus("1"); + agvContainerTaskService.updateAgvContainerTask(containerTask); + } + return AjaxResult.success(agvContainerTasks.get(0)); + } else { + return AjaxResult.error("无队列"); + } + } + + + /** + * 请求AGV执行队列 + */ + @Log(title = "完成AGV执行队列", businessType = BusinessType.UPDATE) + @RequestMapping("/finishAgvQuene") + public AjaxResult finishAgvQuene(@RequestBody JSONObject jsonObject) { + String order = (String) jsonObject.get("order"); + agvContainerTaskService.deleteAgvJobByOrder(order); + return AjaxResult.success(); + + } + + + @Log(title = "自动生成Agv搬运队列到线边", businessType = BusinessType.INSERT) + @PutMapping("/insertAgvQuene") + public AjaxResult insertAgvQuene(@RequestBody WmsJobRequest wmsJobRequest) { + String taskNo = wmsJobRequest.getTaskNo();// 到位任务号 + String code = wmsJobRequest.getCode();// 线体号 + AgvContainerTask agvContainerTask = new AgvContainerTask(); + agvContainerTask.setTaskNo(taskNo); + List agvContainerTasks = agvContainerTaskService.selectAgvContainerTaskList(agvContainerTask); + if (Objects.isNull(agvContainerTasks)) { + MydoJob mydoJob = new MydoJob(); + mydoJob.setTaskNo(taskNo); + List mydoJobs = mapper.selectMydoJobList(mydoJob); + AgvContainerTask agvContainerTask1 = new AgvContainerTask(); + agvContainerTask1.setContainer(UUID.randomUUID().toString()); + agvContainerTask1.setTaskNo(taskNo); + agvContainerTask1.setStartPoint(code); + agvContainerTask1.setEndPoint(mydoJobs.get(0).getEndPoint());//TODO 需要修改 + agvContainerTask1.setSpare2(mydoJobs.get(0).getTrayCode()); + // 10缓存区到线边 11立库到线边 12 立库到缓存区 13 缓存到立库 + agvContainerTask1.setSpare1("11"); + agvContainerTask1.setStatus("0"); + agvContainerTaskService.insertAgvContainerTask(agvContainerTask1); + } + RequestLog requestLog = requestLogService.getRequestLog(JSONUtil.toJsonStr(wmsJobRequest), "自动生成Agv搬运队列到线边", AjaxResult.success()); + requestLogService.insertRequestLog(requestLog); + return AjaxResult.success(); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/TwinController.java b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/TwinController.java index 7cb80c5..007d71d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/controller/TwinController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/controller/TwinController.java @@ -7,6 +7,7 @@ import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.annotation.Anonymous; 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; @@ -23,6 +24,7 @@ public class TwinController { @Autowired private ITwinService twinService; + //获取所有货位 @Anonymous @GetMapping("/getEmptyCargoSpace") public AjaxResult getEmptyCargoSpace() { @@ -30,10 +32,25 @@ public class TwinController { return AjaxResult.success(list); } + //获取统计信息 @Anonymous @GetMapping("/getStockList") public Map getStockList() { return twinService.getStockListOverview(); } + //根据货位号获取库存中的物料信息 + @Anonymous + @GetMapping("/getCargo/{cargoSpaceName}") + public Map getCargo(@PathVariable("cargoSpaceName") String cargoSpaceName) { + return twinService.getCargo(cargoSpaceName); + } + + //根据任务号获取作业表中的物料信息 + @Anonymous + @GetMapping("/getTaskCargo/{taskNo}") + public Map getTaskCargo(@PathVariable("taskNo") String taskNo) { + return twinService.getTaskCargo(taskNo); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java index 8fd3ecd..24f52b9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeItemVo.java @@ -4,6 +4,9 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.ToString; +import org.w3c.dom.stylesheets.LinkStyle; + +import java.util.List; /** * 出入库通知单-子表接收对象 @@ -42,7 +45,38 @@ public class DeliveryNoticeItemVo { /** 备注 */ private String remark; + private List locations; + /**货位*/ private String area; - + /**托盘*/ private String location; + + private String areaBefore; + + private String locationBefore; + /** 项目号 */ + private String projectNo; + /** + * erp子表主键 + ***/ + private String sourceLineId; + /** + * 条码号 + ***/ + private String barCode; + /** + * 是否批次管理 + **/ + private String isBatchManage; + + /**旧项目号**/ + private String oldProjectNo; + /**组件号**/ + private String groupNum; + + + /**存放地点 1 立库 2平库*/ + private String stg_location; + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java index f11d15f..88f545e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/DeliveryNoticeVo.java @@ -49,6 +49,17 @@ public class DeliveryNoticeVo { private String warehouseId; /** 备注 */ private String remark; + /** 配送终点 */ + private String destination; + /** 领料车间 */ + private String workshop; + + + private String companyShortName; + /** 账套号**/ + private String accountSetNo; /** 子表明细列表 */ + + private List detailList; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/RequestEnter.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/RequestEnter.java index 044d7dd..8638acf 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/RequestEnter.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/RequestEnter.java @@ -20,4 +20,8 @@ public class RequestEnter { private String type; private String flag; + private String taskNo; + private String deviceCode; + private String code; + private String errorCode; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/WmsJobRequest.java b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/WmsJobRequest.java index 4b0ec5f..079124f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/domain/WmsJobRequest.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/domain/WmsJobRequest.java @@ -24,4 +24,6 @@ public class WmsJobRequest { private String positionCode2; //任务id private String jobId; + //线体号 + private String code; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java index f140fc6..8519c47 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToErpService.java @@ -1,6 +1,7 @@ package com.ruoyi.api.service; import com.ruoyi.api.domain.DeliveryNoticeVo; +import com.ruoyi.api.moveMsg.domain.MoveMsg; import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.common.core.domain.AjaxResult; @@ -16,5 +17,13 @@ public interface IToErpService { void callbackoutDeliveryNotice(); + void moveCargoSpace(); + AjaxResult createWorkshopInboundOrder(BasProduct basProduct); + + void callbackInDeliveryNoticeNew(); + + void callbackDeliveryOutNoticeNew(); + + void callbackDeliveryOutNoticeNews(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java index f41f6da..06a32d8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/IToWmsService.java @@ -59,4 +59,6 @@ public interface IToWmsService { * 作废物料 */ AjaxResult InvalidProduct(ErpProduct erpProduct); + + AjaxResult requestEnterByTaskNo(RequestEnter requestEnter); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/ITwinService.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/ITwinService.java index 1a7ff85..ae430e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/ITwinService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/ITwinService.java @@ -4,5 +4,7 @@ import java.util.Map; public interface ITwinService { Map getStockListOverview(); + Map getCargo(String cargoSpaceName); + Map getTaskCargo(String taskNo); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java index 0841b34..01d44e7 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToErpServiceImpl.java @@ -1,8 +1,13 @@ package com.ruoyi.api.service.impl; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.ruoyi.api.controller.BatchNoGenerator; import com.ruoyi.api.domain.*; +import com.ruoyi.api.moveMsg.domain.MoveMsg; +import com.ruoyi.api.moveMsg.service.IMoveMsgService; import com.ruoyi.api.service.IToErpService; import com.ruoyi.bas.BasProduct.domain.BasProduct; import com.ruoyi.bas.basJobId.service.IBasJobIdService; @@ -27,10 +32,17 @@ import com.ruoyi.log.domain.RequestLog; import com.ruoyi.log.service.IRequestLogService; import com.ruoyi.out.outStockout.domain.OutStockout; import com.ruoyi.out.outStockout.service.IOutStockoutService; +import com.ruoyi.out.outStockoutBack.domain.OutStockoutBack; +import com.ruoyi.out.outStockoutBack.mapper.OutStockoutBackMapper; +import com.ruoyi.out.outStockoutBack.service.IOutStockoutBackService; import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; import com.ruoyi.out.outStockoutDetail.service.IOutStockoutDetailService; import com.ruoyi.out.outStockoutDetail.mapper.OutStockoutDetailMapper; import com.ruoyi.out.outStockout.mapper.OutStockoutMapper; +import com.ruoyi.out.outStockoutDetailBack.domain.OutStockoutDetailBack; +import com.ruoyi.out.outStockoutDetailBack.service.IOutStockoutDetailBackService; +import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; import io.swagger.v3.oas.models.security.SecurityScheme; import org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences; import org.springframework.beans.BeanUtils; @@ -38,10 +50,15 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.math.BigDecimal; +import java.util.Map; +import java.util.stream.Collectors; + +import static com.ruoyi.framework.datasource.DynamicDataSourceContextHolder.log; /** * 作业统计 Service 实现 @@ -55,9 +72,10 @@ public class ToErpServiceImpl implements IToErpService { private IMydoJobService mydoJobService; @Autowired private IMydoJobDetailService mydoJobDetailService; - @Autowired - private IBasJobIdService basJobIdService; + private IBasJobIdService iBasJobIdService; + @Autowired + private IBasJobIdService basJobIdService; @Autowired private IRequestLogService requestLogService; @@ -79,13 +97,24 @@ public class ToErpServiceImpl implements IToErpService { private IInStockinBackService inStockinBackService; @Autowired private IInStockinDetailBackService inStockinDetailBackService; + @Autowired + private IMoveMsgService moveMsgService; + + @Autowired + private IBasStockService basStockService; + @Autowired + private IOutStockoutBackService outStockoutBackService; + + @Autowired + private IOutStockoutDetailBackService outStockoutDetailBackService; private static final String TO_ERP_URL = "http://192.168.1.100:8080/api/"; //todo 需要调试 - private static final String WORKSHOP_INBOUND_ORDER_URL = TO_ERP_URL+"TRANSACTION_DOC"; + private static final String WORKSHOP_INBOUND_ORDER_URL = TO_ERP_URL + "TRANSACTION_DOC"; //todo 需要调试 - private static final String OTHER_IN_OUTBOUND_ORDER_URL = TO_ERP_URL+"WIP_TRANSFER_DOC"; + private static final String OTHER_IN_OUTBOUND_ORDER_URL = TO_ERP_URL + "WIP_TRANSFER_DOC"; + /** * 处理送货通知单的业务逻辑 * 根据单据类型和操作类型进行入库单或出库单的增删改操作 @@ -93,24 +122,269 @@ public class ToErpServiceImpl implements IToErpService { * @param deliveryNoticeVo 送货通知单数据对象,包含单据基本信息和明细列表 * @return AjaxResult 操作结果,包含成功或错误信息 */ +// @Override +// @Transactional(rollbackFor = Exception.class) +// public AjaxResult receiveDeliveryNotice(DeliveryNoticeVo deliveryNoticeVo) { +// +// if (deliveryNoticeVo == null || deliveryNoticeVo.getDetailList() == null || deliveryNoticeVo.getDetailList().isEmpty()) { +// return AjaxResult.error("单据或明细不能为空"); +// } +// String billType = deliveryNoticeVo.getBillType(); +// String opType = deliveryNoticeVo.getOpType(); +//// String status = deliveryNoticeVo.getStatus(); +// int type = 0; +// try { +// type = Integer.parseInt(billType); +// } catch (Exception ignored) { +// } +// +// // 处理入库单相关操作(单据类型1-4) +// if (type >= 1 && type <= 4) { +// InStockin param = new InStockin(); +// param.setErpBill(deliveryNoticeVo.getBillNo()); +// List existList = inStockinService.selectInStockinListApi(param); +// InStockin exist = (existList != null && !existList.isEmpty()) ? existList.get(0) : null; +// +// // 删除操作(操作类型3) +// if ("3".equals(opType)) { +// if (exist == null) { +// return AjaxResult.error("单据不存在"); +// } +// if ("3".equals(exist.getStatus())) { +// return AjaxResult.error("单据已执行,禁止删除"); +// } +// if (exist.getStockinGuid() != null) { +// inStockinDetailService.deleteInStockinDetailByStockinGuid(exist.getStockinGuid()); +// inStockinService.deleteInStockinByStockinGuid(exist.getStockinGuid()); +// } +// +// return AjaxResult.success(); +// } +// +// // 新增或修改操作(操作类型1或2) +// if ("2".equals(opType) || "1".equals(opType)) { +// if ("2".equals(opType) && exist == null) { +// return AjaxResult.error("单据不存在,无法修改"); +// } +// if ("1".equals(opType) && exist != null) { +// return AjaxResult.error("单据已存在,请勿重复添加"); +// } +// if (exist != null && "3".equals(exist.getStatus()) && "2".equals(opType)) { +// return AjaxResult.error("单据已执行,禁止修改"); +// } +// InStockin inStockin = exist != null ? exist : new InStockin(); +// if (exist == null) { +// inStockin.setStockinGuid(UUID.randomUUID().toString()); +// } +// String rkdId = iBasJobIdService.getJobId("RKD"); +// +// inStockin.setStockinId(rkdId); +// inStockin.setInType(deliveryNoticeVo.getBillType()); +// inStockin.setCreateDate(deliveryNoticeVo.getBillDate()); +// inStockin.setCreateManId(deliveryNoticeVo.getCreateMan()); +// inStockin.setStatus("2"); +// inStockin.setWarehouseId(deliveryNoticeVo.getWarehouseId()); +// inStockin.setErpBill(deliveryNoticeVo.getBillNo()); +// inStockin.setStockSource("1"); +// inStockin.setDepartmentNo(deliveryNoticeVo.getProjectNo());//项目号 +// inStockin.setSupplierNo(deliveryNoticeVo.getCustomerId());//供应商编码 +// inStockin.setClassNo(deliveryNoticeVo.getCustomerName());//供应商名称 +// inStockin.setSpare1(deliveryNoticeVo.getContractNo());//合同号 +// inStockin.setSpare2(deliveryNoticeVo.getSalesOrderNo());//销售订单号 +// inStockin.setSpare3(deliveryNoticeVo.getApproveDate());//审核时间 +// inStockin.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 +// inStockin.setSpare5(deliveryNoticeVo.getRemark()); +// inStockin.setCompanyShortName(deliveryNoticeVo.getCompanyShortName()); +// inStockin.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); +// if (exist == null) { +// inStockinService.insertInStockin(inStockin); +// } else { +// inStockinService.updateInStockin(inStockin); +// inStockinDetailService.deleteInStockinDetailByStockinGuid(inStockin.getStockinGuid()); +// } +// List items = deliveryNoticeVo.getDetailList(); +// +// int a = 0; +// for (DeliveryNoticeItemVo item : items) { +// a += 1; +// InStockinDetail detail = new InStockinDetail(); +// detail.setStockinGuid(inStockin.getStockinGuid()); +// detail.setStockinDetailId(item.getBarCode()); +// detail.setStockinId(inStockin.getStockinId()); +// detail.setProductId(item.getInventoryCode()); +// detail.setProductName(item.getInventoryName()); +// detail.setSpec(item.getSpecModel()); +// detail.setUnit(item.getUnit()); +// detail.setQuantity(item.getQuantity()); +// if (item.getIsBatchManage().equals("1") && (item.getLotNo().equals("") || item.getLotNo() == null)) { +// // 获取流水号 +// detail.setLotNo(BatchNoGenerator.generateBatchNo()); +// } else { +// detail.setLotNo(item.getLotNo()); +// } +// detail.setSpare1(item.getLevelRelation()); +// detail.setSpare2(item.getUpperMaterial()); +// detail.setSpare3(item.getTopMaterial()); +// detail.setSpare4(item.getProjectNo()); +// detail.setSpare6(item.getLineNo()); +// detail.setRemark(item.getRemark()); +// detail.setAssignNum("0"); +// detail.setScanNum("0"); +// detail.setSourceLineId(item.getSourceLineId()); +// detail.setBarCode(item.getBarCode()); +// detail.setIsBatchManage(item.getIsBatchManage()); +// detail.setOldProjectNo(item.getOldProjectNo()); +// detail.setCargoNo(item.getGroupNum()); +// inStockinDetailService.insertInStockinDetail(detail); +// +// } +// +// return AjaxResult.success(); +// } +// } +// // 处理出库单相关操作(单据类型5-7) +// else if (type >= 5 && type <= 7) { +// OutStockout param = new OutStockout(); +// param.setErpStockoutId(deliveryNoticeVo.getBillNo()); +// List outList = outStockoutService.selectOutStockoutList(param); +// OutStockout exist = (outList != null && !outList.isEmpty()) ? outList.get(0) : null; +// +// // 删除操作(操作类型3) +// if ("3".equals(opType)) { +// if (exist == null) { +// return AjaxResult.error("单据不存在"); +// } +// if ("3".equals(exist.getStatus())) { +// return AjaxResult.error("单据已执行,禁止删除"); +// } +// OutStockoutDetail outStockoutDetail = new OutStockoutDetail(); +// outStockoutDetail.setStockoutId(deliveryNoticeVo.getBillNo()); +// List details = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail); +// if (details != null && !details.isEmpty()) { +// String[] ids = details.stream().map(OutStockoutDetail::getStockoutDetailId).toArray(String[]::new); +// outStockoutDetailService.deleteOutStockoutDetailByStockoutDetailIds(ids); +// } +// outStockoutService.deleteOutStockoutByStockoutGuid(exist.getStockoutGuid()); +// return AjaxResult.success(); +// } +// +// // 新增或修改操作(操作类型1或2) +// if ("2".equals(opType) || "1".equals(opType)) { +// if ("2".equals(opType) && exist == null) { +// return AjaxResult.error("单据不存在,无法修改"); +// } +// if ("1".equals(opType) && exist != null) { +// return AjaxResult.error("单据已存在,请勿重复添加"); +// } +// if (exist != null && "3".equals(exist.getStatus()) && "2".equals(opType)) { +// return AjaxResult.error("单据已执行,禁止修改"); +// } +// OutStockout out = exist != null ? exist : new OutStockout(); +// +// if (exist == null) { +// out.setStockoutGuid(UUID.randomUUID().toString()); +// } +// String ckdId = iBasJobIdService.getJobId("CKD"); +// out.setStockoutId(ckdId); +// out.setOutType(deliveryNoticeVo.getBillType()); +// out.setCreateDate(deliveryNoticeVo.getBillDate()); +// out.setErpStockoutId(deliveryNoticeVo.getBillNo()); +// out.setCreateManId(deliveryNoticeVo.getCreateMan()); +// out.setStatus("2"); +// out.setWarehouseId(deliveryNoticeVo.getWarehouseId()); +// out.setStockoutSource("1"); +//// out.setSpare6(deliveryNoticeVo.getOutType()); +// out.setSpare6("1"); +// out.setCarNumber(deliveryNoticeVo.getIsProjectOut()); +// out.setDepartmentNo(deliveryNoticeVo.getProjectNo()); +// out.setCustomerNo(deliveryNoticeVo.getCustomerId()); +// out.setClassNowId(deliveryNoticeVo.getCustomerName()); +// out.setSpare1(deliveryNoticeVo.getContractNo());//合同号 +// out.setSpare2(deliveryNoticeVo.getSalesOrderNo());//销售订单号 +// out.setSpare3(deliveryNoticeVo.getApproveDate());//审核时间 +// out.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 +// out.setSpare5(deliveryNoticeVo.getRemark()); +// out.setSpare7(deliveryNoticeVo.getDestination()); +// //手动设置出库类型为2 这样会赋值 in_or_out 21 +// out.setSpare8("2"); +// out.setCompanyShortName(deliveryNoticeVo.getCompanyShortName()); +// out.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); +// +// if (exist == null) { +// outStockoutService.insertOutStockout(out); +// } else { +// outStockoutService.updateOutStockout(out); +// OutStockoutDetail q2 = new OutStockoutDetail(); +// q2.setStockoutId(deliveryNoticeVo.getBillNo()); +// List oldDetails = outStockoutDetailService.selectOutStockoutDetailList(q2); +// if (oldDetails != null && !oldDetails.isEmpty()) { +// String[] ids = oldDetails.stream().map(OutStockoutDetail::getStockoutDetailId).toArray(String[]::new); +// outStockoutDetailService.deleteOutStockoutDetailByStockoutDetailIds(ids); +// } +// } +// int i = 0; +// for (DeliveryNoticeItemVo item : deliveryNoticeVo.getDetailList()) { +// OutStockoutDetail d = new OutStockoutDetail(); +// i += 1; +// d.setStockoutDetailId(out.getStockoutId() + "-" + i); +// d.setStockoutGuid(out.getStockoutGuid()); +// d.setStockoutId(out.getStockoutId()); +// d.setProductId(item.getInventoryCode()); +// d.setProductName(item.getInventoryName()); +// d.setLotNo(item.getLotNo()); +// d.setSpec(item.getSpecModel()); +// d.setUnit(item.getUnit()); +// d.setSpare1(item.getLevelRelation()); +// d.setSpare2(item.getUpperMaterial()); +// d.setSpare3(item.getTopMaterial()); +// d.setSpare4(item.getProjectNo()); +// d.setSpare6(item.getLineNo()); +// d.setRemark(item.getRemark()); +// d.setSourceLineId(item.getSourceLineId()); +// d.setCargoNo(item.getGroupNum()); +// d.setBarCode(item.getBarCode()); +// d.setIsBatchManage(item.getIsBatchManage()); +// d.setOldProjectNo(item.getOldProjectNo()); +// //d.setSpare8(deliveryNoticeVo.getDestination()); +// +// +// try { +// d.setQuantity(new BigDecimal(item.getQuantity())); +// d.setAllotQuantity(BigDecimal.ZERO); +// d.setAssignNum(BigDecimal.ZERO); +// } catch (Exception e) { +// d.setQuantity(BigDecimal.ZERO); +// } +// outStockoutDetailService.insertOutStockoutDetail(d); +// +// } +// return AjaxResult.success(); +// } +// } +// return AjaxResult.error("不支持的单据类型或操作类型"); +// +// } @Override @Transactional(rollbackFor = Exception.class) public AjaxResult receiveDeliveryNotice(DeliveryNoticeVo deliveryNoticeVo) { - - if (deliveryNoticeVo == null || deliveryNoticeVo.getDetailList() == null || deliveryNoticeVo.getDetailList().isEmpty()){ + if (deliveryNoticeVo == null || deliveryNoticeVo.getDetailList() == null || deliveryNoticeVo.getDetailList().isEmpty()) { return AjaxResult.error("单据或明细不能为空"); } String billType = deliveryNoticeVo.getBillType(); String opType = deliveryNoticeVo.getOpType(); -// String status = deliveryNoticeVo.getStatus(); int type = 0; - try { type = Integer.parseInt(billType); } catch (Exception ignored) {} + try { + type = Integer.parseInt(billType); + } catch (Exception ignored) { + } - // 处理入库单相关操作(单据类型1-4) + // ===================== 入库单 1-4 逻辑完全不变 ===================== if (type >= 1 && type <= 4) { InStockin param = new InStockin(); - param.setStockinId(deliveryNoticeVo.getBillNo()); - List existList = inStockinService.selectInStockinListApi(param); + param.setErpBill(deliveryNoticeVo.getBillNo()); + param.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); + List existList = inStockinService.selectInStockinListBill(param); +// List existList = inStockinService.selectInStockinListApi(param); InStockin exist = (existList != null && !existList.isEmpty()) ? existList.get(0) : null; // 删除操作(操作类型3) @@ -125,7 +399,6 @@ public class ToErpServiceImpl implements IToErpService { inStockinDetailService.deleteInStockinDetailByStockinGuid(exist.getStockinGuid()); inStockinService.deleteInStockinByStockinGuid(exist.getStockinGuid()); } - return AjaxResult.success(); } @@ -134,7 +407,7 @@ public class ToErpServiceImpl implements IToErpService { if ("2".equals(opType) && exist == null) { return AjaxResult.error("单据不存在,无法修改"); } - if("1".equals(opType) && exist != null){ + if ("1".equals(opType) && exist != null) { return AjaxResult.error("单据已存在,请勿重复添加"); } if (exist != null && "3".equals(exist.getStatus()) && "2".equals(opType)) { @@ -144,22 +417,27 @@ public class ToErpServiceImpl implements IToErpService { if (exist == null) { inStockin.setStockinGuid(UUID.randomUUID().toString()); } - inStockin.setStockinId(deliveryNoticeVo.getBillNo()); + String rkdId = iBasJobIdService.getJobId("RKD"); + + inStockin.setStockinId(rkdId); inStockin.setInType(deliveryNoticeVo.getBillType()); inStockin.setCreateDate(deliveryNoticeVo.getBillDate()); inStockin.setCreateManId(deliveryNoticeVo.getCreateMan()); - inStockin.setStatus("1"); + inStockin.setStatus("2"); inStockin.setWarehouseId(deliveryNoticeVo.getWarehouseId()); -// inStockin.setErpBill(deliveryNoticeVo.getBillNo()); + inStockin.setErpBill(deliveryNoticeVo.getBillNo()); inStockin.setStockSource("1"); - inStockin.setDepartmentNo(deliveryNoticeVo.getProjectNo());//项目号 - inStockin.setSupplierNo(deliveryNoticeVo.getCustomerId());//供应商编码 - inStockin.setClassNo(deliveryNoticeVo.getCustomerName());//供应商名称 - inStockin.setSpare1(deliveryNoticeVo.getContractNo());//合同号 - inStockin.setSpare2(deliveryNoticeVo.getSalesOrderNo());//销售订单号 - inStockin.setSpare3(deliveryNoticeVo.getApproveDate());//审核时间 - inStockin.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 + inStockin.setDepartmentNo(deliveryNoticeVo.getProjectNo()); + inStockin.setSupplierNo(deliveryNoticeVo.getCustomerId()); + inStockin.setClassNo(deliveryNoticeVo.getCustomerName()); + inStockin.setSpare1(deliveryNoticeVo.getContractNo()); + inStockin.setSpare2(deliveryNoticeVo.getSalesOrderNo()); + inStockin.setSpare3(deliveryNoticeVo.getApproveDate()); + inStockin.setSpare4(deliveryNoticeVo.getApproveMan()); inStockin.setSpare5(deliveryNoticeVo.getRemark()); + inStockin.setCompanyShortName(deliveryNoticeVo.getCompanyShortName()); + inStockin.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); + if (exist == null) { inStockinService.insertInStockin(inStockin); } else { @@ -167,41 +445,52 @@ public class ToErpServiceImpl implements IToErpService { inStockinDetailService.deleteInStockinDetailByStockinGuid(inStockin.getStockinGuid()); } List items = deliveryNoticeVo.getDetailList(); - - + int a = 0; for (DeliveryNoticeItemVo item : items) { + a += 1; InStockinDetail detail = new InStockinDetail(); detail.setStockinGuid(inStockin.getStockinGuid()); - detail.setStockinDetailId(inStockin.getStockinId()+"-"+item.getLineNo()); + detail.setStockinDetailId(inStockin.getStockinId() + '-' + a); detail.setStockinId(inStockin.getStockinId()); detail.setProductId(item.getInventoryCode()); detail.setProductName(item.getInventoryName()); detail.setSpec(item.getSpecModel()); detail.setUnit(item.getUnit()); detail.setQuantity(item.getQuantity()); - detail.setLotNo(item.getLotNo()); + if (item.getIsBatchManage().equals("1") && (item.getLotNo().equals("") || item.getLotNo() == null)) { + detail.setLotNo(BatchNoGenerator.generateBatchNo()); + } else { + detail.setLotNo(item.getLotNo()); + } detail.setSpare1(item.getLevelRelation()); detail.setSpare2(item.getUpperMaterial()); detail.setSpare3(item.getTopMaterial()); + detail.setSpare4(item.getProjectNo()); detail.setSpare6(item.getLineNo()); detail.setRemark(item.getRemark()); detail.setAssignNum("0"); detail.setScanNum("0"); + detail.setSourceLineId(item.getSourceLineId()); + detail.setBarCode(item.getBarCode()); + detail.setIsBatchManage(item.getIsBatchManage()); + detail.setOldProjectNo(item.getOldProjectNo()); + detail.setCargoNo(item.getGroupNum()); inStockinDetailService.insertInStockinDetail(detail); - } - return AjaxResult.success(); } } - // 处理出库单相关操作(单据类型5-7) + + // ===================== 出库单 5-7 改造:按立库/平库分两组各1主单多明细 ===================== else if (type >= 5 && type <= 7) { OutStockout param = new OutStockout(); - param.setStockoutId(deliveryNoticeVo.getBillNo()); + param.setErpStockoutId(deliveryNoticeVo.getBillNo()); + param.setAccountSetNo(deliveryNoticeVo.getAccountSetNo()); List outList = outStockoutService.selectOutStockoutList(param); OutStockout exist = (outList != null && !outList.isEmpty()) ? outList.get(0) : null; + String billNo = deliveryNoticeVo.getBillNo(); - // 删除操作(操作类型3) + // 删除操作 不变 if ("3".equals(opType)) { if (exist == null) { return AjaxResult.error("单据不存在"); @@ -210,7 +499,7 @@ public class ToErpServiceImpl implements IToErpService { return AjaxResult.error("单据已执行,禁止删除"); } OutStockoutDetail outStockoutDetail = new OutStockoutDetail(); - outStockoutDetail.setStockoutId(deliveryNoticeVo.getBillNo()); + outStockoutDetail.setStockoutId(billNo); List details = outStockoutDetailService.selectOutStockoutDetailList(outStockoutDetail); if (details != null && !details.isEmpty()) { String[] ids = details.stream().map(OutStockoutDetail::getStockoutDetailId).toArray(String[]::new); @@ -220,114 +509,195 @@ public class ToErpServiceImpl implements IToErpService { return AjaxResult.success(); } - // 新增或修改操作(操作类型1或2) + // 新增/修改 if ("2".equals(opType) || "1".equals(opType)) { if ("2".equals(opType) && exist == null) { return AjaxResult.error("单据不存在,无法修改"); } - if ("1".equals(opType) && exist != null){ + if ("1".equals(opType) && exist != null) { return AjaxResult.error("单据已存在,请勿重复添加"); } - if (exist != null && "3".equals(exist.getStatus()) && "2".equals(opType) ) { + if (exist != null && "3".equals(exist.getStatus()) && "2".equals(opType)) { return AjaxResult.error("单据已执行,禁止修改"); } - OutStockout out = exist != null ? exist : new OutStockout(); - if (exist == null) { - out.setStockoutGuid(UUID.randomUUID().toString()); + List allDetail = deliveryNoticeVo.getDetailList(); + // 1. 按 stg_location 分组 + List liKuList = new ArrayList<>(); + List pingKuList = new ArrayList<>(); + for (DeliveryNoticeItemVo item : allDetail) { + String loc = item.getStg_location(); + if ("2".equals(loc)) { + pingKuList.add(item); + } else { + // 1 或空 都归立库 + liKuList.add(item); + } } - out.setStockoutId(deliveryNoticeVo.getBillNo()); - out.setOutType(deliveryNoticeVo.getBillType()); - out.setCreateDate(deliveryNoticeVo.getBillDate()); - out.setCreateManId(deliveryNoticeVo.getCreateMan()); - out.setStatus("1"); - out.setWarehouseId(deliveryNoticeVo.getWarehouseId()); - out.setStockoutSource("1"); - out.setDepartmentNo(deliveryNoticeVo.getProjectNo()); - out.setCustomerNo(deliveryNoticeVo.getCustomerId()); - out.setClassNowId(deliveryNoticeVo.getCustomerName()); - out.setSpare1(deliveryNoticeVo.getContractNo());//合同号 - out.setSpare2(deliveryNoticeVo.getSalesOrderNo());//销售订单号 - out.setSpare3(deliveryNoticeVo.getApproveDate());//审核时间 - out.setSpare4(deliveryNoticeVo.getApproveMan());//审核人 - out.setSpare5(deliveryNoticeVo.getRemark()); + + // ========== 处理立库:原有主单 + 所有立库明细 ========== + OutStockout mainOut = exist != null ? exist : new OutStockout(); + if (exist == null) { + mainOut.setStockoutGuid(UUID.randomUUID().toString()); + } + if (liKuList.size() > 0) { + String ckdId = iBasJobIdService.getJobId("CKD"); + fillOutStockout(mainOut, deliveryNoticeVo, ckdId); + } + if (exist == null) { - outStockoutService.insertOutStockout(out); + String ckdId = iBasJobIdService.getJobId("CKD"); + fillOutStockout(mainOut, deliveryNoticeVo, ckdId); + outStockoutService.insertOutStockout(mainOut); } else { - outStockoutService.updateOutStockout(out); + outStockoutService.updateOutStockouts(mainOut); + // 修改先删旧明细 OutStockoutDetail q2 = new OutStockoutDetail(); - q2.setStockoutId(deliveryNoticeVo.getBillNo()); + q2.setStockoutId(billNo); List oldDetails = outStockoutDetailService.selectOutStockoutDetailList(q2); if (oldDetails != null && !oldDetails.isEmpty()) { - String[] ids = oldDetails.stream().map(OutStockoutDetail::getStockoutDetailId).toArray(String[]::new); + String[] ids = oldDetails.stream() + .map(OutStockoutDetail::getStockoutDetailId) + .toArray(String[]::new); outStockoutDetailService.deleteOutStockoutDetailByStockoutDetailIds(ids); } } + if (liKuList.size() > 0) { + // 保存所有立库明细到主单 + saveOutDetailList(mainOut, liKuList, "1"); + } - for (DeliveryNoticeItemVo item : deliveryNoticeVo.getDetailList()) { - OutStockoutDetail d = new OutStockoutDetail(); - d.setStockoutDetailId(out.getStockoutId()+"-"+item.getLineNo()); - d.setStockoutGuid(out.getStockoutGuid()); - d.setStockoutId(out.getStockoutId()); - d.setProductId(item.getInventoryCode()); - d.setProductId(item.getInventoryCode()); - d.setLotNo(item.getLotNo()); - d.setSpec(item.getSpecModel()); - d.setUnit(item.getUnit()); - d.setSpare1(item.getLevelRelation()); - d.setSpare2(item.getUpperMaterial()); - d.setSpare3(item.getTopMaterial()); - d.setSpare6(item.getLineNo()); - d.setRemark(item.getRemark()); - - try { - d.setQuantity(new BigDecimal(item.getQuantity())); - d.setAllotQuantity(BigDecimal.ZERO); - d.setAssignNum(BigDecimal.ZERO); - } catch (Exception e) { - d.setQuantity(BigDecimal.ZERO); + // ========== 处理平库:新建一张独立主单 + 所有平库明细 ========== + if (CollUtil.isNotEmpty(pingKuList)) { + OutStockout pingKuOut = new OutStockout(); + pingKuOut.setStockoutGuid(UUID.randomUUID().toString()); + if (pingKuList.size() > 0) { + String pingCkdId = iBasJobIdService.getJobId("CKD"); + fillOutStockout(pingKuOut, deliveryNoticeVo, pingCkdId); + // 插入平库主单 + outStockoutService.insertOutStockout(pingKuOut); + log.info("平库分组生成独立出库单:{},明细条数:{}", pingCkdId, pingKuList.size()); + // 平库所有明细挂到这个新主单 + saveOutDetailList(pingKuOut, pingKuList, "2"); } - outStockoutDetailService.insertOutStockoutDetail(d); + } return AjaxResult.success(); } } return AjaxResult.error("不支持的单据类型或操作类型"); - } + /** + * 填充出库单主表公共字段 + */ + private void fillOutStockout(OutStockout out, DeliveryNoticeVo vo, String ckdId) { + out.setStockoutId(ckdId); + out.setOutType(vo.getBillType()); + out.setCreateDate(vo.getBillDate()); + out.setErpStockoutId(vo.getBillNo()); + out.setCreateManId(vo.getCreateMan()); + out.setStatus("2"); + out.setWarehouseId(vo.getWarehouseId()); + out.setStockoutSource("1"); + out.setSpare6(vo.getOutType()); // 搬运方式 1人工 2agv + out.setCarNumber(vo.getIsProjectOut()); + out.setDepartmentNo(vo.getProjectNo()); + out.setCustomerNo(vo.getCustomerId()); + out.setClassNowId(vo.getCustomerName()); + out.setSpare1(vo.getContractNo()); + out.setSpare2(vo.getSalesOrderNo()); + out.setSpare3(vo.getApproveDate()); + out.setSpare4(vo.getApproveMan()); + out.setSpare5(vo.getRemark()); + out.setSpare7(vo.getDestination()); // 配送终点 + out.setSpare8("2"); // 配送去向 1 缓存 2 线边 默认线边 + out.setCompanyShortName(vo.getCompanyShortName()); + out.setAccountSetNo(vo.getAccountSetNo()); + out.setFID(vo.getIsProjectOut()); // 是否按项目出 1是 0否 + } + + /** + * 批量保存出库明细列表 + */ + private void saveOutDetailList(OutStockout out, List detailList, String warehouseId) { + if (CollUtil.isEmpty(detailList)) { + return; + } + int i = 0; + for (DeliveryNoticeItemVo item : detailList) { + i++; + OutStockoutDetail d = new OutStockoutDetail(); + d.setStockoutDetailId(out.getStockoutId() + "-" + i); + d.setStockoutGuid(out.getStockoutGuid()); + d.setStockoutId(out.getStockoutId()); + d.setProductId(item.getInventoryCode()); + d.setProductName(item.getInventoryName()); + d.setLotNo(item.getLotNo()); + d.setSpec(item.getSpecModel()); + d.setUnit(item.getUnit()); + d.setSpare1(item.getLevelRelation()); + d.setSpare2(item.getUpperMaterial()); + d.setSpare3(item.getTopMaterial()); + d.setSpare4(item.getProjectNo()); + d.setSpare6(item.getLineNo()); + d.setRemark(item.getRemark()); + d.setSourceLineId(item.getSourceLineId()); + d.setBarCode(item.getBarCode()); + d.setIsBatchManage(item.getIsBatchManage()); + d.setOldProjectNo(item.getOldProjectNo()); + d.setProductGuid(item.getStg_location()); + d.setEntryid(item.getGroupNum()); + try { + d.setQuantity(new BigDecimal(item.getQuantity())); + d.setAllotQuantity(BigDecimal.ZERO); + d.setAssignNum(BigDecimal.ZERO); + } catch (Exception e) { + d.setQuantity(BigDecimal.ZERO); + } + outStockoutDetailService.insertOutStockoutDetail(d); + } + out.setWarehouseId(warehouseId); + outStockoutService.updateOutStockout(out); + } + @Override public void callbackInDeliveryNotice() { InStockinBack inStockin = inStockinBackService.selectTopInStockin(); + if (inStockin == null) { + return; + } DeliveryNoticeVo deliveryNoticeVo = new DeliveryNoticeVo(); deliveryNoticeVo.setBillNo(inStockin.getStockinId()); deliveryNoticeVo.setNoteBillNo(inStockin.getStockinId()); deliveryNoticeVo.setBillType(inStockin.getInType()); + deliveryNoticeVo.setOpType("1"); deliveryNoticeVo.setBillDate(inStockin.getCreateDate()); - deliveryNoticeVo.setCreateMan(inStockin.getCreateManId()); +// deliveryNoticeVo.setCreateMan(inStockin.getCreateManId()); deliveryNoticeVo.setWarehouseId(inStockin.getWarehouseId()); deliveryNoticeVo.setProjectNo(inStockin.getDepartmentNo()); deliveryNoticeVo.setCustomerId(inStockin.getSupplierNo()); deliveryNoticeVo.setCustomerName(inStockin.getClassNo()); // 对应receiveDeliveryNotice中的映射 deliveryNoticeVo.setContractNo(inStockin.getSpare1()); - deliveryNoticeVo.setSalesOrderNo(inStockin.getSpare2()); - deliveryNoticeVo.setApproveDate(inStockin.getSpare3()); - deliveryNoticeVo.setApproveMan(inStockin.getSpare4()); - deliveryNoticeVo.setRemark(inStockin.getSpare5()); +// deliveryNoticeVo.setSalesOrderNo(inStockin.getSpare2()); +// deliveryNoticeVo.setApproveDate(inStockin.getSpare3()); +// deliveryNoticeVo.setApproveMan(inStockin.getSpare4()); +// deliveryNoticeVo.setRemark(inStockin.getSpare5()); InStockinDetailBack inStockinDetailParam = new InStockinDetailBack(); inStockinDetailParam.setStockinId(inStockin.getStockinId()); List inStockinDetails = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailParam); - + List detailList = new ArrayList<>(); if (inStockinDetails != null && !inStockinDetails.isEmpty()) { for (InStockinDetailBack detail : inStockinDetails) { DeliveryNoticeItemVo item = new DeliveryNoticeItemVo(); + item.setLineNo(detail.getStockinDetailId()); item.setNotelineNo(detail.getStockinDetailId()); item.setBillNo(detail.getStockinId()); @@ -336,29 +706,240 @@ public class ToErpServiceImpl implements IToErpService { item.setSpecModel(detail.getSpec()); item.setUnit(detail.getUnit()); item.setQuantity(detail.getAssignNum()); - item.setLotNo(detail.getLotNo()); +// item.setLotNo(detail.getLotNo()); item.setLevelRelation(detail.getSpare1()); item.setUpperMaterial(detail.getSpare2()); item.setTopMaterial(detail.getSpare3()); item.setRemark(detail.getRemark()); - item.setArea(detail.getSpare9()); - item.setLocation(detail.getSpare8()); + String[] splitArea = detail.getSpare9().split(","); + String[] splitLocation = detail.getSpare8().split(","); + String[] splitQuantity = detail.getQuantityX().split(","); + ArrayList locationDetails = new ArrayList<>(); + for (int i = 0; i < splitArea.length; i++) { + LocationDetail locationDetail = new LocationDetail(); + locationDetail.setLocationNo(splitLocation[i]); + locationDetail.setQuantity(splitQuantity[i]); + locationDetail.setAreaNo(splitArea[i]); + locationDetail.setLotNo(detail.getLotNo()); + locationDetails.add(locationDetail); + } + item.setLocations(locationDetails); + detailList.add(item); } } deliveryNoticeVo.setDetailList(detailList); - //todo 发送给erp 成功失败改状态 + String sendMsg = JSONUtil.toJsonStr(deliveryNoticeVo); + try { + //todo 发送给erp 成功失败改状态 + RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(deliveryNoticeVo), "入库回传", "wms", "erp"); + if ("1".equals(requestLog.getIsSuccessful())) { + inStockin.setSendStatus("1"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg("成功"); + inStockinDetailParam.setSendStatus("1"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg("成功"); + + } else { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(requestLog.getErrorDetails()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(requestLog.getErrorDetails()); + } + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + + } catch (Exception e) { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(e.getMessage()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(e.getMessage()); + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + } -// return AjaxResult.success(deliveryNoticeVo); } @Override public void callbackoutDeliveryNotice() { + OutStockoutBack outStockoutBack = outStockoutBackService.selelctTopOutStockout(); + if (outStockoutBack == null) { + return; + } + DeliveryNoticeVo deliveryNoticeVo = new DeliveryNoticeVo(); + deliveryNoticeVo.setBillNo(outStockoutBack.getStockoutId()); + deliveryNoticeVo.setNoteBillNo(outStockoutBack.getStockoutId()); + deliveryNoticeVo.setBillType(outStockoutBack.getOutType()); + deliveryNoticeVo.setOpType("1"); + deliveryNoticeVo.setBillDate(outStockoutBack.getCreateDate()); + deliveryNoticeVo.setWarehouseId(outStockoutBack.getWarehouseId()); + deliveryNoticeVo.setProjectNo(outStockoutBack.getDepartmentNo()); + deliveryNoticeVo.setCustomerId(outStockoutBack.getCustomerNo()); + deliveryNoticeVo.setCustomerName(outStockoutBack.getClassNowId()); + deliveryNoticeVo.setContractNo(outStockoutBack.getSpare1()); + + OutStockoutDetailBack outStockoutDetailBack = new OutStockoutDetailBack(); + outStockoutDetailBack.setStockoutId(outStockoutBack.getStockoutId()); +// outStockoutDetailBack.setSendStatus("0"); + List outStockoutDetailBacks = outStockoutDetailBackService.selectOutStockoutDetailBackList(outStockoutDetailBack); + List detailList = new ArrayList<>(); + if (outStockoutDetailBacks != null && !outStockoutDetailBacks.isEmpty()) { + for (OutStockoutDetailBack detail : outStockoutDetailBacks) { + DeliveryNoticeItemVo item = new DeliveryNoticeItemVo(); + item.setLineNo(detail.getStockoutDetailId()); + item.setNotelineNo(detail.getStockoutDetailId()); + item.setInventoryCode(detail.getProductId()); + item.setInventoryName(detail.getProductName()); + item.setSpecModel(detail.getSpec()); + item.setUnit(detail.getUnit()); + item.setQuantity(detail.getQuantity().toString()); + item.setLevelRelation(detail.getSpare1()); + item.setUpperMaterial(detail.getSpare2()); + item.setTopMaterial(detail.getSpare3()); +// item.setLotNo(detail.getLotNo()); + item.setRemark(detail.getRemark()); +// item.setArea(detail.getSpare9()); +// item.setLocation(detail.getSpare8()); + String[] splitArea = detail.getSpare9().split(","); + String[] splitLocation = detail.getSpare8().split(","); + String[] splitQuantity = detail.getQuantityX().split(","); + String[] lotNo = new String[]{}; + if (StrUtil.isNotEmpty(detail.getLotNo())) { + lotNo = detail.getLotNo().split(","); + } + ArrayList locationDetails = new ArrayList<>(); + for (int i = 0; i < splitArea.length; i++) { + LocationDetail locationDetail = new LocationDetail(); + locationDetail.setLocationNo(splitLocation[i]); + locationDetail.setQuantity(splitQuantity[i]); + locationDetail.setAreaNo(splitArea[i]); + locationDetail.setLotNo(lotNo[i]); + locationDetails.add(locationDetail); + } + item.setLocations(locationDetails); + detailList.add(item); + } + deliveryNoticeVo.setDetailList(detailList); + } + + try { + //todo 发送给erp 成功失败改状态 + RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=1", JSONUtil.toJsonStr(deliveryNoticeVo), "出库回传", "wms", "erp"); + if ("1".equals(requestLog.getIsSuccessful())) { + outStockoutBack.setSendStatus("1"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg("成功"); + outStockoutDetailBack.setSendStatus("1"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg("成功"); + + } else { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(requestLog.getErrorDetails()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(requestLog.getErrorDetails()); + } + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + + } catch (Exception e) { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(e.getMessage()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(e.getMessage()); + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + } + } + + @Override + public void moveCargoSpace() { + MoveMsg moveMsg1 = new MoveMsg(); + moveMsg1.setStatus("0"); + List moveMsgs = moveMsgService.selectMoveMsgList(moveMsg1); + MoveMsg moveMsg = new MoveMsg(); + if (moveMsgs.size() > 0) { + moveMsg = moveMsgs.get(0); + } else { + return; + } + + try { + BasStock basStock = new BasStock(); + basStock.setTrayCode(moveMsg.getTrayCode()); + List basStocks = basStockService.selectBasStockList(basStock); + //将basStocks按照stockinId分组 + Map> basStocksMap = basStocks.stream().collect(Collectors.groupingBy(BasStock::getStockinId)); + for (Map.Entry> entry : basStocksMap.entrySet()) { + // 获取 stockinId(键) + String stockinId = entry.getKey(); + + // 获取对应的 basStock 列表(值) + List basStockList = entry.getValue(); + DeliveryNoticeVo deliveryNoticeVo = new DeliveryNoticeVo(); + deliveryNoticeVo.setBillNo(basStockList.get(0).getStockinId()); + //deliveryNoticeVo.setNoteBillNo(basStockList.get(0).getStockinId()); + deliveryNoticeVo.setBillDate(DateUtil.formatDateTime(new Date())); + deliveryNoticeVo.setWarehouseId(basStockList.get(0).getWarehouseId()); + deliveryNoticeVo.setProjectNo(basStockList.get(0).getSpare4()); + deliveryNoticeVo.setBillType("9"); + ArrayList deliveryNoticeItemVos = new ArrayList<>(); + for (BasStock basStock1 : basStockList) { + DeliveryNoticeItemVo item = new DeliveryNoticeItemVo(); + item.setLineNo(basStock1.getStockinDetailId()); + //item.setNotelineNo(basStock1.getStockinDetailId()); + item.setInventoryCode(basStock1.getProductId()); + item.setInventoryName(basStock1.getProductName()); + item.setSpecModel(basStock1.getPower()); + item.setUnit(basStock1.getPhase()); + item.setQuantity(basStock1.getQuantity()); + item.setLevelRelation(basStock1.getSpare1()); + item.setUpperMaterial(basStock1.getSpare2()); + item.setTopMaterial(basStock1.getSpare3()); + item.setLotNo(basStock1.getLotNo()); + item.setAreaBefore(moveMsg.getOldSpace()); + //item.setLocationBefore(moveMsg.getTrayCode()); + item.setArea(moveMsg.getNewSpace()); + item.setLocation(moveMsg.getTrayCode()); + deliveryNoticeItemVos.add(item); + } + deliveryNoticeVo.setDetailList(deliveryNoticeItemVos); + + + //code success msg + RequestLog requestLog = requestLogService.getRequestLog("http://192.168.188.235/app1/api?type=1&key=2", JSONUtil.toJsonStr(deliveryNoticeVo), "移库回传", "wms", "erp"); + moveMsg.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + if ("1".equals(requestLog.getIsSuccessful())) { + moveMsg.setStatus("1"); + moveMsg.setMsg("成功"); + } else { + moveMsg.setStatus("2"); + moveMsg.setMsg(requestLog.getErrorDetails()); + } + + moveMsgService.updateMoveMsg(moveMsg); + } + } catch (Exception e) { + moveMsg.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + moveMsg.setStatus("2"); + moveMsg.setMsg(e.getMessage()); + moveMsgService.updateMoveMsg(moveMsg); + } } + @Override public AjaxResult createWorkshopInboundOrder(BasProduct basProduct) { ErpInterfaceParam param = new ErpInterfaceParam<>(); @@ -382,19 +963,249 @@ public class ToErpServiceImpl implements IToErpService { objectErpParameter.setDatas(List.of(wipTransferDoc)); erpStdData.setParameter(objectErpParameter); param.setStd_data(erpStdData); - RequestLog requestLog = requestLogService.getRequestLog(WORKSHOP_INBOUND_ORDER_URL, JSONUtil.toJsonStr(param), "创建工艺单","wms","erp"); + RequestLog requestLog = requestLogService.getRequestLog(WORKSHOP_INBOUND_ORDER_URL, JSONUtil.toJsonStr(param), "创建工艺单", "wms", "erp"); // String post = requestLog.getResponseBody(); // ErpInterfaceParam bean = JSONUtil.toBean(post, ErpInterfaceParam.class); // if ("0".equals(bean.getStd_data().getExecution().getCode())) { // return AjaxResult.success(); // } - if(requestLog != null && "1".equals(requestLog.getIsSuccessful())){ + if (requestLog != null && "1".equals(requestLog.getIsSuccessful())) { return AjaxResult.success(); - }else{ + } else { return AjaxResult.error(); } } + @Override + public void callbackInDeliveryNoticeNew() { + + InStockinBack inStockin = inStockinBackService.selectTopInStockin(); + if (inStockin == null) { + return; + } + CallBackErp callBackErp = new CallBackErp(); + callBackErp.setCcompany(inStockin.getCompanyShortName()); // 公司简称 + callBackErp.setCcode(inStockin.getStockinId()); // wms 单据号 需要改成作业号 + callBackErp.setDdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); // 操作日期 + callBackErp.setCintype(inStockin.getInType()); // 业务类型 + callBackErp.setCvencode(inStockin.getSupplierNo()); // 供应商编码 + callBackErp.setCvenname(inStockin.getClassNo()); // 供应商名称 + callBackErp.setCoptname(inStockin.getCreateManId()); // 操作人 + callBackErp.setCmemo(inStockin.getRemark()); // 备注 + callBackErp.setCacc_id(inStockin.getAccountSetNo()); // 账套号 + callBackErp.setCwhcode("01"); // 仓库编码 + callBackErp.setCwhname("立体库"); // 仓库名称 + + + // TODO 以下需要重新编写根据给的字段 + InStockinDetailBack inStockinDetailParam = new InStockinDetailBack(); + inStockinDetailParam.setStockinId(inStockin.getStockinId()); + inStockinDetailParam.setSendStatus("0"); + List inStockinDetails = inStockinDetailBackService.selectInStockinDetailBackList(inStockinDetailParam); + + List detailList = new ArrayList<>(); + if (inStockinDetails != null && !inStockinDetails.isEmpty()) { + for (InStockinDetailBack detail : inStockinDetails) { + CallBackErpItems item = new CallBackErpItems(); + // 存货编码11 + item.setCinvcode(detail.getProductId()); + // 存货名称 + item.setCinvname(detail.getProductName()); + // 规格型号 + item.setCinvstd(detail.getSpec()); + // 单位 + item.setCinvm_unit(detail.getUnit()); + // 货位编码 + item.setCposcode(detail.getSpare9()); + item.setJobid(detail.getStockinGuid()); + // 货位名称 + item.setCposname(""); + // 托盘号 + item.setCtrayname(detail.getSpare8()); + //jobid +// item.setJobid(detail.getSpare7()); + // 批号 + item.setCbatch(detail.getLotNo()); + // 数量 + item.setIquantity(Integer.valueOf(detail.getAssignNum())); + // 老项目号 + item.setCxmh(detail.getOldProjectNo()); + // 新项目号 + item.setCnewxmh(detail.getSpare4()); + // erpbillno + item.setSrccode(inStockin.getErpBill()); + // erp来源单子表id + item.setSrcids(Integer.valueOf(detail.getSourceLineId())); + // erp子表行号 + item.setSrcrowno(detail.getSpare6()); + // 是否批次管理 + item.setBinvbatch(Integer.valueOf(detail.getIsBatchManage())); + // 仓库选择 1立库 2 平库 + item.setStg_location(detail.getProductGuid()); + // 组件号 + + System.err.println("组件号赋值 " + detail.getCargoNo()); + item.setGroupNum(detail.getCargoNo()); + System.err.println("组件号赋值 结束"); + detailList.add(item); + } + } + callBackErp.setDetails(detailList); + + String sendMsg = JSONUtil.toJsonStr(callBackErp); + System.err.println(sendMsg); + try { + //todo 发送给erp 成功失败改状态 + // http://192.168.188.235/app1/api?type=1&key=1 + RequestLog requestLog = requestLogService.getRequestLog("https://192.168.188.239:1093/hzgmid/ServerCommand/SaveDataFromWms", JSONUtil.toJsonStr(callBackErp), "入库回传", "wms", "erp", inStockin.getInType(), inStockin.getAccountSetNo()); + if ("1".equals(requestLog.getIsSuccessful())) { + inStockin.setSendStatus("1"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg("成功"); + inStockinDetailParam.setSendStatus("1"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg("成功"); + inStockinDetailBackService.insertInStockInDetailBackFinish(inStockinDetails); + inStockinDetailBackService.deleteInStockInDetailList(inStockinDetails); + } else { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(requestLog.getErrorDetails()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(requestLog.getErrorDetails()); + } + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + + } catch (Exception e) { + inStockin.setSendStatus("2"); + inStockin.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockin.setMsg(e.getMessage()); + inStockinDetailParam.setSendStatus("2"); + inStockinDetailParam.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + inStockinDetailParam.setMsg(e.getMessage()); + inStockinBackService.updateInStockinBack(inStockin); + inStockinDetailBackService.updateInStockinDetailBack(inStockinDetailParam); + } + + } + + @Override + public void callbackDeliveryOutNoticeNew() { + OutStockoutBack outStockoutBack = outStockoutBackService.selelctTopOutStockout(); + if (outStockoutBack == null) { + return; + } + CallBackErp callBackErp = new CallBackErp(); + callBackErp.setCcompany(outStockoutBack.getCompanyShortName()); // 公司简称 + callBackErp.setCcode(outStockoutBack.getStockoutId()); // wms 单据号 + callBackErp.setDdate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); // 操作日期 + callBackErp.setCintype(outStockoutBack.getOutType()); // 业务类型 + callBackErp.setCvencode(outStockoutBack.getCustomerNo()); // 供应商编码 + callBackErp.setCvenname(outStockoutBack.getCustomerNo()); // 供应商名称 + callBackErp.setCoptname(outStockoutBack.getCreateManId()); // 操作人 + callBackErp.setCmemo(outStockoutBack.getRemark()); // 备注 + callBackErp.setCacc_id(outStockoutBack.getAccountSetNo()); // 账套号 + callBackErp.setCwhcode("01"); // 仓库编码 + callBackErp.setCwhname("立体库"); // 仓库名称 + + + OutStockoutDetailBack outStockoutDetailBack = new OutStockoutDetailBack(); + outStockoutDetailBack.setStockoutId(outStockoutBack.getStockoutId()); + outStockoutDetailBack.setSendStatus("0"); +// outStockoutDetailBack.setSendStatus("0"); + List outStockoutDetailBacks = outStockoutDetailBackService.selectOutStockoutDetailBackList(outStockoutDetailBack); + List detailList = new ArrayList<>(); + if (outStockoutDetailBacks != null && !outStockoutDetailBacks.isEmpty()) { + for (OutStockoutDetailBack detail : outStockoutDetailBacks) { + CallBackErpItems item = new CallBackErpItems(); + // 存货编码 + item.setCinvcode(detail.getProductId()); + // 存货名称 + item.setCinvname(detail.getProductName()); + // 规格型号 + item.setCinvstd(detail.getSpec()); + // 单位 + item.setCinvm_unit(detail.getUnit()); + // 货位编码 + item.setCposcode(detail.getSpare9()); + // 货位名称 + item.setCposname(""); + // 托盘号 + item.setCtrayname(detail.getSpare8()); + // 批号 + item.setCbatch(detail.getLotNo()); + + item.setJobid(detail.getStockoutGuid()); +// item.setLotNo(detail.getLotNo()); + // 数量 + item.setIquantity(Integer.parseInt(String.valueOf(detail.getAssignNum()))); + // 老项目号 + item.setCxmh(detail.getOldProjectNo()); + // 新项目号 + item.setCnewxmh(detail.getSpare4()); + // erpbillno + item.setSrccode(outStockoutBack.getErpStockoutId()); + // erp来源单子表id + item.setSrcids(Integer.valueOf(detail.getSourceLineId())); + // erp子表行号 + item.setSrcrowno(detail.getSpare6()); + // 是否批次管理 + item.setBinvbatch(Integer.valueOf(detail.getIsBatchManage())); + // 仓库选择 1立库 2 平库 + item.setStg_location(detail.getProductGuid()); + // TODO 暂时未启用 等甲方后续通知 + item.setGroupNum(detail.getEntryid()); + + detailList.add(item); + } + callBackErp.setDetails(detailList); + + } + + try { + //todo 发送给erp 成功失败改状态 + RequestLog requestLog = requestLogService.getRequestLog("https://192.168.188.239:1093/hzgmid/ServerCommand/SaveDataFromWms", JSONUtil.toJsonStr(callBackErp), "出库回传", "wms", "erp", outStockoutBack.getOutType(), outStockoutBack.getAccountSetNo()); + if ("1".equals(requestLog.getIsSuccessful())) { + outStockoutBack.setSendStatus("1"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg("成功"); + outStockoutDetailBack.setSendStatus("1"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg("成功"); + outStockoutDetailBackService.insertOutStockDetailBackFinish(outStockoutDetailBacks); + outStockoutDetailBackService.deleteOutStockDetailList(outStockoutDetailBacks); + + } else { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(requestLog.getErrorDetails()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(requestLog.getErrorDetails()); + } + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + + } catch (Exception e) { + outStockoutBack.setSendStatus("2"); + outStockoutBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutBack.setMsg(e.getMessage()); + outStockoutDetailBack.setSendStatus("2"); + outStockoutDetailBack.setSendTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date())); + outStockoutDetailBack.setMsg(e.getMessage()); + outStockoutBackService.updateOutStockoutBack(outStockoutBack); + outStockoutDetailBackService.updateOutStockoutDetailBack(outStockoutDetailBack); + } + + } + + @Override + public void callbackDeliveryOutNoticeNews() { + + } + public AjaxResult createOtherInOutboundOrder(TransferBillCallback transferBillCallback) { ErpInterfaceParam param = new ErpInterfaceParam<>(); @@ -404,10 +1215,10 @@ public class ToErpServiceImpl implements IToErpService { ErpInOutBoundOrder erpInOutBoundOrder = new ErpInOutBoundOrder(); String docNo = ""; String docIdDocCode = ""; - if ("1".equals(transferBillCallback.getType())){ + if ("1".equals(transferBillCallback.getType())) { docNo = basJobIdService.getJobId("11T1"); docIdDocCode = "11T1"; - }else { + } else { docNo = basJobIdService.getJobId("11T2"); docIdDocCode = "11T2"; } @@ -428,7 +1239,7 @@ public class ToErpServiceImpl implements IToErpService { for (int i = 0; i < mydoJobDetails.size(); i++) { MydoJobDetail mydoJobDetail = mydoJobDetails.get(i); ErpTransactionDocD erpTransactionDocD = new ErpTransactionDocD(); - erpTransactionDocD.setSequenceNumber(i+1); + erpTransactionDocD.setSequenceNumber(i + 1); erpTransactionDocD.setITEM_ID_ITEM_CODE(mydoJobDetail.getProductId()); erpTransactionDocD.setITEM_DESCRIPTION(mydoJobDetail.getProductName()); erpTransactionDocD.setITEM_SPECIFICATION(mydoJobDetail.getSpec()); @@ -444,11 +1255,11 @@ public class ToErpServiceImpl implements IToErpService { objectErpParameter.setDatas(list); erpStdData.setParameter(objectErpParameter); param.setStd_data(erpStdData); - RequestLog requestLog = requestLogService.getRequestLog( OTHER_IN_OUTBOUND_ORDER_URL, JSONUtil.toJsonStr(param), "创建其他入出库单","wms","erp"); + RequestLog requestLog = requestLogService.getRequestLog(OTHER_IN_OUTBOUND_ORDER_URL, JSONUtil.toJsonStr(param), "创建其他入出库单", "wms", "erp"); - if(requestLog != null && "1".equals(requestLog.getIsSuccessful())){ + if (requestLog != null && "1".equals(requestLog.getIsSuccessful())) { return AjaxResult.success(); - }else{ + } else { return AjaxResult.error(); } // String post = requestLog.getResponseBody(); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java index 967dda8..0c5e949 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWcsServiceImpl.java @@ -33,7 +33,7 @@ public class ToWcsServiceImpl implements IToWcsService { @Autowired private IAgvContainerTaskService agvContainerTaskService; - public static final String PUSH_OUT_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveOutMydoJob"; + public static final String PUSH_OUT_MYDO_JOB = "http://192.168.188.236:8081/wcs2Wms/api/receiveOutMydoJob"; public static final String PUSH_IN_MYDO_JOB = "http://localhost:8081/wcs2Wms/api/receiveInMydoJob"; public static final String PUSH_AGV_MOVE_JOB = "http://localhost:8081/agv/api/receiveAgvMoveJob"; public static final String OUT_MYDOJOB_MS = "http://localhost:8081/wcs2Wms/api/outMydojobMakesure"; @@ -43,15 +43,12 @@ public class ToWcsServiceImpl implements IToWcsService { @Override -// @Scheduled(fixedDelay=1500) + @Scheduled(fixedDelay=1500) public void pushOutMydoJob() { //查询所有未推送的料箱出库作业 MydoJob mydoJobParam = new MydoJob(); mydoJobParam.setStatus("1"); - List list = new ArrayList<>(); - list.add("21"); - list.add("26"); - mydoJobParam.setInOutIds(list); + mydoJobParam.setInOut("2"); List outMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); for (MydoJob outMydoJob : outMydoJobs) { RequestLog requestLog = requestLogService.getRequestLog(PUSH_OUT_MYDO_JOB, JSONUtil.toJsonStr(outMydoJob), "推送出库任务","wms","wcs"); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java index faa09e5..718ca63 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/ToWmsServiceImpl.java @@ -93,27 +93,29 @@ public class ToWmsServiceImpl implements IToWmsService { @Override - @Transactional(rollbackFor = Exception.class) public AjaxResult requestEnterByTrayCode(RequestEnter requestEnter) { String trayCode = requestEnter.getTrayCode(); MydoJob inJob = mydoJobMapper.selectInJobByTrayCode(trayCode); if(inJob != null && Integer.parseInt(inJob.getInOrOut()) < 20){ - if(inJob.getCargoSpaceId() != null && !"".equals(inJob.getCargoSpaceId())){ - return AjaxResult.success(JSONUtil.toJsonStr(inJob)); - }else{ - //分配货位 - HashMap map = new HashMap<>(); +// if(inJob.getCargoSpaceId() != null && !"".equals(inJob.getCargoSpaceId())){ +// return AjaxResult.success(inJob); +// }else{ +// //分配货位 +// HashMap map = new HashMap<>(); +// +// map.put("v_tray_code", trayCode); +// mydoJobMapper.allotInJobSpace(map); +// if (!"10".equals(map.get("v_result").toString())) { +// return AjaxResult.error(map.get("v_resultmsg").toString()); +// }else{ +// +// } +// } + +// MydoJob inJob2 = mydoJobMapper.selectInJobByTrayCode(trayCode); + return AjaxResult.success(inJob); - map.put("v_tray_code", trayCode); - mydoJobMapper.allotInJobSpace(map); - if (!"10".equals(map.get("v_result").toString())) { - return AjaxResult.error(map.get("v_resultmsg").toString()); - }else{ - MydoJob inJob2 = mydoJobMapper.selectInJobByTrayCode(trayCode); - return AjaxResult.success(JSONUtil.toJsonStr(inJob2)); - } - } }else{ return AjaxResult.error("该条码无入库任务,请扫码绑定!"); } @@ -197,9 +199,20 @@ public class ToWmsServiceImpl implements IToWmsService { return AjaxResult.error("任务不存在"); } MydoJob outJob = outMydoJobs.get(0); + //出库作业 outJob.setExecutionPhase("2"); mydoJobService.updateMydoJob(outJob); break; + case "7": + //移库作业 + mydoJobParam.setTaskNo(wmsJobRequest.getTaskNo()); + List ykMydoJobs = mydoJobService.selectMydoJobListApi(mydoJobParam); + if (ykMydoJobs.isEmpty()) { + return AjaxResult.error("任务不存在"); + } + MydoJob ykJob = ykMydoJobs.get(0); + mydoJobService.ykCompleted(ykJob); + break; default: log.error("作业类型错误"); @@ -385,5 +398,32 @@ public class ToWmsServiceImpl implements IToWmsService { return AjaxResult.error(erpProduct.getSys_MainId()+"物料不存在"); } + @Override + public AjaxResult requestEnterByTaskNo(RequestEnter requestEnter) { + String taskNo = requestEnter.getTaskNo(); + String deviceCode = requestEnter.getDeviceCode(); + MydoJob inJob = mydoJobMapper.selectInJobByTaskNo(taskNo); + if(inJob != null && Integer.parseInt(inJob.getInOrOut()) < 20){ + if(inJob.getCargoSpaceId() != null && !"".equals(inJob.getCargoSpaceId())){ + return AjaxResult.success(inJob); + }else{ + //分配货位 + HashMap map = new HashMap<>(); + + map.put("v_tray_code", inJob.getTrayCode()); + map.put("v_code", deviceCode); + mydoJobMapper.allotInJobSpace(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(map.get("v_resultmsg").toString()); + }else{ + MydoJob inJob2 = mydoJobMapper.selectInJobByTaskNo(taskNo); + return AjaxResult.success(inJob2); + } + } + }else{ + return AjaxResult.error("该条码无入库任务,请扫码绑定!"); + } + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/TwinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/TwinServiceImpl.java index 33bb28d..467a480 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/TwinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/api/service/impl/TwinServiceImpl.java @@ -5,6 +5,10 @@ import com.ruoyi.bas.cargoSpace.domain.BasCargoSpace; import com.ruoyi.bas.cargoSpace.service.IBasCargoSpaceService; import com.ruoyi.in.stockinfinish.domain.InStockinFinish; import com.ruoyi.in.stockinfinish.service.IInStockinFinishService; +import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.service.IMydoJobService; +import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; import com.ruoyi.out.outStockoutFinish.domain.OutStockoutFinish; import com.ruoyi.out.outStockoutFinish.service.IOutStockoutFinishService; import com.ruoyi.stock.stock.domain.BasStock; @@ -33,6 +37,10 @@ public class TwinServiceImpl implements ITwinService { private IInStockinFinishService inStockinFinishService; @Autowired private IOutStockoutFinishService outStockoutFinishService; + @Autowired + private IMydoJobService mydoJobService; + @Autowired + private IMydoJobDetailService mydoJobDetailService; @Override public Map getStockListOverview() { @@ -250,4 +258,62 @@ public class TwinServiceImpl implements ITwinService { result.put("monthOutStock", monthOutStock); return result; } + + @Override + public Map getCargo(String cargoSpaceName) { + BasStock basStock = new BasStock(); + basStock.setCargoSpaceId(cargoSpaceName); + List list = basStockService.selectBasStockList(basStock); + List> dataList = new ArrayList<>(); + for (BasStock stock : list) { + Map dataMap = new HashMap<>(); + dataMap.put("productId", stock.getProductId()); + dataMap.put("productName", stock.getProductName()); + dataMap.put("quantity", stock.getQuantity()); + dataMap.put("trayCode", stock.getTrayCode()); + dataList.add(dataMap); + } + Map result = new HashMap<>(); + result.put("data", dataList); + return result; + } + + @Override + public Map getTaskCargo(String taskNo) { + MydoJob mydoJob = new MydoJob(); + mydoJob.setTaskNo(taskNo); + List jobList = mydoJobService.selectMydoJobList(mydoJob); + List> dataList = new ArrayList<>(); + if (jobList != null && !jobList.isEmpty()) { + MydoJob job = jobList.get(0); + String jobId = job.getJobId(); + String inOrOutStr = job.getInOrOut(); + int inOrOut = 0; + try { + inOrOut = Integer.parseInt(inOrOutStr); + } catch (Exception e) { + // Ignore parse error + } + + List details = mydoJobDetailService.selectMydoJobDetailListByJobId(jobId); + for (MydoJobDetail detail : details) { + Map dataMap = new HashMap<>(); + dataMap.put("productId", detail.getProductId()); + dataMap.put("productName", detail.getProductName()); + + String quantity = "0"; + if (inOrOut < 20) { + quantity = detail.getInQuantity(); + } else { + quantity = detail.getOutQuantity(); + } + dataMap.put("quantity", quantity); + dataMap.put("trayCode", detail.getTrayCode()); + dataList.add(dataMap); + } + } + Map result = new HashMap<>(); + result.put("data", dataList); + return result; + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/controller/BasTraycodeController.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/controller/BasTraycodeController.java index 2860e5f..78f9860 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/controller/BasTraycodeController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/controller/BasTraycodeController.java @@ -71,6 +71,7 @@ public class BasTraycodeController extends BaseController @PostMapping public AjaxResult add(@RequestBody BasTraycode basTraycode) { + return toAjax(basTraycodeService.insertBasTraycode(basTraycode)); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/domain/BasTraycode.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/domain/BasTraycode.java index de122ce..7844fbd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/domain/BasTraycode.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/domain/BasTraycode.java @@ -16,16 +16,16 @@ public class BasTraycode extends BaseEntity private static final long serialVersionUID = 1L; /** id */ - @Excel(name = "${bas.Traycode.id}") +// @Excel(name = "${bas.Traycode.id}") private Long id; /** 条码类型id */ - @Excel(name = "${bas.Traycode.formatId}") +// @Excel(name = "${bas.Traycode.formatId}") private Long formatId; private String formatName; /** 条码 */ - @Excel(name = "${bas.Traycode.trayCode}") + @Excel(name = "条码") private String trayCode; /** 备用字段1 */ @@ -33,7 +33,7 @@ public class BasTraycode extends BaseEntity private String spare1; /** 备用字段2 */ -// @Excel(name = "${bas.Traycode.spare2}") + @Excel(name = "是否可用",dictType = "sys_yes_no") private String spare2; /** 备用字段3 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/mapper/BasTraycodeMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/mapper/BasTraycodeMapper.java index cb76145..68e80a6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/mapper/BasTraycodeMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/mapper/BasTraycodeMapper.java @@ -61,4 +61,6 @@ public interface BasTraycodeMapper public int deleteBasTraycodeByIds(Long[] ids); void insertBasTraycodeList(List list); + + Integer selectBasTrayCodeMax(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/IBasTraycodeService.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/IBasTraycodeService.java index 28793c1..eeae6eb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/IBasTraycodeService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/IBasTraycodeService.java @@ -61,4 +61,6 @@ public interface IBasTraycodeService public int deleteBasTraycodeById(Long id); void insertBasTraycodeList(List traycodeList); + + Integer selectBasTrayCodeMax(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/impl/BasTraycodeServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/impl/BasTraycodeServiceImpl.java index f737b01..69ad881 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/impl/BasTraycodeServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycode/service/impl/BasTraycodeServiceImpl.java @@ -1,9 +1,12 @@ package com.ruoyi.bas.traycode.service.impl; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import com.ruoyi.bas.traycode.domain.BasTraycode; import com.ruoyi.bas.traycode.mapper.BasTraycodeMapper; import com.ruoyi.bas.traycode.service.IBasTraycodeService; +import com.ruoyi.bas.traycodeformat.domain.BasTraycodeFormat; +import com.ruoyi.bas.traycodeformat.service.IBasTraycodeFormatService; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -21,6 +24,8 @@ public class BasTraycodeServiceImpl implements IBasTraycodeService { @Autowired private BasTraycodeMapper basTraycodeMapper; + @Autowired + private IBasTraycodeFormatService basTraycodeFormatService; /** * 查询条码信息 @@ -55,8 +60,33 @@ public class BasTraycodeServiceImpl implements IBasTraycodeService @Override public int insertBasTraycode(BasTraycode basTraycode) { - basTraycode.setCreateTime(DateUtils.getNowDate()); - return basTraycodeMapper.insertBasTraycode(basTraycode); + try { + BasTraycodeFormat basTraycodeFormat = basTraycodeFormatService.selectBasTraycodeFormatById(basTraycode.getFormatId()); + + + int i1 = Integer.parseInt(basTraycode.getSpare1()); + //如果i<4位数,前面补0 + String code = ""; + for (int j = 0; j < i1; j++) { + code = String.format("%07d",Convert.toInt( basTraycodeFormat.getSerialRule()) + 1 + j); + if(basTraycodeFormat.getMaxNum() < Convert.toLong( code)){ + throw new RuntimeException("已生成最大值"); + } + String finalCode = basTraycodeFormat.getBarcodeFormat()+code; + basTraycode.setTrayCode(finalCode); + basTraycode.setSpare1(null); + basTraycode.setCreateTime(DateUtils.getNowDate()); + basTraycode.setSpare2("Y"); + basTraycodeMapper.insertBasTraycode(basTraycode); + + + } + basTraycodeFormat.setSerialRule(Convert.toLong( code).toString()); + basTraycodeFormatService.updateBasTraycodeFormat(basTraycodeFormat); + } catch (Exception e) { + throw new RuntimeException(e); + } + return 1; } /** @@ -103,4 +133,9 @@ public class BasTraycodeServiceImpl implements IBasTraycodeService basTraycodeMapper.insertBasTraycodeList(list); } } + + @Override + public Integer selectBasTrayCodeMax() { + return basTraycodeMapper.selectBasTrayCodeMax(); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycodeformat/service/impl/BasTraycodeFormatServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycodeformat/service/impl/BasTraycodeFormatServiceImpl.java index f9d9031..7b4f3a0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/bas/traycodeformat/service/impl/BasTraycodeFormatServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/bas/traycodeformat/service/impl/BasTraycodeFormatServiceImpl.java @@ -1,17 +1,13 @@ package com.ruoyi.bas.traycodeformat.service.impl; -import cn.hutool.core.util.StrUtil; -import com.ruoyi.bas.traycode.domain.BasTraycode; import com.ruoyi.bas.traycode.service.IBasTraycodeService; import com.ruoyi.bas.traycodeformat.domain.BasTraycodeFormat; import com.ruoyi.bas.traycodeformat.mapper.BasTraycodeFormatMapper; import com.ruoyi.bas.traycodeformat.service.IBasTraycodeFormatService; -import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; /** @@ -79,20 +75,7 @@ public class BasTraycodeFormatServiceImpl implements IBasTraycodeFormatService public int updateBasTraycodeFormat(BasTraycodeFormat basTraycodeFormat) { BasTraycodeFormat old = selectBasTraycodeFormatById(basTraycodeFormat.getId()); - int oldSerialRule = Convert.toInt(old.getSerialRule()); - int newSerialRule = Convert.toInt(basTraycodeFormat.getSerialRule()); - - List traycodeList = new ArrayList<>(); - for (int i = oldSerialRule; i < newSerialRule; i++) { - BasTraycode basTraycode = new BasTraycode(); - basTraycode.setFormatId(basTraycodeFormat.getId()); - String traycode = old.getBarcodeFormat()+ StrUtil.padPre(Convert.toStr(i),5,'0'); - basTraycode.setTrayCode(traycode); - traycodeList.add(basTraycode); - } basTraycodeFormat.setUpdateTime(DateUtils.getNowDate()); - //插入条码信息 - basTraycodeService.insertBasTraycodeList(traycodeList); return basTraycodeFormatMapper.updateBasTraycodeFormat(basTraycodeFormat); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java index e280463..7e08309 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/check/stockcheck/service/impl/CheckStockinServiceImpl.java @@ -182,8 +182,8 @@ public class CheckStockinServiceImpl implements ICheckStockinService { CheckStockinDetail checkStockinDetail = detailList.get(i); checkStockinDetail.setStockCheckDetailId(stockCheckId + "-" + (i + 1)); checkStockinDetail.setStockCheckId(stockCheckId); - BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId()); - checkStockinDetail.setProductGuid(basProduct.getProductGuid()); +// BasProduct basProduct = productService.selectBasProductByProductId(checkStockinDetail.getProductId()); +// checkStockinDetail.setProductGuid(basProduct.getProductGuid()); checkStockinDetail.setStockCheckGuid(checkStockin.getStockGuid()); checkStockinDetail.setScanNum("0"); checkStockinDetail.setAssignNum("0"); @@ -229,7 +229,7 @@ public class CheckStockinServiceImpl implements ICheckStockinService { checkStockinMapper.autoAllot(map); builder.append("行明细:" + checkStockinDetail.getStockCheckDetailId() + ",分配结果:" + map.get("v_resultmsg") + "
"); } - iToWcsService.pushOutMydoJob(); + //iToWcsService.pushOutMydoJob(); return AjaxResult.success(builder.toString()); diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/mapper/AgvContainerTaskMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/mapper/AgvContainerTaskMapper.java index 7306baa..fdb6f30 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/mapper/AgvContainerTaskMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/mapper/AgvContainerTaskMapper.java @@ -60,4 +60,6 @@ public interface AgvContainerTaskMapper public int deleteAgvContainerTaskByIds(Long[] ids); void insertHistory(Long id); + + void deleteAgvJobByOrder(String order); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/IAgvContainerTaskService.java b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/IAgvContainerTaskService.java index 7df0984..8dba646 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/IAgvContainerTaskService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/IAgvContainerTaskService.java @@ -60,4 +60,6 @@ public interface IAgvContainerTaskService public int deleteAgvContainerTaskById(Long id); void insertHistory(Long id); + + void deleteAgvJobByOrder(String order); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/impl/AgvContainerTaskServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/impl/AgvContainerTaskServiceImpl.java index b8307cb..075c419 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/impl/AgvContainerTaskServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/device/agv/service/impl/AgvContainerTaskServiceImpl.java @@ -97,4 +97,9 @@ public class AgvContainerTaskServiceImpl implements IAgvContainerTaskService public void insertHistory(Long id) { agvContainerTaskMapper.insertHistory(id); } + + @Override + public void deleteAgvJobByOrder(String order) { + agvContainerTaskMapper.deleteAgvJobByOrder(order); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java index e82e973..802c4e2 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/domain/InStockin.java @@ -102,8 +102,54 @@ public class InStockin extends BaseEntity private String lotNo; private String materialDesc; + private String productId; private String startDate; + private String companyShortName; + private String accountSetNo; + private String cargoNo; + private String stockinDetailId; + + public String getProductId() { + return productId; + } + + public void setProductId(String productId) { + this.productId = productId; + } + + public String getStockinDetailId() { + return stockinDetailId; + } + + public void setStockinDetailId(String stockinDetailId) { + this.stockinDetailId = stockinDetailId; + } + + public String getCargoNo() { + return cargoNo; + } + + public void setCargoNo(String cargoNo) { + this.cargoNo = cargoNo; + } + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } + private List typeData; public String getStartDate() { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java index 3be6e24..39f2f58 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/mapper/InStockinMapper.java @@ -66,4 +66,6 @@ public interface InStockinMapper void insertInStockinHistory(InStockin inStockin); List selectStockinByDetail(String stockinDetailId); + + List selectInStockinListBill(InStockin param); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java index 6ceece1..a73599a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/IInStockinService.java @@ -73,4 +73,6 @@ public interface IInStockinService public int deleteInStockinByStockinGuid(String stockinGuid); public List selectStockinByDetail(String stockinDetailId); + + List selectInStockinListBill(InStockin param); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java index 0448f63..d9545af 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockin/service/impl/InStockinServiceImpl.java @@ -255,4 +255,9 @@ public class InStockinServiceImpl implements IInStockinService public List selectStockinByDetail(String stockinDetailId) { return inStockinMapper.selectStockinByDetail(stockinDetailId); } + + @Override + public List selectInStockinListBill(InStockin param) { + return inStockinMapper.selectInStockinListBill(param); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java index e97d854..e739fe0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinback/domain/InStockinBack.java @@ -95,6 +95,24 @@ public class InStockinBack extends BaseEntity private String sendTime; private String msg; + private String companyShortName; + private String accountSetNo; + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } public String getSendStatus() { return sendStatus; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java index 68990fe..233d1f3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/domain/InStockinDetailBack.java @@ -152,6 +152,44 @@ public class InStockinDetailBack extends BaseEntity private String msg; + + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + public String getSourceLineId() { + return sourceLineId; + } + + public void setSourceLineId(String sourceLineId) { + this.sourceLineId = sourceLineId; + } + + public String getBarCode() { + return barCode; + } + + public void setBarCode(String barCode) { + this.barCode = barCode; + } + + public String getIsBatchManage() { + return isBatchManage; + } + + public void setIsBatchManage(String isBatchManage) { + this.isBatchManage = isBatchManage; + } + + public String getOldProjectNo() { + return oldProjectNo; + } + + public void setOldProjectNo(String oldProjectNo) { + this.oldProjectNo = oldProjectNo; + } + public String getSendStatus() { return sendStatus; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java index ede4f51..9ddc0ac 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/mapper/InStockinDetailBackMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.ruoyi.in.stockin.domain.InStockin; import com.ruoyi.in.stockindeatilback.domain.InStockinDetailBack; +import org.apache.ibatis.annotations.Param; /** * 入库单据子信息Mapper接口 @@ -61,4 +62,8 @@ public interface InStockinDetailBackMapper * @return 结果 */ public int deleteInStockinDetailBackByStockinDetailIds(String[] stockinDetailIds); + + void insertInStockInDetailBackFinish(@Param("list") List inStockinDetailParam); + + void deleteInStockInDetailList(@Param("idList") List inStockinDetails); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java index c511d79..9b1b1fb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/IInStockinDetailBackService.java @@ -58,4 +58,8 @@ public interface IInStockinDetailBackService * @return 结果 */ public int deleteInStockinDetailBackByStockinDetailId(String stockinDetailId); + + void insertInStockInDetailBackFinish(List inStockinDetails); + + void deleteInStockInDetailList(List inStockinDetails); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java index 0821f61..9ec707c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindeatilback/service/impl/InStockinDetailBackServiceImpl.java @@ -90,4 +90,14 @@ public class InStockinDetailBackServiceImpl implements IInStockinDetailBackServi { return inStockinDetailBackMapper.deleteInStockinDetailBackByStockinDetailId(stockinDetailId); } + + @Override + public void insertInStockInDetailBackFinish(List inStockinDetails) { + inStockinDetailBackMapper.insertInStockInDetailBackFinish(inStockinDetails); + } + + @Override + public void deleteInStockInDetailList(List inStockinDetails) { + inStockinDetailBackMapper.deleteInStockInDetailList(inStockinDetails); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java index 2f00a9d..c6080e8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/domain/InStockinDetail.java @@ -143,9 +143,13 @@ public class InStockinDetail extends BaseEntity private String status; private ExtraField extraField; + private String erpBill; private String warehouseName; private String warehouseId; - + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java index baa5ba4..93bbedd 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/mapper/InStockinDetailMapper.java @@ -69,4 +69,6 @@ public interface InStockinDetailMapper void deleteInStockinDetailByStockinGuid(String stockinGuid); InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail); + + List selectStockInByDetailByBarCode(String barCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java index aef8ee6..075e964 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/IInStockinDetailService.java @@ -81,4 +81,6 @@ public interface IInStockinDetailService public InStockinDetail selectStockinByDetailById(InStockinDetail inStockinDetail); + + List selectStockInByDetailByBarCode(String barCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java index 1763b66..07d21a4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockindetail/service/impl/InStockinDetailServiceImpl.java @@ -127,4 +127,9 @@ public class InStockinDetailServiceImpl implements IInStockinDetailService return inStockinDetailMapper.selectStockinByDetailById(inStockinDetail); } + + @Override + public List selectStockInByDetailByBarCode(String barCode) { + return inStockinDetailMapper.selectStockInByDetailByBarCode(barCode); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/domain/InStockinFinish.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/domain/InStockinFinish.java index 340a94c..ef1507d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/domain/InStockinFinish.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/domain/InStockinFinish.java @@ -89,6 +89,15 @@ public class InStockinFinish extends BaseEntity /** 备用字段5 */ @Excel(name = "备用字段5") private String spare5; + private String stockinDetailId; + + public String getStockinDetailId() { + return stockinDetailId; + } + + public void setStockinDetailId(String stockinDetailId) { + this.stockinDetailId = stockinDetailId; + } public void setStockinGuid(String stockinGuid) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java index ad28711..7277d7f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/in/stockinfinish/service/impl/InStockinFinishServiceImpl.java @@ -102,7 +102,7 @@ public class InStockinFinishServiceImpl implements IInStockinFinishService } @Override - @DataScope(warehouseAlias = "is2") +// @DataScope(warehouseAlias = "is2") public List selectInStockinFinishListByInStockin(InStockin inStockin) { return inStockinFinishMapper.selectInStockinFinishListByInStockin(inStockin); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/MydoJob.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/MydoJob.java index 8648241..8caa432 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/MydoJob.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/domain/MydoJob.java @@ -124,6 +124,9 @@ public class MydoJob extends BaseEntity /** 重分标记 */ @Excel(name = "重分标记") private String faultFlag; + private String endPoint; + + private String inOut; @@ -133,6 +136,23 @@ public class MydoJob extends BaseEntity private String createRightTime; private String productId; + private String stockinDetailId; + + public String getEndPoint() { + return endPoint; + } + + public void setEndPoint(String endPoint) { + this.endPoint = endPoint; + } + + public String getStockinDetailId() { + return stockinDetailId; + } + + public void setStockinDetailId(String stockinDetailId) { + this.stockinDetailId = stockinDetailId; + } public String getProductId() { return productId; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java index d10a63f..d6be1f0 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/mapper/MydoJobMapper.java @@ -82,5 +82,14 @@ public interface MydoJobMapper MydoJob selectInJobByTrayCode(@Param("trayCode") String trayCode); + MydoJob selectInJobByTaskNo(@Param("taskNo") String taskNo); + + void allotInJobSpace(HashMap map); + + void ykCompleted(HashMap map); + + void updateLed(HashMap map); + + void updateLedError(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java index 7bc45ff..0f60062 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/IMydoJobService.java @@ -109,4 +109,6 @@ public interface IMydoJobService MydoJob selectMydoJobByEntranceId(MydoJob mydoJob); List getInJobBySerial(String serial); + + void ykCompleted(MydoJob outJob); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java index f801eb1..9dd3046 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojob/service/impl/MydoJobServiceImpl.java @@ -192,7 +192,7 @@ public class MydoJobServiceImpl implements IMydoJobService { List mydoJobDetails = mydoJobDetailService.selectMydoJobDetailList(param); for (MydoJobDetail mydoJobDetail : mydoJobDetails) { - String inOrOutDId = mydoJobDetail.getInOrOutDId(); + String inOrOutDId = mydoJobDetail.getStockinDetailId(); InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inOrOutDId); BigDecimal stockInNum = Convert.toBigDecimal(inStockinDetail.getScanNum()); BigDecimal jobInNum = Convert.toBigDecimal(mydoJobDetail.getInQuantity()); @@ -506,7 +506,7 @@ public class MydoJobServiceImpl implements IMydoJobService { msg = map.get("v_resultmsg").toString(); builder.append("托盘:" + basStock.getTrayCode() + ",分配结果:" + msg + "
"); } - iToWcsService.pushOutMydoJob(); + //iToWcsService.pushOutMydoJob(); if (!StrUtil.isEmpty(builder)) { return AjaxResult.warn(builder.toString()); } @@ -527,4 +527,17 @@ public class MydoJobServiceImpl implements IMydoJobService { public List getInJobBySerial(String trayCode) { return mydoJobMapper.getInJobBySerial(trayCode); } + + @Override + public void ykCompleted(MydoJob outJob) { + HashMap map = new HashMap<>(); + map.put("v_job_id", outJob.getJobId()); + map.put("v_result", null); + mydoJobMapper.ykCompleted(map); + if (!"10".equals(map.get("v_result").toString())) { + log.error("移库任务处理异常 异常代码{}", map.get("v_result")); + }else{ + log.info("移库任务处理成功 jobId:[{}] trayCode:[{}]", outJob.getJobId(), outJob.getTrayCode()); + } + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/PkDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/PkDetail.java new file mode 100644 index 0000000..e0faf1b --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/job/mydojobdetail/domain/PkDetail.java @@ -0,0 +1,27 @@ +package com.ruoyi.job.mydojobdetail.domain; + +import java.io.Serializable; + +public class PkDetail implements Serializable { + private String stockinDetailId; + private String quantity; + + + public String getStockinDetailId() { + return stockinDetailId; + } + + public void setStockinDetailId(String stockinDetailId) { + this.stockinDetailId = stockinDetailId; + } + + public String getQuantity() { + return quantity; + } + + public void setQuantity(String quantity) { + this.quantity = quantity; + } + + +} diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/controller/RequestLogController.java b/ruoyi-admin/src/main/java/com/ruoyi/log/controller/RequestLogController.java index 226575a..339e569 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/controller/RequestLogController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/controller/RequestLogController.java @@ -85,6 +85,34 @@ public class RequestLogController extends BaseController return toAjax(requestLogService.updateRequestLog(requestLog)); } + + + + + @GetMapping("/getMethod") + public AjaxResult getMethod() + { + List strings=requestLogService.getMethod(); + return AjaxResult.success(requestLogService.getMethod()); + } + + // 获取原系统 + @GetMapping("/getSource") + public AjaxResult getSource() + { + List strings=requestLogService.getSource(); + return AjaxResult.success(requestLogService.getSource()); + } + // 获取目标系统 + @GetMapping("/getTarget") + public AjaxResult getTarget() + { + List strings=requestLogService.getTarget(); + return AjaxResult.success(requestLogService.getTarget()); + } + + + /** * 删除接口记录 */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/mapper/RequestLogMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/log/mapper/RequestLogMapper.java index ba0c60a..34d1da1 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/mapper/RequestLogMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/mapper/RequestLogMapper.java @@ -59,4 +59,10 @@ public interface RequestLogMapper * @return 结果 */ public int deleteRequestLogByRequestIds(Long[] requestIds); + + List getMethod(); + + List getSource(); + + List getTarget(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java b/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java index bda1022..1a40a4c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/service/IRequestLogService.java @@ -69,6 +69,7 @@ public interface IRequestLogService * @return */ public RequestLog getRequestLog(String url, String param, String remark,String source,String target); + public RequestLog getRequestLog(String url, String param, String remark,String source,String target,String billType,String ciccid); /** * 接收接口记录 * @@ -77,4 +78,12 @@ public interface IRequestLogService * @return */ public RequestLog getRequestLog(String param, String remark, AjaxResult ajaxResult); + + public RequestLog getRequestLogERP(String param, String remark, AjaxResult ajaxResult); + + List getMethod(); + + List getSource(); + + List getTarget(); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java index f605af0..7c91349 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/log/service/impl/RequestLogServiceImpl.java @@ -3,6 +3,8 @@ package com.ruoyi.log.service.impl; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.net.URLEncodeUtil; +import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONUtil; import com.ruoyi.common.core.domain.AjaxResult; @@ -122,8 +124,10 @@ public class RequestLogServiceImpl implements IRequestLogService requestLog.setRequestBody(param); requestLog.setRequestUrl(url); try { - String resStr = HttpUtil.post(url, param); +// String resStr = HttpRequest.post(url).contentType("application/x-www-from-urlencoded").timeout(2000).body(param).execute().body(); + String resStr = HttpUtil.post(url, param); + requestLog.setResponseBody(resStr); // 判断resStr的状态码,如果不是200抛出异常让catch捕获 if (!JSONUtil.isJsonObj(resStr)) { throw new RuntimeException("返回结果不是有效的JSON对象"); @@ -133,7 +137,6 @@ public class RequestLogServiceImpl implements IRequestLogService if (codeObj == null || !codeObj.toString().equals("200")) { throw new RuntimeException("请求失败,状态码: " + (codeObj != null ? codeObj.toString() : "null")); } - requestLog.setResponseBody(resStr); requestLog.setResponseTime(DateUtil.formatDateTime(new Date())); requestLog.setResponseStatus("1"); requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS))); @@ -148,6 +151,53 @@ public class RequestLogServiceImpl implements IRequestLogService return requestLog; } + @Override + public RequestLog getRequestLog(String url, String param, String remark, String source, String target, String billType, String ciccid) { + String body = "datajson=" + param + + "&ibilltype=" + URLEncodeUtil.encodeAll(billType) + + "&cacc_id=" + URLEncodeUtil.encodeAll(ciccid); + + RequestLog requestLog = new RequestLog(); + requestLog.setRequestTime(DateUtil.formatDateTime(new Date())); + requestLog.setSourceSystem(source); + requestLog.setTargetSystem(target); + requestLog.setEndpoint(remark); + requestLog.setRequestMethod("post"); + requestLog.setRequestHeaders(null); + requestLog.setRequestBody(body); + requestLog.setRequestUrl(url); + try { + String resStr = HttpRequest.post(url) + .contentType("application/x-www-form-urlencoded;charset=UTF-8") + .body(body) + .execute().body(); + + requestLog.setResponseBody(resStr); + // 判断resStr的状态码,如果不是200抛出异常让catch捕获 + if (!JSONUtil.isJsonObj(resStr)) { + throw new RuntimeException("返回结果不是有效的JSON对象"); + } + cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(resStr); + Object codeObj = jsonObject.get("ErrCode"); + if (codeObj == null || !codeObj.toString().equals("0")) { + throw new RuntimeException("请求失败,状态码: " + (codeObj != null ? codeObj.toString() : "null")); + } + requestLog.setResponseTime(DateUtil.formatDateTime(new Date())); + requestLog.setResponseStatus("1"); + requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS))); + requestLog.setIsSuccessful("1"); + } catch (Exception e) { + requestLog.setErrorDetails(e.getMessage()); + requestLog.setIsSuccessful("0"); + requestLog.setResponseStatus("0"); + } finally { + insertRequestLog(requestLog); + } + return requestLog; + } + + + /** * 插入请求日志 * @@ -173,4 +223,46 @@ public class RequestLogServiceImpl implements IRequestLogService requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg"))); return requestLog; } + + @Override + public RequestLog getRequestLogERP(String param, String remark, AjaxResult ajaxResult) { + RequestLog requestLog = new RequestLog(); + requestLog.setRequestTime(DateUtil.formatDateTime(new Date())); + requestLog.setRequestBody(param); + requestLog.setSourceSystem("erp"); + requestLog.setTargetSystem("wms"); + requestLog.setEndpoint(remark); + requestLog.setRequestMethod("post"); + requestLog.setResponseTime(DateUtil.formatDateTime(new Date())); + requestLog.setDuration(Convert.toStr(DateUtil.between(Convert.toDate(requestLog.getRequestTime()), Convert.toDate(requestLog.getResponseTime()), DateUnit.MS))); + requestLog.setResponseStatus("1"); + if (ajaxResult.isSuccess()){ + requestLog.setIsSuccessful("1"); + }else { + requestLog.setIsSuccessful("0"); + } + requestLog.setResponseBody(Convert.toStr(ajaxResult.get("msg"))); + return requestLog; + } + + @Override + public List getMethod() { + + return requestLogMapper.getMethod(); + } + + @Override + public List getSource() { + return requestLogMapper.getSource(); + } + + @Override + public List getTarget() { + return requestLogMapper.getTarget(); + } + + public static void main(String[] args) { + String aa = "{\"code\":\"200,\"success\":true,\"msg\":\"请求成功\"}"; + System.out.println(JSONUtil.isJsonObj(aa)); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java index 1378ddb..471961e 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/controller/ViewHandAllotStockController.java @@ -42,6 +42,9 @@ public class ViewHandAllotStockController extends BaseController public TableDataInfo list(ViewHandAllotStock viewHandAllotStock) { startPage(); + if (viewHandAllotStock.getWarehouseCode()==null||viewHandAllotStock.getWarehouseCode().equals("")){ + viewHandAllotStock.setWarehouseCode("1"); + } List list = viewHandAllotStockService.selectViewHandAllotStockList(viewHandAllotStock); return getDataTable(list); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java index ede42a8..006e27f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/handAllotStock/domain/ViewHandAllotStock.java @@ -4,6 +4,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.ruoyi.common.annotation.Excel; import com.ruoyi.common.core.domain.BaseEntity; +import org.springframework.data.annotation.Transient; /** * 手动分配库存对象 view_hand_allot_stock @@ -187,7 +188,38 @@ public class ViewHandAllotStock extends BaseEntity @Excel(name = "货位锁") private String locked; - public void setStockId(String stockId) + @Transient + private String ktpType; + @Transient + private String productType; + @Transient + private String warehouseCode; + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getKtpType() { + return ktpType; + } + + public void setKtpType(String ktpType) { + this.ktpType = ktpType; + } + + public String getProductType() { + return productType; + } + + public void setProductType(String productType) { + this.productType = productType; + } + + public void setStockId(String stockId) { this.stockId = stockId; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java index e438e28..007188b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/controller/OutStockoutController.java @@ -35,7 +35,7 @@ public class OutStockoutController extends BaseController { /** * 查询出库主单列表 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:list')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:list')") @GetMapping("/list") public TableDataInfo list(OutStockout outStockout) { startPage(); @@ -51,7 +51,7 @@ public class OutStockoutController extends BaseController { /** * 导出出库主单列表 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:export')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:export')") @Log(title = "出库主单", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, OutStockout outStockout) { @@ -63,7 +63,7 @@ public class OutStockoutController extends BaseController { /** * 获取出库主单详细信息 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:query')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:query')") @GetMapping(value = "/{stockoutGuid}") public AjaxResult getInfo(@PathVariable("stockoutGuid") String stockoutGuid) { return success(outStockoutService.selectOutStockoutByStockoutGuid(stockoutGuid)); @@ -72,7 +72,7 @@ public class OutStockoutController extends BaseController { /** * 新增出库主单 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:add')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:add')") @Log(title = "出库主单", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody OutStockout outStockout) { @@ -82,7 +82,7 @@ public class OutStockoutController extends BaseController { /** * 修改出库主单 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:edit')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:edit')") @Log(title = "出库主单", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody OutStockout outStockout) { @@ -92,7 +92,7 @@ public class OutStockoutController extends BaseController { /** * 删除出库主单 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:remove')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:remove')") @Log(title = "出库主单", businessType = BusinessType.DELETE) @DeleteMapping("/{stockoutGuids}") public AjaxResult remove(@PathVariable String[] stockoutGuids) { @@ -107,7 +107,7 @@ public class OutStockoutController extends BaseController { */ @Log(title = "出库主单保存", businessType = BusinessType.OTHER) @PostMapping("/saveBill") - @PreAuthorize("@ss.hasPermi('out:outStockout:saveBill')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:saveBill')") @ResponseBody public AjaxResult saveBill(@RequestBody OutStockoutVo outStockoutVo) { String stockOutId = outStockoutService.saveBill(outStockoutVo); @@ -117,7 +117,7 @@ public class OutStockoutController extends BaseController { /** * 出库单据状态改变 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:changeStatus')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:changeStatus')") @Log(title = "出库主单状态改变", businessType = BusinessType.OTHER) @RequestMapping("/changeStatus") @ResponseBody @@ -132,17 +132,24 @@ public class OutStockoutController extends BaseController { * @param stockoutId * @return */ - @PreAuthorize("@ss.hasPermi('out:outStockout:autoAllot')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:autoAllot')") @Log(title = "出库单自动分配", businessType = BusinessType.OTHER) @GetMapping("/autoAllot") public AjaxResult autoAllot(@RequestParam("stockoutId") String stockoutId) { + // 修改出库方向 +// OutStockout outStockout = new OutStockout(); +// outStockout.setStockoutId(stockoutId); +// outStockout.setSpare8(spare8); +// outStockoutService.updateOutStockout(outStockout); + System.out.println(stockoutId); +// System.out.println(spare8); return outStockoutService.autoAllot(stockoutId); } /** * 手动分配 */ - @PreAuthorize("@ss.hasPermi('out:outStockout:manualAllot')") +// @PreAuthorize("@ss.hasPermi('out:outStockout:manualAllot')") @Log(title = "出库单手动分配", businessType = BusinessType.OTHER) @GetMapping("/manualAllot") public AjaxResult manualAllot(@RequestParam("stockList") String[] stockList, @RequestParam("stockoutDetailId") String stockoutDetailId) { diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java index 8403648..ae75547 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/domain/OutStockout.java @@ -91,6 +91,9 @@ public class OutStockout extends BaseEntity private String spare4; private String spare5; + private String spare6; + private String spare7; + private String spare8; private String customerName; @@ -99,9 +102,51 @@ public class OutStockout extends BaseEntity private String productId; private String productName; + private String companyShortName; + private String accountSetNo; + + public String getCompanyShortName() { + return companyShortName; + } + + public void setCompanyShortName(String companyShortName) { + this.companyShortName = companyShortName; + } + + public String getAccountSetNo() { + return accountSetNo; + } + + public void setAccountSetNo(String accountSetNo) { + this.accountSetNo = accountSetNo; + } private List typeData; + public String getSpare6() { + return spare6; + } + + public void setSpare6(String spare6) { + this.spare6 = spare6; + } + + public String getSpare7() { + return spare7; + } + + public void setSpare7(String spare7) { + this.spare7 = spare7; + } + + public String getSpare8() { + return spare8; + } + + public void setSpare8(String spare8) { + this.spare8 = spare8; + } + public List getTypeData() { return typeData; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java index c5c4496..451f337 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/mapper/OutStockoutMapper.java @@ -68,4 +68,6 @@ public interface OutStockoutMapper OutStockout selectOutStockoutByStockoutId(String stockoutId); void manualAllot(HashMap map); + + void updateOutStockouts(OutStockout mainOut); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java index 94b2787..0a97a3f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/IOutStockoutService.java @@ -73,4 +73,6 @@ public interface IOutStockoutService List selectOutStockoutListApi(OutStockout outStockoutParam); AjaxResult manualAllot(String[] stockList,String stockoutDetailId); + + void updateOutStockouts(OutStockout mainOut); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java index 02f0c1f..8033931 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockout/service/impl/OutStockoutServiceImpl.java @@ -180,10 +180,11 @@ public class OutStockoutServiceImpl implements IOutStockoutService for (OutStockoutDetail detail : outStockoutDetails) { if (detail.getAllotQuantity().compareTo(detail.getQuantity()) < 0){ map.put("v_stockout_detail_id", detail.getStockoutDetailId()); + map.put("v_result", null); + map.put("v_resultmsg", null); outStockoutMapper.autoAllot(map); - toWcsService.pushOutMydoJob(); if (!"10".equals(map.get("v_result"))){ - stringBuilder.append(",").append(detail.getStockoutDetailId()+map.get("v_resultString")); + stringBuilder.append(",").append(detail.getStockoutDetailId()+map.get("v_resultmsg")); } }else{ stringBuilder.append(",").append(detail.getStockoutDetailId()+"单据已分配完成"); @@ -209,7 +210,7 @@ public class OutStockoutServiceImpl implements IOutStockoutService map.put("v_stockout_detail_id", stockoutDetailId); map.put("v_stock_id", stock); outStockoutMapper.manualAllot(map); - toWcsService.pushOutMydoJob(); + //toWcsService.pushOutMydoJob(); if (!"10".equals(map.get("v_result"))){ stringBuilder.append(",").append(stockoutDetailId+map.get("v_resultString")); } @@ -219,4 +220,9 @@ public class OutStockoutServiceImpl implements IOutStockoutService } return AjaxResult.success(); } + + @Override + public void updateOutStockouts(OutStockout mainOut) { + outStockoutMapper.updateOutStockouts(mainOut); + } } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java index 4027dd2..a67c485 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/outStockoutDetail/domain/OutStockoutDetail.java @@ -48,7 +48,7 @@ public class OutStockoutDetail extends BaseEntity /** 计划数量(箱) */ @Excel(name = "计划数量", readConverterExp = "箱=") - private BigDecimal quantityX; + private String quantityX; /** 计划数量(件) */ @Excel(name = "计划数量", readConverterExp = "件=") @@ -200,6 +200,42 @@ public class OutStockoutDetail extends BaseEntity private String spare9; + private String sourceLineId; + private String barCode; + private String isBatchManage; + private String oldProjectNo; + + public String getSourceLineId() { + return sourceLineId; + } + + public void setSourceLineId(String sourceLineId) { + this.sourceLineId = sourceLineId; + } + + public String getBarCode() { + return barCode; + } + + public void setBarCode(String barCode) { + this.barCode = barCode; + } + + public String getIsBatchManage() { + return isBatchManage; + } + + public void setIsBatchManage(String isBatchManage) { + this.isBatchManage = isBatchManage; + } + + public String getOldProjectNo() { + return oldProjectNo; + } + + public void setOldProjectNo(String oldProjectNo) { + this.oldProjectNo = oldProjectNo; + } public String getSpare1() { return spare1; @@ -407,14 +443,12 @@ public class OutStockoutDetail extends BaseEntity return quantity; } - public void setQuantityX(BigDecimal quantityX) - { - this.quantityX = quantityX; + public String getQuantityX() { + return quantityX; } - public BigDecimal getQuantityX() - { - return quantityX; + public void setQuantityX(String quantityX) { + this.quantityX = quantityX; } public void setQuantityJ(BigDecimal quantityJ) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java index e536960..90f41d4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/out/productAndStock/controller/ViewProductAndStockController.java @@ -35,7 +35,7 @@ public class ViewProductAndStockController extends BaseController private IViewProductAndStockService viewProductAndStockService; /** - * 查询库存物资列表 +// * 查询库存物资列表 */ @PreAuthorize("@ss.hasPermi('productAndStock:productAndStock:list')") @GetMapping("/list") diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java index 2c2cb57..21167df 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/controller/PdaController.java @@ -2,26 +2,42 @@ package com.ruoyi.pda.controller; import com.ruoyi.api.domain.RequestEnter; import com.ruoyi.api.domain.WcsPort; +import com.ruoyi.bas.agvPoint.domain.AgvPoint; +import com.ruoyi.bas.agvPoint.domain.AgvTask; +import com.ruoyi.bas.agvPoint.service.impl.AgvPointServiceImpl; 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.common.utils.StringUtils; +import com.ruoyi.device.agv.domain.AgvContainerTask; +import com.ruoyi.device.agv.service.IAgvContainerTaskService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; +import com.ruoyi.job.mydojob.domain.MydoJob; +import com.ruoyi.job.mydojob.service.IMydoJobService; +import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.out.outStockout.domain.OutStockout; +import com.ruoyi.out.outStockout.service.impl.OutStockoutServiceImpl; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetail.service.impl.OutStockoutDetailServiceImpl; import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMsg; +import com.ruoyi.pda.mapper.PdaMapper; import com.ruoyi.pda.service.PdaService; import com.ruoyi.stock.stock.domain.BasStock; +import com.ruoyi.stock.stock.service.IBasStockService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.bind.annotation.*; +import java.util.HashMap; import java.util.List; +import java.util.UUID; @Controller @RequestMapping("/pda") @@ -32,6 +48,20 @@ public class PdaController extends BaseController { private PdaService pdaService; @Autowired private IInStockinDetailService iInStockinDetailService; + @Autowired + private OutStockoutServiceImpl outStockoutService; + @Autowired + private OutStockoutDetailServiceImpl outStockoutDetailService; + @Autowired + private AgvPointServiceImpl agvPointService; + @Autowired + private IAgvContainerTaskService agvContainerTaskService; + @Autowired + private PdaMapper pdaMapper; + @Autowired + private IMydoJobService mydoJobService; + @Autowired + private IBasStockService basStockService; /** * 查询是否有半满托盘 @@ -46,11 +76,11 @@ public class PdaController extends BaseController { /** * 通过单据码查询物料详情 */ - @RequestMapping("/selectDetailById") + @RequestMapping("/selectDetailByIds") @ResponseBody - public AjaxResult selectDetailById(String inStockinDetailId) { + public AjaxResult selectDetailByIds(String inStockinDetailId) { InStockinDetail inStockinDetail = iInStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId); - if(inStockinDetail != null) { + if (inStockinDetail != null) { inStockinDetail.setQuantity(String.valueOf(Integer.valueOf(inStockinDetail.getQuantity()) - Integer.valueOf(inStockinDetail.getScanNum()))); } return AjaxResult.success(inStockinDetail); @@ -67,6 +97,22 @@ public class PdaController extends BaseController { } + /** + * 通过单据码查询物料详情 TODO 修改单据码为barCode 前端需同步修改 + */ + @RequestMapping("/selectDetailById") + @ResponseBody + public AjaxResult selectDetailById(String barCode) { + List stockinDetails = iInStockinDetailService.selectStockInByDetailByBarCode(barCode); + stockinDetails.stream().forEach(inStockinDetail -> { + Integer quantity = StringUtils.hasText(inStockinDetail.getQuantity()) ? Integer.valueOf(inStockinDetail.getQuantity()) : 0; + Integer scanNum = StringUtils.hasText(inStockinDetail.getScanNum()) ? Integer.valueOf(inStockinDetail.getScanNum()) : 0; + inStockinDetail.setQuantity(String.valueOf(quantity - scanNum)); + }); + return AjaxResult.success(stockinDetails); + } + + /** * 通过托盘码查询作业或trayMsg */ @@ -85,13 +131,20 @@ public class PdaController extends BaseController { return pdaService.bindTray(trayCodeMakeSure); } + @RequestMapping("/bindTray2") + @ResponseBody + public AjaxResult bindTray2(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + return pdaService.bindTray2(trayCodeMakeSure); + } + + /** * 空托盘入库 */ @RequestMapping("/tpIn") @ResponseBody public AjaxResult tpIn(@RequestBody TrayCodeMsg trayCodeMsg) { - return pdaService.tpIn(trayCodeMsg.getTrayCode()); + return pdaService.tpIn(trayCodeMsg); } /** @@ -105,12 +158,13 @@ public class PdaController extends BaseController { /** * 出库确认查询子作业信息 + * * @param trayCodeMsg * @return */ @RequestMapping("/selectJobDetailByTray") @ResponseBody - public AjaxResult selectJobDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg){ + public AjaxResult selectJobDetailByTray(@RequestBody TrayCodeMsg trayCodeMsg) { return pdaService.selectJobDetailByTray(trayCodeMsg); } @@ -129,9 +183,6 @@ public class PdaController extends BaseController { } - - - /** * 入库扫码生成作业 */ @@ -142,7 +193,6 @@ public class PdaController extends BaseController { } - @RequestMapping("/selectDetailByPDTray") @ResponseBody public AjaxResult selectDetailByPDTray(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { @@ -150,9 +200,6 @@ public class PdaController extends BaseController { } - - - /** * 盘点出库确认 * @@ -161,7 +208,7 @@ public class PdaController extends BaseController { */ @PreAuthorize("@ss.hasPermi('pda:check:checkMakeSure')") @PostMapping("/checkMakeSure") - @Log(title = "手持机盘点出库确认", businessType = BusinessType.INSERT) + @Log(title = "手持机盘点出库确认", businessType = BusinessType.OTHER) @ResponseBody public AjaxResult checkMakeSure(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { return pdaService.checkMakeSure(trayCodeMakeSure); @@ -179,6 +226,245 @@ public class PdaController extends BaseController { return pdaService.updateWcsPort(wcsPort); } + @RequestMapping("/hcoutMakesure") + @ResponseBody + @Log(title = "手持机缓存出库确认", businessType = BusinessType.OTHER) + public AjaxResult hcoutMakesure(String trayCode) { + + return pdaService.hcoutMakesure(trayCode); + } + + + /** + * 平库入库 + */ + @RequestMapping("/inStockPk") + @ResponseBody + public AjaxResult inStockPk(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + return pdaService.completeInPk(trayCodeMakeSure); + } + + /** + * 库存查询(平库扫码查询托盘入库信息) + */ + @RequestMapping("/searchStock") + @ResponseBody + public AjaxResult searchStock(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + + return pdaService.selectBasStockHc(trayCodeMakeSure.getTrayCode()); + } + + /** + * 立库出库信息校验 + * + * @param trayCodeMakeSure + * @return + */ + @RequestMapping("/verifyMaterial") + @ResponseBody + public AjaxResult verifyMaterial(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + String trayCode = trayCodeMakeSure.getTrayCode(); + List mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList(); + for (MydoJobDetail m : mydoJobDetailList) { + Integer count = pdaService.selectByTrayCodeAndProduct(trayCode, m.getProductId()); + if (count == 0) { + return AjaxResult.error(m.getProductId() + ",物料不是出库物料"); + } + } + + return AjaxResult.success(); + } + + /** + * 平库出库确认 + * + * @param trayCodeMakeSure + * @return + */ + @RequestMapping("/completeOutPk") + @ResponseBody + @Async + @Transactional(rollbackFor = Exception.class) + public AjaxResult completeOutPk(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + try { + String trayCode = trayCodeMakeSure.getTrayCode(); + List mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList(); + for (MydoJobDetail m : mydoJobDetailList) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCode); + map.put("v_out_stockout_detail_id", trayCodeMakeSure.getStockoutDetailId()); + map.put("v_quantity", m.getOutQuantity()); + map.put("v_stock_id", m.getStockId()); + pdaService.completeOutPk(map); + Integer vResult = (Integer) map.get("v_result"); + if (vResult != 10) { + System.err.println(map.get("v_result_msg").toString()); + return AjaxResult.error(map.get("v_result_msg").toString()); + } + } + return AjaxResult.success(); + } catch (Exception e) { + throw new RuntimeException(e.getMessage()); + } + } + + + /** + * 查询平库出库主单 建议参数(erpStockOutId U8单据号作为查询条件传到后台) + * + * @param outStockout + * @return + */ + @RequestMapping("/OutFillPk") + @ResponseBody + + public AjaxResult OutFillPk() { + OutStockout outStockout = new OutStockout(); + outStockout.setWarehouseId("2"); + outStockoutService.selectOutStockoutList(outStockout); + return AjaxResult.success(outStockoutService.selectOutStockoutList(outStockout)); + } + + + /** + * 查出平库出库子单 参数: stockoutId 作为参数传递到后台 + * + * @param outStockout + * @return + */ + @RequestMapping("/OutFillPkDetail") + @ResponseBody + public AjaxResult OutFillPkDetail(@RequestBody OutStockout outStockout) { + + List outStockouts = outStockoutService.selectOutStockoutList(outStockout); + + return AjaxResult.success(outStockoutDetailService.selectOutStockoutDetailByStockoutGuid(outStockouts.get(0).getStockoutGuid())); + } + + + /** + * 查询平库出库子单对应信息 在平库中是否存在 + * 参数:trayCode 托盘码 + * 参数:stockinDetailId 子单据号 + * + * @param trayCodeMsg + * @return + */ + @RequestMapping("/queryBasStockHc") + @ResponseBody + public AjaxResult queryBasStockHc(@RequestBody TrayCodeMsg trayCodeMsg) { + return pdaService.selectBasStockHcs(trayCodeMsg.getTrayCode(), trayCodeMsg.getStockoutDetailId()); + } + + // 立库扫码规则校验 + @RequestMapping("/validateMaterial") + @ResponseBody + public AjaxResult validateMaterial(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_stockin_detail_id", trayCodeMakeSure.getInStockinDetailId()); + map.put("v_is_bound_accord", trayCodeMakeSure.getIsBoundByAccord()); + map.put("v_quantity", trayCodeMakeSure.getQuantity()); + pdaMapper.bindTray(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(map.get("v_result").toString()); + } else { + return AjaxResult.success(map.get("v_result").toString()); + } + } + + + /** + * 平库出库信息校验 + * + * @param trayCodeMakeSure TODO 要校验项目号,批号,以及其他条件,要复合查询,待修改 + * @return + */ + @RequestMapping("/verifypkTrayMaterials") + @ResponseBody + public AjaxResult verifypkTrayMaterials(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + String trayCode = trayCodeMakeSure.getTrayCode(); + List mydoJobDetailList = trayCodeMakeSure.getMydoJobDetailList(); + for (MydoJobDetail m : mydoJobDetailList) { + String productId = m.getProductId(); + Integer integer = pdaService.selectBasStockHcCount(trayCode, productId); + if (integer == 0) { + return AjaxResult.error(m.getProductId() + ",物料不是出库物料"); + } + } + return AjaxResult.success(); + } + + + // 查询AGV的起点和终点 + @RequestMapping("/selectAgvPointByType") + @ResponseBody + public AjaxResult selectAgvPointByType(String type) { + AgvPoint agvPoint = new AgvPoint(); + agvPoint.setType(type); + List agvPoints = agvPointService.selectAgvPointList(agvPoint); + return AjaxResult.success(agvPoints); + } + + // 保存agv执行队列 + @RequestMapping("/insertAgvJob") + @ResponseBody + public AjaxResult insertAgvJob(@RequestBody AgvTask agvTask) { + AgvPoint agvPoint = new AgvPoint(); + agvPoint.setStation(agvTask.getEndPoint()); + List agvPoints = agvPointService.selectAgvPointList(agvPoint); + if (!agvPoints.get(0).getStation().equals("K1-1") && !agvPoints.get(0).getStation().equals("K2-1") && agvPoints.get(0).getSpare1().equals("2")) { + return AjaxResult.error("该点位被占用,请检查!"); + } + AgvContainerTask agvContainerTask = new AgvContainerTask(); + agvContainerTask.setContainer(UUID.randomUUID().toString()); + agvContainerTask.setEndPoint(agvTask.getEndPoint()); + agvContainerTask.setStartPoint(agvTask.getStartPoint()); + agvContainerTask.setSpare1(agvTask.getType()); + agvContainerTask.setSpare2(agvTask.getTrayCode()); + agvContainerTask.setStatus("0"); + agvContainerTaskService.insertAgvContainerTask(agvContainerTask); + return AjaxResult.success(); + } + + + // 保存agv执行队列 + @GetMapping("/selectAgvPointByType") + @ResponseBody + public AjaxResult selectAgvPointByType(String type, String position) { + System.out.println(type + " " + position); + AgvPoint agvPoint = new AgvPoint(); +// agvPoint.setType(type); + agvPoint.setStation(position); + List agvPoints = agvPointService.selectAgvPointList(agvPoint); + + + return AjaxResult.success(agvPoints); + } + + +// // 查询子单据的明细信息 +// @RequestMapping("/selectDetailById") +// public AjaxResult selectDetailById(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { +// String inStockinDetailId = trayCodeMakeSure.getInStockinDetailId(); +// InStockinDetail inStockinDetail = iInStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId); +// return AjaxResult.success(inStockinDetail); +// +// } + + @RequestMapping("/selectByTrayCode") + public AjaxResult selectByTrayCode(@RequestBody TrayCodeMakeSure trayCodeMakeSure) { + MydoJob mydoJob = mydoJobService.selectMydoJobByTrayCode(trayCodeMakeSure.getTrayCode()); + if (mydoJob != null && mydoJob.getInOrOut().equals("26")) { + BasStock basStock = basStockService.selectBasStockListTopOne(trayCodeMakeSure.getTrayCode()); + return AjaxResult.success(basStock); + } else { + return AjaxResult.error("该托盘无盘任务"); + } + + + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java index 3e30ebe..a31483d 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMakeSure.java @@ -1,6 +1,7 @@ package com.ruoyi.pda.domain; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.job.mydojobdetail.domain.PkDetail; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -22,10 +23,18 @@ public class TrayCodeMakeSure { private String exitId; private String isFull; + // 选中传1 没选中传0 + private String isBoundByAccord; //拣选详情列表 private List mydoJobDetailList; //盘点详情列表 private List materials; //异常详情列表 private List materialDetails; + private List pkDetailList; + private String quantity; + private String stockinDetailId; + private String inStockinDetailId; + private String stockoutDetailId; + private String cargoSpaceId; } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMsg.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMsg.java index ef453f3..71cb587 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMsg.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/domain/TrayCodeMsg.java @@ -1,5 +1,7 @@ package com.ruoyi.pda.domain; +import java.util.List; + public class TrayCodeMsg { private String trayCode; @@ -18,6 +20,26 @@ private String stockinDetailId; private String inOut; private String status; +private String stockoutDetailId; + + + public String getStockoutDetailId() { + return stockoutDetailId; + } + + public void setStockoutDetailId(String stockoutDetailId) { + this.stockoutDetailId = stockoutDetailId; + } + + private String trayType; + + public String getTrayType() { + return trayType; + } + + public void setTrayType(String trayType) { + this.trayType = trayType; + } public String getStatus() { return status; diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java index 64290a8..4721310 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/mapper/PdaMapper.java @@ -38,4 +38,18 @@ public interface PdaMapper { void pkOut(HashMap map); void outMakeSureException(HashMap map); + + void hcoutMakesure(HashMap map); + + Integer selectByTrayCodeAndProduct(String trayCode, String productId); + + void completeOutPk(HashMap map); + + void completeInPk(HashMap map); + + void FillFinishAllot(HashMap map); + + void FillFinishAllotOut(HashMap map); + + void bindTrayCheck(HashMap map); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java index 767242a..2b29890 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaService.java @@ -8,6 +8,7 @@ import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMsg; import com.ruoyi.stock.stock.domain.BasStock; +import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; @@ -28,7 +29,7 @@ public interface PdaService { AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure); - AjaxResult tpIn(String trayCode); + AjaxResult tpIn(TrayCodeMsg trayCodeMsg); AjaxResult tpOut(TrayCodeMsg trayCodeMsg); @@ -56,4 +57,19 @@ public interface PdaService { AjaxResult updateWcsPort(WcsPort wcsport); + AjaxResult hcoutMakesure(String trayCode); + + AjaxResult completeInPk(TrayCodeMakeSure trayCodeMakeSure); + + AjaxResult selectBasStockHc(String trayCode); + + Integer selectByTrayCodeAndProduct(String trayCode, String productId); + + void completeOutPk(HashMap map); + + Integer selectBasStockHcCount(String trayCode, String productId); + + AjaxResult selectBasStockHcs(String trayCode, String stockoutDetailId); + + AjaxResult bindTray2(TrayCodeMakeSure trayCodeMakeSure); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java index ba4607b..6442007 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/pda/service/PdaServiceImp.java @@ -9,17 +9,19 @@ import com.ruoyi.api.service.IToWmsService; import com.ruoyi.check.commit.domain.CheckCommitRecord; import com.ruoyi.check.commit.service.ICheckCommitRecordService; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.utils.MessageUtils; -import com.ruoyi.in.stockin.domain.InStockin; import com.ruoyi.in.stockin.service.IInStockinService; import com.ruoyi.in.stockindetail.domain.InStockinDetail; import com.ruoyi.in.stockindetail.service.IInStockinDetailService; import com.ruoyi.job.mydojob.domain.MydoJob; import com.ruoyi.job.mydojob.service.IMydoJobService; import com.ruoyi.job.mydojobdetail.domain.MydoJobDetail; +import com.ruoyi.job.mydojobdetail.domain.PkDetail; import com.ruoyi.job.mydojobdetail.service.IMydoJobDetailService; -import com.ruoyi.job.mydojobdetail.service.impl.MydoJobDetailServiceImpl; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; +import com.ruoyi.out.outStockoutDetail.service.impl.OutStockoutDetailServiceImpl; import com.ruoyi.pda.domain.TrayCodeMakeSure; import com.ruoyi.pda.domain.TrayCodeMsg; import com.ruoyi.pda.mapper.PdaMapper; @@ -34,6 +36,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.stream.Collectors; @Service @Slf4j @@ -60,13 +63,14 @@ public class PdaServiceImp implements PdaService { private BasStockMapper basStockMapper; @Autowired private IInStockinService inStockinService; - + @Autowired + private OutStockoutDetailServiceImpl outStockoutDetailService; @Override public List selectHasHalfTray(String inStockinDetailId) { InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(inStockinDetailId); - InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); - inStockinDetail.setSpare4(inStockin.getDepartmentNo()); +// InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); +// inStockinDetail.setSpare4(inStockinDetail.getSpare4()); List hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail); return hasHalfTray; } @@ -75,16 +79,16 @@ public class PdaServiceImp implements PdaService { @Override public AjaxResult halfTrayOut(TrayCodeMsg trayCodeMsg) { InStockinDetail inStockinDetail = inStockinDetailService.selectInStockinDetailByStockinDetailId(trayCodeMsg.getStockinDetailId()); - InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); - inStockinDetail.setSpare4(inStockin.getDepartmentNo()); +// InStockin inStockin = inStockinService.selectInStockinByStockinId(inStockinDetail.getStockinId()); +// inStockinDetail.setSpare4(inStockin.getDepartmentNo()); List hasHalfTray = basStockMapper.selectHasHalfTray(inStockinDetail); HashMap map = new HashMap<>(); map.put("v_tray_code", hasHalfTray.get(0).getTrayCode()); - map.put("v_exit_id",trayCodeMsg.getExitId()); + map.put("v_exit_id", trayCodeMsg.getExitId()); pdaMapper.halfTrayOut(map); - if(!"10".equals(map.get("v_result").toString())){ + if (!"10".equals(map.get("v_result").toString())) { return AjaxResult.error(map.get("v_resultmsg").toString()); - }else{ + } else { return AjaxResult.success(); } @@ -112,21 +116,18 @@ public class PdaServiceImp implements PdaService { @Transactional(rollbackFor = Exception.class) public AjaxResult bindTray(TrayCodeMakeSure trayCodeMakeSure) { StringBuilder errorbulider = new StringBuilder(); - - for (MydoJobDetail mydoJobDetail : trayCodeMakeSure.getMydoJobDetailList()) { HashMap map = new HashMap<>(); map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); map.put("v_stockin_detail_id", mydoJobDetail.getStockinDetailId()); + map.put("v_is_bound_accord", trayCodeMakeSure.getIsBoundByAccord()); map.put("v_quantity", Integer.valueOf(mydoJobDetail.getInQuantity())); pdaMapper.bindTray(map); if (!"10".equals(map.get("v_result").toString())) { errorbulider.append(mydoJobDetail.getStockinDetailId() + map.get("v_resultmsg").toString()); return AjaxResult.error(errorbulider.toString()); } - } - HashMap map = new HashMap<>(); map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); map.put("v_is_full", trayCodeMakeSure.getIsFull()); @@ -134,18 +135,19 @@ public class PdaServiceImp implements PdaService { if (!"10".equals(map.get("v_result").toString())) { return AjaxResult.error(errorbulider.toString()); } - return AjaxResult.success(); } @Override - public AjaxResult tpIn(String trayCode) { + public AjaxResult tpIn(TrayCodeMsg trayCodeMsg) { HashMap map = new HashMap<>(); - map.put("v_tray_code", trayCode); + map.put("v_tray_code", trayCodeMsg.getTrayCode()); + map.put("v_tray_type", trayCodeMsg.getTrayType()); + map.put("v_quantity", Integer.valueOf(trayCodeMsg.getInQuantity())); pdaMapper.tpIn(map); - if(!"10".equals(map.get("v_result").toString())){ + if (!"10".equals(map.get("v_result").toString())) { return AjaxResult.error(map.get("v_resultmsg").toString()); - }else{ + } else { return AjaxResult.success(); } @@ -155,11 +157,11 @@ public class PdaServiceImp implements PdaService { public AjaxResult tpOut(TrayCodeMsg trayCodeMsg) { HashMap map = new HashMap<>(); - map.put("v_exit_id", trayCodeMsg.getExitId()); + map.put("v_tray_type", trayCodeMsg.getTrayType()); pdaMapper.tpOut(map); - if(!"10".equals(map.get("v_result").toString())){ + if (!"10".equals(map.get("v_result").toString())) { return AjaxResult.error(map.get("v_resultmsg").toString()); - }else{ + } else { return AjaxResult.success(); } } @@ -197,9 +199,10 @@ public class PdaServiceImp implements PdaService { @Override public AjaxResult selectDetailByPDTray(TrayCodeMakeSure trayCodeMakeSure) { MydoJob mydoJob = new MydoJob(); - mydoJob.setExitId(trayCodeMakeSure.getExitId()); +// mydoJob.setExitId(trayCodeMakeSure.getExitId()); mydoJob.setStatus("3"); - mydoJob.setInOrOut("26"); + mydoJob.setInOrOut("28"); + mydoJob.setTrayCode(trayCodeMakeSure.getTrayCode()); List mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob); return AjaxResult.success(mydoJobDetails); } @@ -237,9 +240,9 @@ public class PdaServiceImp implements PdaService { public AjaxResult checkMakeSure(TrayCodeMakeSure trayCodeMakeSure) { MydoJob mydoJob = new MydoJob(); - mydoJob.setExitId(trayCodeMakeSure.getExitId()); + mydoJob.setTrayCode(trayCodeMakeSure.getTrayCode()); mydoJob.setStatus("3"); - mydoJob.setInOrOut("26"); + mydoJob.setInOrOut("28"); List mydoJobDetails = mydoJobDetailService.selectPdMydoJobDetailListByExit(mydoJob); if (mydoJobDetails.isEmpty()) { return AjaxResult.error("该物料没有盘点出库作业,请检查"); @@ -249,7 +252,7 @@ public class PdaServiceImp implements PdaService { if (CollUtil.isNotEmpty(mydoJobDetailList)) { boolean flag = mydoJobDetailList.stream().anyMatch(x -> StrUtil.isEmpty(x.getStockId()) && "0".equals(x.getInQuantity())); if (flag) { - return AjaxResult.warn(MessageUtils.message("warn.message8")); + return AjaxResult.warn(MessageUtils.message("盘点数量不可为0")); } for (MydoJobDetail mydoJobDetail : mydoJobDetailList) { //插入盘点提交表 @@ -287,4 +290,104 @@ public class PdaServiceImp implements PdaService { AjaxResult ajaxResult = toWcsService.updateWcsPort(wcsport); return ajaxResult; } + + @Override + public AjaxResult hcoutMakesure(String trayCode) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCode); + pdaMapper.hcoutMakesure(map); + String result = map.get("v_result").toString(); + if ("10".equals(result)) { + return AjaxResult.success(); + } else { + return AjaxResult.error(map.get("v_resultmsg").toString()); + } + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public AjaxResult completeInPk(TrayCodeMakeSure trayCodeMakeSure) { + for (PkDetail pkDetail : trayCodeMakeSure.getPkDetailList()) { + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_in_stockin_detail_id", pkDetail.getStockinDetailId()); + map.put("v_quantity", pkDetail.getQuantity()); + map.put("v_cargo_space_id", trayCodeMakeSure.getCargoSpaceId()); + pdaMapper.completeInPk(map); + + if (!"10".equals(String.valueOf(map.get("v_result")))) { + String errorMessage = Objects.toString(map.get("v_result_msg"), "平库入库失败"); + throw new ServiceException(errorMessage); + } + } + + return AjaxResult.success(); + } + + @Override + public AjaxResult selectBasStockHc(String trayCode) { + BasStock basStock = new BasStock(); + basStock.setTrayCode(trayCode); + List stocks = basStockMapper.selectBasStockListHc(basStock); + if (stocks.size() > 0) { + return AjaxResult.success(stocks); + } else { + return AjaxResult.error("无库存信息"); + } + } + + @Override + public Integer selectByTrayCodeAndProduct(String trayCode, String productId) { + return pdaMapper.selectByTrayCodeAndProduct(trayCode, productId); + } + + @Override + public void completeOutPk(HashMap map) { + pdaMapper.completeOutPk(map); + } + + @Override + public Integer selectBasStockHcCount(String trayCode, String productId) { + BasStock basStock = new BasStock(); + basStock.setTrayCode(trayCode); + basStock.setProductId(productId); + List basStocks = basStockMapper.selectBasStockHcCount(basStock); + return basStocks.size(); + } + + @Override + public AjaxResult selectBasStockHcs(String trayCode, String stockoutDetailId) { + OutStockoutDetail outStockoutDetail = outStockoutDetailService.selectOutStockoutDetailByStockoutDetailId(stockoutDetailId); + List stocks = basStockMapper.selectBasStockHcs(trayCode, outStockoutDetail); + if (stocks.size() > 0) { + return AjaxResult.success(stocks); + } + { + return AjaxResult.error("该托盘无对应库存,请检查!"); + } + } + + @Override + public AjaxResult bindTray2(TrayCodeMakeSure trayCodeMakeSure) { + String collect = trayCodeMakeSure.getMydoJobDetailList().stream().map(detail -> detail.getStockinDetailId() + ":" + detail.getInQuantity()).collect(Collectors.joining(",")); + HashMap map = new HashMap<>(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_string", collect); + map.put("v_is_bound_accord", trayCodeMakeSure.getIsBoundByAccord()); + pdaMapper.bindTray(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(map.get("v_result").toString()); + } + map.clear(); + map.put("v_tray_code", trayCodeMakeSure.getTrayCode()); + map.put("v_is_full", trayCodeMakeSure.getIsFull()); + pdaMapper.addInJob(map); + if (!"10".equals(map.get("v_result").toString())) { + return AjaxResult.error(map.get("v_result").toString()); + } + return AjaxResult.success(); + } + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java index e67ac94..0381eb3 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/controller/BasStockController.java @@ -58,9 +58,10 @@ public class BasStockController extends BaseController */ @PreAuthorize("@ss.hasPermi('stock:management:query')") @GetMapping(value = "/{stockId}") - public AjaxResult getInfo(@PathVariable("stockId") String stockId) + public AjaxResult getInfo(@PathVariable("stockId") String stockId, @RequestParam(value = "warehouseCode", required = false) String warehouseCode) { - return success(basStockService.selectBasStockByStockId(stockId)); + BasStock basStock = basStockService.selectBasStockByStockId2(stockId, warehouseCode); + return success(basStock); } /** @@ -91,9 +92,10 @@ public class BasStockController extends BaseController @PreAuthorize("@ss.hasPermi('stock:management:remove')") @Log(title = "库存信息", businessType = BusinessType.DELETE) @DeleteMapping("/{stockIds}") - public AjaxResult remove(@PathVariable String[] stockIds) + public AjaxResult remove(@PathVariable String[] stockIds,@RequestParam(value = "warehouseCode",required = false) String warehouseCode) { - return toAjax(basStockService.deleteBasStockByStockIds(stockIds)); + System.out.println(warehouseCode); + return toAjax(basStockService.deleteBasStockByStockIds2(stockIds,warehouseCode)); } /** diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java index 10a23e8..98c34c8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/domain/BasStock.java @@ -11,6 +11,7 @@ import lombok.ToString; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import org.springframework.ai.tool.annotation.ToolParam; +import org.springframework.data.annotation.Transient; import java.util.List; @@ -184,6 +185,8 @@ public class BasStock extends BaseEntity /** 仓库 */ // @Excel(name = "${stock.BasStock.warehouseId}") private String warehouseId; + @Transient + private String warehouseCode; /** 垛型ID */ diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java index d630f00..4211b88 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/mapper/BasStockMapper.java @@ -1,6 +1,7 @@ package com.ruoyi.stock.stock.mapper; import com.ruoyi.in.stockindetail.domain.InStockinDetail; +import com.ruoyi.out.outStockoutDetail.domain.OutStockoutDetail; import com.ruoyi.stock.stock.domain.BasStock; import org.apache.ibatis.annotations.Param; @@ -73,4 +74,20 @@ public interface BasStockMapper List getStockBySerial(String trayCode); List selectHasHalfTray(InStockinDetail inStockinDetail); + + List selectBasStockHcCount(BasStock basStock); + + List selectBasStockListHc(BasStock basStock); + + BasStock selectBasStockByStockId2(String stockId, String warehouseCode); + + int updateBasStock2(BasStock basStock); + + int deleteBasStockByStockIds2(@Param("stockIds") String[] stockIds, @Param("warehouseCode")String warehouseCode); + + List selectBasStockList2(BasStock basStock); + + List selectBasStockHcs(@Param("trayCode") String trayCode, @Param("out") OutStockoutDetail outStockoutDetail); + + BasStock selectBasStockListTopOne(String trayCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java index c3ea57b..15b431c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/IBasStockService.java @@ -83,4 +83,10 @@ public interface IBasStockService AjaxResult resetPdRecord(); List getStockBySerial(String serial); + + BasStock selectBasStockByStockId2(String stockId, String warehouseCode); + + int deleteBasStockByStockIds2(String[] stockIds,String warehouseCode); + + BasStock selectBasStockListTopOne(String trayCode); } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java index f9ff3f3..fd81cf8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/stock/stock/service/impl/BasStockServiceImpl.java @@ -58,7 +58,7 @@ public class BasStockServiceImpl implements IBasStockService @Override public List selectBasStockList(BasStock basStock) { - return basStockMapper.selectBasStockList(basStock); + return basStockMapper.selectBasStockList2(basStock); } /** * 无权限查询库存信息列表 @@ -115,10 +115,10 @@ public class BasStockServiceImpl implements IBasStockService @Override public int updateBasStock(BasStock basStock) { - BasStock oldBasStock = basStockMapper.selectBasStockByStockId(basStock.getStockId()); + BasStock oldBasStock = basStockMapper.selectBasStockByStockId2(basStock.getStockId(),basStock.getWarehouseCode()); insertMaintainRecord(oldBasStock,basStock,"2"); insertFreezeRecord(oldBasStock,basStock); - return basStockMapper.updateBasStock(basStock); + return basStockMapper.updateBasStock2(basStock); } private void insertFreezeRecord(BasStock oldBasStock, BasStock basStock) { @@ -194,6 +194,28 @@ public class BasStockServiceImpl implements IBasStockService return basStockMapper.getStockBySerial(trayCode); } + @Override + public BasStock selectBasStockByStockId2(String stockId, String warehouseCode) { + return basStockMapper.selectBasStockByStockId2(stockId,warehouseCode); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public int deleteBasStockByStockIds2(String[] stockIds,String warehouseCode) + { + for (String stockId : stockIds) { + BasStock oldBasStock = basStockMapper.selectBasStockByStockId2(stockId,warehouseCode); + insertMaintainRecord(oldBasStock,oldBasStock,"3"); + } + return basStockMapper.deleteBasStockByStockIds2(stockIds,warehouseCode); + } + + @Override + public BasStock selectBasStockListTopOne(String trayCode) { + + return basStockMapper.selectBasStockListTopOne(trayCode); + } + /** * 新增库存信息(不记录维护记录) * diff --git a/ruoyi-admin/src/main/resources/application-druid.yml b/ruoyi-admin/src/main/resources/application-druid.yml index a75fd22..bf0bc50 100644 --- a/ruoyi-admin/src/main/resources/application-druid.yml +++ b/ruoyi-admin/src/main/resources/application-druid.yml @@ -6,14 +6,14 @@ spring: druid: # 主库数据源 master: - url: jdbc:sqlserver://172.16.4.141:1433;databaseName=FT546-wms;encrypt=true;trustServerCertificate=true; + url: jdbc:sqlserver://127.0.0.1:1433;databaseName=FT546-WMS;encrypt=false; username: sa - password: Flrd0914. + password: 123456 # 从库数据源 slave: # 从数据源开关/默认关闭 enabled: false - url: jdbc:mariadb://172.16.4.141:3307/mydb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mariadb://172.16.4.12:3307/mydb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: Flrd0914. # 初始连接数 diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 14ccea8..cc479b0 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -66,12 +66,12 @@ spring: devtools: restart: # 热部署开关 - enabled: true + enabled: false data: # redis 配置 redis: # 地址 - host: 172.16.4.141 + host: 127.0.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 @@ -133,7 +133,12 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 30 + expireTime: 43800 + +# 授权码配置 +license: + # 首次部署需先执行 sql/sys_license.sql 并激活授权码,再改为 true 启用拦截 + enabled: false @@ -175,4 +180,6 @@ xss: # 匹配链接 urlPatterns: /system/*,/monitor/*,/tool/* - +mybatis-plus: + configuration: + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl diff --git a/ruoyi-admin/src/main/resources/mapper/agv/AgvContainerTaskMapper.xml b/ruoyi-admin/src/main/resources/mapper/agv/AgvContainerTaskMapper.xml index 6a067bb..e3198e8 100644 --- a/ruoyi-admin/src/main/resources/mapper/agv/AgvContainerTaskMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/agv/AgvContainerTaskMapper.xml @@ -1,4 +1,4 @@ - + @@ -19,21 +19,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select id, container, start_point, end_point, create_time, start_time, finish_time, task_no, status, spare1, spare2 from agv_container_task + select top 1 id, container, start_point, end_point, create_time, start_time, finish_time, task_no, status, spare1, spare2 from agv_container_task @@ -101,4 +101,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} + + + delete from agv_container_task where container = #{order} + + + diff --git a/ruoyi-admin/src/main/resources/mapper/ai/ChatMessageMapper.xml b/ruoyi-admin/src/main/resources/mapper/ai/ChatMessageMapper.xml index 99c335a..2ed84a1 100644 --- a/ruoyi-admin/src/main/resources/mapper/ai/ChatMessageMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/ai/ChatMessageMapper.xml @@ -1,4 +1,4 @@ - + @@ -28,14 +28,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -115,3 +115,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from chat_message where conversation_id = #{conversationId} + diff --git a/ruoyi-admin/src/main/resources/mapper/ai/ConversationsMapper.xml b/ruoyi-admin/src/main/resources/mapper/ai/ConversationsMapper.xml index 62ac9b6..2d43b17 100644 --- a/ruoyi-admin/src/main/resources/mapper/ai/ConversationsMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/ai/ConversationsMapper.xml @@ -1,4 +1,4 @@ - + @@ -26,17 +26,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -105,3 +105,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/api/KnowledgeFileMapper.xml b/ruoyi-admin/src/main/resources/mapper/api/KnowledgeFileMapper.xml index 75155ec..a4cc5a1 100644 --- a/ruoyi-admin/src/main/resources/mapper/api/KnowledgeFileMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/api/KnowledgeFileMapper.xml @@ -1,4 +1,4 @@ - + @@ -26,17 +26,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -103,4 +103,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasContainerDetailsMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasContainerDetailsMapper.xml index 707d37e..914c453 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasContainerDetailsMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasContainerDetailsMapper.xml @@ -1,4 +1,4 @@ - + @@ -23,14 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -90,4 +90,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasContainerMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasContainerMapper.xml index 9fd4d17..12a8819 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasContainerMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasContainerMapper.xml @@ -1,4 +1,4 @@ - + @@ -26,11 +26,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and container_id like concat('%', #{containerId}, '%') - and port_name = #{portName} - and status = #{status} - and product_type_quantity = #{productTypeQuantity} - and update_time = #{updateTime} - and operation_man = #{operationMan} + and port_name like concat('%', #{portName}, '%') + and status like concat('%', #{status}, '%') + and product_type_quantity like concat('%', #{productTypeQuantity}, '%') + and update_time like concat('%', #{updateTime}, '%') + and operation_man like concat('%', #{operationMan}, '%') @@ -102,4 +102,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasCustomerMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasCustomerMapper.xml index d762e50..35e7956 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasCustomerMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasCustomerMapper.xml @@ -1,4 +1,4 @@ - + @@ -39,7 +39,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and customer_group_no like concat('%', #{customerGroupNo}, '%') and customer_name like concat('%', #{customerName}, '%') and simple_name like concat('%', #{simpleName}, '%') - and useable = #{useable} + and useable like concat('%', #{useable}, '%') and business_department like concat('%', #{businessDepartment}, '%') and salesman like concat('%', #{salesman}, '%') and mnemonic_code like concat('%', #{mnemonicCode}, '%') @@ -149,4 +149,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasJobIdMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasJobIdMapper.xml index ba52e38..98985bc 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasJobIdMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasJobIdMapper.xml @@ -1,4 +1,4 @@ - + @@ -34,25 +34,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -162,3 +162,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasProductCodeMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasProductCodeMapper.xml index 5477ce9..fa70aca 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasProductCodeMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasProductCodeMapper.xml @@ -1,4 +1,4 @@ - + @@ -31,7 +31,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -129,4 +129,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortMapper.xml index 2fb90aa..690dd4a 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortMapper.xml @@ -1,4 +1,4 @@ - + @@ -21,9 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and port_name like concat('%', #{portName}, '%') - and port_type = #{portType} - and port_desc = #{portDesc} - and create_man = #{createMan} + and port_type like concat('%', #{portType}, '%') + and port_desc like concat('%', #{portDesc}, '%') + and create_man like concat('%', #{createMan}, '%') @@ -74,4 +74,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortRelMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortRelMapper.xml index ecc6728..53bfd74 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortRelMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasProductPortRelMapper.xml @@ -1,4 +1,4 @@ - + @@ -43,9 +43,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -63,7 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and product_id not in (select product_id from bas_product_port_rel where port_id=#{portId}) - and product_id = #{productId} + and product_id like concat('%', #{productId}, '%') and product_name like concat('%', #{productName}, '%') @@ -112,3 +112,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasRoadwayMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasRoadwayMapper.xml index 0ca261a..4bb69c0 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasRoadwayMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasRoadwayMapper.xml @@ -1,4 +1,4 @@ - + @@ -23,14 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -90,4 +90,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasSupplierMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasSupplierMapper.xml index b3bbc6b..434e1d9 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasSupplierMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasSupplierMapper.xml @@ -1,4 +1,4 @@ - + @@ -37,7 +37,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and supplier_group_no like concat('%', #{supplierGroupNo}, '%') and supplier_name like concat('%', #{supplierName}, '%') and simple_name like concat('%', #{simpleName}, '%') - and useable = #{useable} + and useable like concat('%', #{useable}, '%') and supplier_arae like concat('%', #{supplierArae}, '%') and taxpayer_registration_number like concat('%', #{taxpayerRegistrationNumber}, '%') and country like concat('%', #{country}, '%') @@ -139,4 +139,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasTagMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasTagMapper.xml index 1d81f5b..4be0cb1 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasTagMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasTagMapper.xml @@ -1,4 +1,4 @@ - + @@ -23,14 +23,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -93,3 +93,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeFormatMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeFormatMapper.xml index 791a9ff..33caa50 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeFormatMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeFormatMapper.xml @@ -1,4 +1,4 @@ - + @@ -32,9 +32,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and remarks like concat('%',#{remarks}, '%') and min_num like concat('%',#{minNum}, '%') and max_num like concat('%',#{maxNum}, '%') - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} + and spare1 like concat('%', #{spare1}, '%') + and spare2 like concat('%', #{spare2}, '%') + and spare3 like concat('%', #{spare3}, '%') @@ -103,4 +103,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeMapper.xml index 631bd54..9adf098 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasTraycodeMapper.xml @@ -1,4 +1,4 @@ - + @@ -26,11 +26,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -98,3 +98,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/BasWarehousePortMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/BasWarehousePortMapper.xml index 12d8f18..26b7155 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/BasWarehousePortMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/BasWarehousePortMapper.xml @@ -1,4 +1,4 @@ - + @@ -19,10 +19,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -70,4 +70,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml index 0b306a1..ce02176 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/cargoSpace/BasCargoSpaceMapper.xml @@ -1,4 +1,4 @@ - + @@ -63,24 +63,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bcs.cargo_space_id like concat('%', #{cargoSpaceId}, '%') - and bcs.warehouse_id = #{warehouseId} - and bcs.roadway_id = #{roadwayId} - and bcs.cargo_area_id = #{cargoAreaId} - and bcs.the_type = #{theType} + and bcs.warehouse_id like concat('%', #{warehouseId}, '%') + and bcs.roadway_id like concat('%', #{roadwayId}, '%') + and bcs.cargo_area_id like concat('%', #{cargoAreaId}, '%') + and bcs.the_type like concat('%', #{theType}, '%') and bcs.the_type_name like concat('%', #{theTypeName}, '%') and bcs.cargo_space_name like concat('%', #{cargoSpaceName}, '%') - and bcs.the_platoon = #{thePlatoon} - and bcs.the_column = #{theColumn} - and bcs.the_floor = #{theFloor} - and bcs.status = #{status} - and bcs.locked = #{locked} + and bcs.the_platoon like concat('%', #{thePlatoon}, '%') + and bcs.the_column like concat('%', #{theColumn}, '%') + and bcs.the_floor like concat('%', #{theFloor}, '%') + and bcs.status like concat('%', #{status}, '%') + and bcs.locked like concat('%', #{locked}, '%') and bcs.tray_code like concat('%', #{trayCode}, '%') - and bcs.cargo_hight = #{cargoHight} - and bcs.iss_double = #{issDouble} - and bcs.group_coding_no = #{groupCodingNo} - and bcs.group_coding = #{groupCoding} - and bcs.cargo_space_logo = #{cargoSpaceLogo} - and bcs.this_cargo_area = #{thisCargoArea} + and bcs.cargo_hight like concat('%', #{cargoHight}, '%') + and bcs.iss_double like concat('%', #{issDouble}, '%') + and bcs.group_coding_no like concat('%', #{groupCodingNo}, '%') + and bcs.group_coding like concat('%', #{groupCoding}, '%') + and bcs.cargo_space_logo like concat('%', #{cargoSpaceLogo}, '%') + and bcs.this_cargo_area like concat('%', #{thisCargoArea}, '%') ${params.warehouseDataScope} @@ -188,10 +188,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE status = '1' and locked = 'N' - and warehouse_id = #{warehouseId} + and warehouse_id like concat('%', #{warehouseId}, '%') - and roadway_id = #{roadwayId} + and roadway_id like concat('%', #{roadwayId}, '%') ORDER BY the_platoon, the_floor,the_column @@ -202,13 +202,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bcs.the_platoon, bcs.the_column, bcs.the_floor, - bcs.status, - bs.tray_code, - bs.product_id, - bs.product_name + bcs.status from bas_cargo_space bcs - left join bas_stock bs on bcs.cargo_space_id = bs.cargo_space_id - where bcs.status in ('1', '2') + where bcs.status in ( '2') + diff --git a/ruoyi-admin/src/main/resources/mapper/bas/warehouse/BasWarehouseMapper.xml b/ruoyi-admin/src/main/resources/mapper/bas/warehouse/BasWarehouseMapper.xml index 44029d8..c3bf2f8 100644 --- a/ruoyi-admin/src/main/resources/mapper/bas/warehouse/BasWarehouseMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/bas/warehouse/BasWarehouseMapper.xml @@ -1,4 +1,4 @@ - + @@ -29,11 +29,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and warehouse_name like concat('%', #{warehouseName}, '%') - and address = #{address} - and c_desc = #{cDesc} - and warehouse_kind = #{warehouseKind} - and warehouse_type = #{warehouseType} - and is_current = #{isCurrent} + and address like concat('%', #{address}, '%') + and c_desc like concat('%', #{cDesc}, '%') + and warehouse_kind like concat('%', #{warehouseKind}, '%') + and warehouse_type like concat('%', #{warehouseType}, '%') + and is_current like concat('%', #{isCurrent}, '%') and warehouse_id in @@ -111,3 +111,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml index 35ec7e1..86061f3 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckCommitRecordMapper.xml @@ -1,4 +1,4 @@ - + @@ -21,13 +21,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -79,4 +79,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{pdGuid} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml index 6aa0b1c..92da99d 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -72,46 +72,46 @@ - and r.check_stock_detail_id = #{checkStockDetailId} + and r.check_stock_detail_id like concat('%', #{checkStockDetailId}, '%') - and r.stock_id = #{stockId} + and r.stock_id like concat('%', #{stockId}, '%') - and r.tray_code = #{trayCode} + and r.tray_code like concat('%', #{trayCode}, '%') - and r.cargo_space_id = #{cargoSpaceId} + and r.cargo_space_id like concat('%', #{cargoSpaceId}, '%') - and r.product_id = #{productId} + and r.product_id like concat('%', #{productId}, '%') - and r.lot_no = #{lotNo} + and r.lot_no like concat('%', #{lotNo}, '%') - and r.supplier = #{supplier} + and r.supplier like concat('%', #{supplier}, '%') - and r.customer = #{customer} + and r.customer like concat('%', #{customer}, '%') - and r.old_quantity = #{oldQuantity} + and r.old_quantity like concat('%', #{oldQuantity}, '%') - and r.new_quantity = #{newQuantity} + and r.new_quantity like concat('%', #{newQuantity}, '%') - and r.record_type = #{recordType} + and r.record_type like concat('%', #{recordType}, '%') - and r.product_guid = #{productGuid} + and r.product_guid like concat('%', #{productGuid}, '%') - and r.status = #{status} + and r.status like concat('%', #{status}, '%') - and r.warehouse_id = #{warehouseId} + and r.warehouse_id like concat('%', #{warehouseId}, '%') ${params.warehouseDataScope} @@ -200,3 +200,4 @@ + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml index 29b0b26..89d9a8c 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckDifferenceRecordMapper.xml @@ -1,4 +1,4 @@ - + @@ -72,46 +72,46 @@ - and r.check_stock_detail_id = #{checkStockDetailId} + and r.check_stock_detail_id like concat('%', #{checkStockDetailId}, '%') - and r.stock_id = #{stockId} + and r.stock_id like concat('%', #{stockId}, '%') - and r.tray_code = #{trayCode} + and r.tray_code like concat('%', #{trayCode}, '%') - and r.cargo_space_id = #{cargoSpaceId} + and r.cargo_space_id like concat('%', #{cargoSpaceId}, '%') - and r.product_id = #{productId} + and r.product_id like concat('%', #{productId}, '%') - and r.lot_no = #{lotNo} + and r.lot_no like concat('%', #{lotNo}, '%') - and r.supplier = #{supplier} + and r.supplier like concat('%', #{supplier}, '%') - and r.customer = #{customer} + and r.customer like concat('%', #{customer}, '%') - and r.old_quantity = #{oldQuantity} + and r.old_quantity like concat('%', #{oldQuantity}, '%') - and r.new_quantity = #{newQuantity} + and r.new_quantity like concat('%', #{newQuantity}, '%') - and r.record_type = #{recordType} + and r.record_type like concat('%', #{recordType}, '%') - and r.product_guid = #{productGuid} + and r.product_guid like concat('%', #{productGuid}, '%') - and r.status = #{status} + and r.status like concat('%', #{status}, '%') - and r.warehouse_id = #{warehouseId} + and r.warehouse_id like concat('%', #{warehouseId}, '%') ${params.warehouseDataScope} @@ -200,3 +200,4 @@ + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml index 46ecb11..52358bd 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -98,34 +98,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -137,34 +137,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" resultMap="CheckStockinDetailResult"> - and csd.stock_check_guid = #{stockCheckGuid} - and csd.stock_check_id = #{stockCheckId} - and csd.lot_no = #{lotNo} - and csd.product_guid = #{productGuid} - and csd.product_id = #{productId} - and csd.quantity = #{quantity} - and csd.quantity_x = #{quantityX} - and csd.quantity_j = #{quantityJ} - and csd.price = #{price} - and csd.cargo_no = #{cargoNo} - and csd.assign_num = #{assignNum} - and csd.assign_num_x = #{assignNumX} - and csd.assign_num_j = #{assignNumJ} - and csd.print_date = #{printDate} - and csd.stock_status = #{stockStatus} - and csd.supplier_id = #{supplierId} - and csd.customer_id = #{customerId} - and csd.unit = #{unit} - and csd.spec = #{spec} - and csd.scan_num = #{scanNum} - and csd.scan_num_x = #{scanNumX} - and csd.scan_num_j = #{scanNumJ} - and csd.spare1 = #{spare1} - and csd.spare2 = #{spare2} - and csd.spare3 = #{spare3} - and csd.spare4 = #{spare4} - and csd.spare5 = #{spare5} - and csd.spare6 = #{spare6} + and csd.stock_check_guid like concat('%', #{stockCheckGuid}, '%') + and csd.stock_check_id like concat('%', #{stockCheckId}, '%') + and csd.lot_no like concat('%', #{lotNo}, '%') + and csd.product_guid like concat('%', #{productGuid}, '%') + and csd.product_id like concat('%', #{productId}, '%') + and csd.quantity like concat('%', #{quantity}, '%') + and csd.quantity_x like concat('%', #{quantityX}, '%') + and csd.quantity_j like concat('%', #{quantityJ}, '%') + and csd.price like concat('%', #{price}, '%') + and csd.cargo_no like concat('%', #{cargoNo}, '%') + and csd.assign_num like concat('%', #{assignNum}, '%') + and csd.assign_num_x like concat('%', #{assignNumX}, '%') + and csd.assign_num_j like concat('%', #{assignNumJ}, '%') + and csd.print_date like concat('%', #{printDate}, '%') + and csd.stock_status like concat('%', #{stockStatus}, '%') + and csd.supplier_id like concat('%', #{supplierId}, '%') + and csd.customer_id like concat('%', #{customerId}, '%') + and csd.unit like concat('%', #{unit}, '%') + and csd.spec like concat('%', #{spec}, '%') + and csd.scan_num like concat('%', #{scanNum}, '%') + and csd.scan_num_x like concat('%', #{scanNumX}, '%') + and csd.scan_num_j like concat('%', #{scanNumJ}, '%') + and csd.spare1 like concat('%', #{spare1}, '%') + and csd.spare2 like concat('%', #{spare2}, '%') + and csd.spare3 like concat('%', #{spare3}, '%') + and csd.spare4 like concat('%', #{spare4}, '%') + and csd.spare5 like concat('%', #{spare5}, '%') + and csd.spare6 like concat('%', #{spare6}, '%') @@ -283,3 +283,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml index 3568f9f..7058fc2 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -63,34 +63,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -235,3 +235,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select * from check_stockin_detail where stock_check_id = #{stockCheckId} + diff --git a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinFinishMapper.xml index c098c28..18c6a9c 100644 --- a/ruoyi-admin/src/main/resources/mapper/check/CheckStockinFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/check/CheckStockinFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -59,24 +59,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -87,24 +87,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - and cs.stock_check_id = #{stockCheckId} - and cs.check_type = #{checkType} - and cs.create_date = #{createDate} - and cs.create_man_id = #{createManId} - and cs.status = #{status} - and cs.warehouse_id = #{warehouseId} - and cs.finish_date = #{finishDate} - and cs.erp_bill = #{erpBill} - and cs.stock_source = #{stockSource} - and cs.department_no = #{departmentNo} - and cs.customer_no = #{customerNo} - and cs.class_no = #{classNo} - and cs.supplier_no = #{supplierNo} - and cs.spare1 = #{spare1} - and cs.spare2 = #{spare2} - and cs.spare3 = #{spare3} - and cs.spare4 = #{spare4} - and cs.spare5 = #{spare5} + and cs.stock_check_id like concat('%', #{stockCheckId}, '%') + and cs.check_type like concat('%', #{checkType}, '%') + and cs.create_date like concat('%', #{createDate}, '%') + and cs.create_man_id like concat('%', #{createManId}, '%') + and cs.status like concat('%', #{status}, '%') + and cs.warehouse_id like concat('%', #{warehouseId}, '%') + and cs.finish_date like concat('%', #{finishDate}, '%') + and cs.erp_bill like concat('%', #{erpBill}, '%') + and cs.stock_source like concat('%', #{stockSource}, '%') + and cs.department_no like concat('%', #{departmentNo}, '%') + and cs.customer_no like concat('%', #{customerNo}, '%') + and cs.class_no like concat('%', #{classNo}, '%') + and cs.supplier_no like concat('%', #{supplierNo}, '%') + and cs.spare1 like concat('%', #{spare1}, '%') + and cs.spare2 like concat('%', #{spare2}, '%') + and cs.spare3 like concat('%', #{spare3}, '%') + and cs.spare4 like concat('%', #{spare4}, '%') + and cs.spare5 like concat('%', #{spare5}, '%') ${params.warehouseDataScope} @@ -183,3 +183,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml index 36519fa..fa0edd4 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinBackMapper.xml @@ -1,4 +1,4 @@ - + @@ -27,38 +27,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + select stockin_guid, stockin_id, in_type, create_date, create_man_id, status, warehouse_id, spare5, spare4, spare3, finish_date, spare2, spare1, erp_bill, stock_source, department_no, - customer_no, class_no, supplier_no,send_status,send_time,msg from in_stockin_back + customer_no, class_no, supplier_no,send_status,send_time,msg,company_short_name,account_set_no from in_stockin_back @@ -146,7 +148,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" class_no = #{classNo}, supplier_no = #{supplierNo}, send_status = #{sendStatus}, - send_time = #{senTime}, + send_time = #{sendTime}, msg = #{msg}, where stockin_guid = #{stockinGuid} @@ -165,7 +167,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml index 3d14518..797c3c1 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailBackMapper.xml @@ -1,4 +1,4 @@ - + @@ -42,53 +42,95 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - select stockin_detail_id, stockin_guid, stockin_id, lot_no, product_guid, product_id, quantity, - quantity_x, quantity_j, price, cargo_no, remark, assign_num, assign_num_x, assign_num_j, - print_date, stock_status, supplier_id, customer_id, unit, spec, spare1, spare2, spare3, - spare4, spare5, spare6, scan_num, scan_num_x, scan_num_j, spare7, spare8, spare9, product_name,send_status,send_time,msg from in_stockin_detail_back + select stockin_detail_id, + stockin_guid, + stockin_id, + lot_no, + product_guid, + product_id, + quantity, + quantity_x, + quantity_j, + price, + cargo_no, + remark, + assign_num, + assign_num_x, + assign_num_j, + print_date, + stock_status, + supplier_id, + customer_id, + unit, + spec, + spare1, + spare2, + spare3, + spare4, + spare5, + spare6, + scan_num, + scan_num_x, + scan_num_j, + spare7, + spare8, + spare9, + product_name, + send_status, + send_time, + msg, + source_line_id, + bar_code, + is_batch_manage, + old_project_no + from in_stockin_detail_back @@ -189,7 +231,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update in_stockin_detail_back stockin_guid = #{stockinGuid}, - stockin_id = #{stockinId}, + lot_no = #{lotNo}, product_guid = #{productGuid}, product_id = #{productId}, @@ -222,10 +264,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spare9 = #{spare9}, product_name = #{productName}, send_status = #{sendStatus}, - send_time = #{senTime}, + send_time = #{sendTime}, msg = #{msg}, - where stockin_detail_id = #{stockinDetailId} + where stockin_id = #{stockinId} @@ -238,4 +280,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{stockinDetailId} - \ No newline at end of file + + + INSERT INTO in_stockin_detail_back_finish + + SELECT * FROM in_stockin_detail_back + WHERE stockin_detail_id = #{item.stockinDetailId} + + + + + DELETE FROM in_stockin_detail_back + WHERE stockin_detail_id IN + + #{item.stockinDetailId} + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailFinishMapper.xml index 8a9d58d..67aa1e0 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -103,34 +103,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -142,34 +142,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" resultMap="InStockinDetailResult"> - and isd.stockin_guid = #{stockinGuid} - and isd.stockin_id = #{stockinId} - and isd.lot_no = #{lotNo} - and isd.product_guid = #{productGuid} - and isd.product_id = #{productId} - and isd.quantity = #{quantity} - and isd.quantity_x = #{quantityX} - and isd.quantity_j = #{quantityJ} - and isd.price = #{price} - and isd.cargo_no = #{cargoNo} - and isd.assign_num = #{assignNum} - and isd.assign_num_x = #{assignNumX} - and isd.assign_num_j = #{assignNumJ} - and isd.print_date = #{printDate} - and isd.stock_status = #{stockStatus} - and isd.supplier_id = #{supplierId} - and isd.customer_id = #{customerId} - and isd.unit = #{unit} - and isd.spec = #{spec} - and isd.spare1 = #{spare1} - and isd.spare2 = #{spare2} - and isd.spare3 = #{spare3} - and isd.spare4 = #{spare4} - and isd.spare5 = #{spare5} - and isd.spare6 = #{spare6} - and isd.scan_num = #{scanNum} - and isd.scan_num_x = #{scanNumX} - and isd.scan_num_j = #{scanNumJ} + and isd.stockin_guid like concat('%', #{stockinGuid}, '%') + and isd.stockin_id like concat('%', #{stockinId}, '%') + and isd.lot_no like concat('%', #{lotNo}, '%') + and isd.product_guid like concat('%', #{productGuid}, '%') + and isd.product_id like concat('%', #{productId}, '%') + and isd.quantity like concat('%', #{quantity}, '%') + and isd.quantity_x like concat('%', #{quantityX}, '%') + and isd.quantity_j like concat('%', #{quantityJ}, '%') + and isd.price like concat('%', #{price}, '%') + and isd.cargo_no like concat('%', #{cargoNo}, '%') + and isd.assign_num like concat('%', #{assignNum}, '%') + and isd.assign_num_x like concat('%', #{assignNumX}, '%') + and isd.assign_num_j like concat('%', #{assignNumJ}, '%') + and isd.print_date like concat('%', #{printDate}, '%') + and isd.stock_status like concat('%', #{stockStatus}, '%') + and isd.supplier_id like concat('%', #{supplierId}, '%') + and isd.customer_id like concat('%', #{customerId}, '%') + and isd.unit like concat('%', #{unit}, '%') + and isd.spec like concat('%', #{spec}, '%') + and isd.spare1 like concat('%', #{spare1}, '%') + and isd.spare2 like concat('%', #{spare2}, '%') + and isd.spare3 like concat('%', #{spare3}, '%') + and isd.spare4 like concat('%', #{spare4}, '%') + and isd.spare5 like concat('%', #{spare5}, '%') + and isd.spare6 like concat('%', #{spare6}, '%') + and isd.scan_num like concat('%', #{scanNum}, '%') + and isd.scan_num_x like concat('%', #{scanNumX}, '%') + and isd.scan_num_j like concat('%', #{scanNumJ}, '%') @@ -288,3 +288,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml index 4e3ad1a..fd19718 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -41,6 +41,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -69,34 +70,34 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -143,7 +144,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" scan_num_x, scan_num_j, product_name, - + source_line_id, + bar_code, + is_batch_manage, + old_project_no, + #{stockinDetailId}, #{stockinGuid}, @@ -180,7 +185,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{scanNumX}, #{scanNumJ}, #{productName}, - + + #{sourceLineId}, + #{barCode}, + #{isBatchManage}, + #{oldProjectNo}, + + INSERT INTO in_stockin_detail @@ -333,4 +344,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" order by ist.create_date desc + + + + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml index 5a19b7d..81cad95 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/InStockinFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -53,7 +53,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select is2.stockin_guid, + select distinct is2.stockin_guid, is2.stockin_id, is2.in_type, is2.create_date, @@ -78,6 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" -- su.user_name from in_stockin_finish is2 left join bas_warehouse bw on is2.warehouse_id = bw.warehouse_id + left join in_stockin_detail is3 on is2.stockin_id=is3.stockin_id -- left join bas_supplier bs on bs.supplier_no = is2.supplier_no -- left join sys_dept sd on is2.department_no = sd.dept_id -- left join sys_user su on su.user_id = is2.create_man_id @@ -86,24 +87,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -121,24 +123,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/in/TransferBillCallbackMapper.xml b/ruoyi-admin/src/main/resources/mapper/in/TransferBillCallbackMapper.xml index 8fcd1e0..88eaed5 100644 --- a/ruoyi-admin/src/main/resources/mapper/in/TransferBillCallbackMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/in/TransferBillCallbackMapper.xml @@ -1,4 +1,4 @@ - + @@ -24,14 +24,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -92,4 +92,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml index dd402f1..f32aeea 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -84,32 +84,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from mydo_job_detail_finish mjd left join bas_product bp on mjd.product_id = bp.product_id - and mjd.job_detail_id = #{jobDetailId} - and mjd.job_id = #{jobId} - and mjd.stock_id = #{stockId} - and mjd.lot_no = #{lotNo} - and mjd.in_date = #{inDate} - and mjd.in_or_out_id = #{inOrOutId} - and mjd.in_or_out_d_id = #{inOrOutDId} - and mjd.product_guid = #{productGuid} - and mjd.product_id = #{productId} - and mjd.stock_status = #{stockStatus} - and mjd.in_quantity = #{inQuantity} - and mjd.stock_quantity = #{stockQuantity} - and mjd.out_quantity = #{outQuantity} - and mjd.layer_quantity = #{layerQuantity} - and mjd.out_layer_quantity = #{outLayerQuantity} - and mjd.give_num = #{giveNum} - and mjd.stockin_id = #{stockinId} - and mjd.stacking_id = #{stackingId} - and mjd.exit_id = #{exitId} - and mjd.print_date = #{printDate} - and mjd.customer_id = #{customerId} - and mjd.supplier_id = #{supplierId} - and mjd.spare1 = #{spare1} - and mjd.spare2 = #{spare2} - and mjd.spare3 = #{spare3} - and mjd.spare4 = #{spare4} + and mjd.job_detail_id like concat('%', #{jobDetailId}, '%') + and mjd.job_id like concat('%', #{jobId}, '%') + and mjd.stock_id like concat('%', #{stockId}, '%') + and mjd.lot_no like concat('%', #{lotNo}, '%') + and mjd.in_date like concat('%', #{inDate}, '%') + and mjd.in_or_out_id like concat('%', #{inOrOutId}, '%') + and mjd.in_or_out_d_id like concat('%', #{inOrOutDId}, '%') + and mjd.product_guid like concat('%', #{productGuid}, '%') + and mjd.product_id like concat('%', #{productId}, '%') + and mjd.stock_status like concat('%', #{stockStatus}, '%') + and mjd.in_quantity like concat('%', #{inQuantity}, '%') + and mjd.stock_quantity like concat('%', #{stockQuantity}, '%') + and mjd.out_quantity like concat('%', #{outQuantity}, '%') + and mjd.layer_quantity like concat('%', #{layerQuantity}, '%') + and mjd.out_layer_quantity like concat('%', #{outLayerQuantity}, '%') + and mjd.give_num like concat('%', #{giveNum}, '%') + and mjd.stockin_id like concat('%', #{stockinId}, '%') + and mjd.stacking_id like concat('%', #{stackingId}, '%') + and mjd.exit_id like concat('%', #{exitId}, '%') + and mjd.print_date like concat('%', #{printDate}, '%') + and mjd.customer_id like concat('%', #{customerId}, '%') + and mjd.supplier_id like concat('%', #{supplierId}, '%') + and mjd.spare1 like concat('%', #{spare1}, '%') + and mjd.spare2 like concat('%', #{spare2}, '%') + and mjd.spare3 like concat('%', #{spare3}, '%') + and mjd.spare4 like concat('%', #{spare4}, '%') @@ -299,3 +299,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml index 1222e25..4eac9a1 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -87,32 +87,32 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from mydo_job_detail mjd left join bas_product bp on mjd.product_id = bp.product_id - and mjd.job_detail_id = #{jobDetailId} - and mjd.job_id = #{jobId} - and mjd.stock_id = #{stockId} - and mjd.lot_no = #{lotNo} - and mjd.in_date = #{inDate} - and mjd.in_or_out_id = #{inOrOutId} - and mjd.in_or_out_d_id = #{inOrOutDId} - and mjd.product_guid = #{productGuid} - and mjd.product_id = #{productId} - and mjd.stock_status = #{stockStatus} - and mjd.in_quantity = #{inQuantity} - and mjd.stock_quantity = #{stockQuantity} - and mjd.out_quantity = #{outQuantity} - and mjd.layer_quantity = #{layerQuantity} - and mjd.out_layer_quantity = #{outLayerQuantity} - and mjd.give_num = #{giveNum} - and mjd.stockin_id = #{stockinId} - and mjd.stacking_id = #{stackingId} - and mjd.exit_id = #{exitId} - and mjd.print_date = #{printDate} - and mjd.customer_id = #{customerId} - and mjd.supplier_id = #{supplierId} - and mjd.spare1 = #{spare1} - and mjd.spare2 = #{spare2} - and mjd.spare3 = #{spare3} - and mjd.spare4 = #{spare4} + and mjd.job_detail_id like concat('%', #{jobDetailId}, '%') + and mjd.job_id like concat('%', #{jobId}, '%') + and mjd.stock_id like concat('%', #{stockId}, '%') + and mjd.lot_no like concat('%', #{lotNo}, '%') + and mjd.in_date like concat('%', #{inDate}, '%') + and mjd.in_or_out_id like concat('%', #{inOrOutId}, '%') + and mjd.in_or_out_d_id like concat('%', #{inOrOutDId}, '%') + and mjd.product_guid like concat('%', #{productGuid}, '%') + and mjd.product_id like concat('%', #{productId}, '%') + and mjd.stock_status like concat('%', #{stockStatus}, '%') + and mjd.in_quantity like concat('%', #{inQuantity}, '%') + and mjd.stock_quantity like concat('%', #{stockQuantity}, '%') + and mjd.out_quantity like concat('%', #{outQuantity}, '%') + and mjd.layer_quantity like concat('%', #{layerQuantity}, '%') + and mjd.out_layer_quantity like concat('%', #{outLayerQuantity}, '%') + and mjd.give_num like concat('%', #{giveNum}, '%') + and mjd.stockin_id like concat('%', #{stockinId}, '%') + and mjd.stacking_id like concat('%', #{stackingId}, '%') + and mjd.exit_id like concat('%', #{exitId}, '%') + and mjd.print_date like concat('%', #{printDate}, '%') + and mjd.customer_id like concat('%', #{customerId}, '%') + and mjd.supplier_id like concat('%', #{supplierId}, '%') + and mjd.spare1 like concat('%', #{spare1}, '%') + and mjd.spare2 like concat('%', #{spare2}, '%') + and mjd.spare3 like concat('%', #{spare3}, '%') + and mjd.spare4 like concat('%', #{spare4}, '%') @@ -403,8 +403,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mjd.spare3, mjd.spare4, mjd.pick_quantity, - mjd.out_quantity-mjd.pick_quantity as pick_quantity_real, - bp.product_name, + mjd.out_quantity - mjd.pick_quantity as pick_quantity_real, + mjd.product_name, mjd.spare5, mjd.spare6, mjd.spare7, @@ -415,11 +415,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" mj.tray_code from mydo_job_detail mjd - left join bas_product bp on mjd.product_id = bp.product_id + left join mydo_job mj on mjd.job_id = mj.job_id - where mj.exit_id=#{exitId} - and mj.status='3' - and mj.execution_phase=2 + where mj.status = '3' + and mj.execution_phase = 2 + and mj.tray_code = #{trayCode} and mj.in_or_out = #{inOrOut} + diff --git a/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml index f35a52a..63e01f3 100644 --- a/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/job/MydoJobFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -60,30 +60,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -205,6 +206,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where job_id = #{jobId} + delete from mydo_job where job_id = #{jobId} @@ -237,10 +244,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -260,11 +267,38 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select * from mydo_job where tray_code = #{trayCode} + + + + + + + + + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutExceptionRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutExceptionRecordMapper.xml index 9e432c3..f34c2db 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutExceptionRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutExceptionRecordMapper.xml @@ -1,4 +1,4 @@ - + @@ -22,13 +22,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -83,4 +83,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{outGuid} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutPickSubmitMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutPickSubmitMapper.xml index 37685d6..98b9731 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutPickSubmitMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutPickSubmitMapper.xml @@ -1,4 +1,4 @@ - + @@ -25,16 +25,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -98,4 +98,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml index 0bf97cb..56d4ac2 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -90,36 +90,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -253,10 +253,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select d.stockout_detail_id, d.stockout_guid, d.stockout_id, d.lot_no, d.product_guid, d.product_id, d.quantity, d.quantity_x, d.quantity_j, d.assign_num, d.assign_num_x, d.assign_num_j, d.allot_quantity, d.allot_quantity_x, d.allot_quantity_j, d.price, d.remark, d.warehouse_id, d.out_id, d.bukechai_quantity, d.kechai_quantity, d.entryid, d.flat_quantity, d.fid, - d.erp_stockout_id, d.unit, d.spec, d.supplier_id, d.cargo_no, d.create_time, d.print_date, - d.voltage, d.power, d.phase, d.net_weight, d.gross_weight, d.distribution, d.model, d.order_id, - p.product_name + d.erp_stockout_id, d.unit, d.spec, + d.product_name,d.spare1, d.spare2, d.spare3, d.spare4,d.spare5, d.spare6,d.spare7,d.spare8,d.spare9 from out_stockout_detail_finish d left join bas_product p on d.product_id = p.product_id where stockout_guid = #{stockoutGuid} + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml index 31db6a8..9162384 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -57,42 +57,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -141,47 +141,55 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spare7, spare8, spare9, + source_line_id, + bar_code, + is_batch_manage, + old_project_no, - #{stockoutDetailId}, - #{stockoutGuid}, - #{stockoutId}, - #{lotNo}, - #{productGuid}, - #{productId}, - #{productName}, - #{quantity}, - #{quantityX}, - #{quantityJ}, - #{assignNum}, - #{assignNumX}, - #{assignNumJ}, - #{allotQuantity}, - #{allotQuantityX}, - #{allotQuantityJ}, - #{price}, - #{remark}, - #{warehouseId}, - #{outId}, - #{bukechaiQuantity}, - #{kechaiQuantity}, - #{entryid}, - #{flatQuantity}, - #{fid}, - #{erpStockoutId}, - #{unit}, - #{spec}, - #{spare1}, - #{spare2}, - #{spare3}, - #{spare4}, - #{spare5}, - #{spare6}, - #{spare7}, - #{spare8}, - #{spare9}, - + #{stockoutDetailId}, + #{stockoutGuid}, + #{stockoutId}, + #{lotNo}, + #{productGuid}, + #{productId}, + #{productName}, + #{quantity}, + #{quantityX}, + #{quantityJ}, + #{assignNum}, + #{assignNumX}, + #{assignNumJ}, + #{allotQuantity}, + #{allotQuantityX}, + #{allotQuantityJ}, + #{price}, + #{remark}, + #{warehouseId}, + #{outId}, + #{bukechaiQuantity}, + #{kechaiQuantity}, + #{entryid}, + #{flatQuantity}, + #{fid}, + #{erpStockoutId}, + #{unit}, + #{spec}, + #{spare1}, + #{spare2}, + #{spare3}, + #{spare4}, + #{spare5}, + #{spare6}, + #{spare7}, + #{spare8}, + #{spare9}, + #{sourceLineId}, + #{barCode}, + #{isBatchManage}, + #{oldProjectNo}, + @@ -248,3 +256,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where d.stockout_guid = #{stockoutGuid} + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml index b66d614..4168ae0 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -33,23 +33,23 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -142,26 +142,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join out_stockout_detail_finish d on d.stockout_id = o.stockout_id left join bas_product bp on bp.product_id = d.product_id - and o.stockout_guid = #{stockoutGuid} - and o.stockout_id = #{stockoutId} - and o.out_type = #{outType} - and o.department_no = #{departmentNo} - and o.customer_no = #{customerNo} - and o.create_man_id = #{createManId} - and o.status = #{status} - and o.stockout_source = #{stockoutSource} - and o.warehouse_id = #{warehouseId} - and o.class_now_id = #{classNowId} - and o.exit_id = #{exitId} - and o.car_number = #{carNumber} - and o.FID = #{FID} - and o.erp_stockout_id = #{erpStockoutId} + and o.stockout_guid like concat('%', #{stockoutGuid}, '%') + and o.stockout_id like concat('%', #{stockoutId}, '%') + and o.out_type like concat('%', #{outType}, '%') + and o.department_no like concat('%', #{departmentNo}, '%') + and o.customer_no like concat('%', #{customerNo}, '%') + and o.create_man_id like concat('%', #{createManId}, '%') + and o.status like concat('%', #{status}, '%') + and o.stockout_source like concat('%', #{stockoutSource}, '%') + and o.warehouse_id like concat('%', #{warehouseId}, '%') + and o.class_now_id like concat('%', #{classNowId}, '%') + and o.exit_id like concat('%', #{exitId}, '%') + and o.car_number like concat('%', #{carNumber}, '%') + and o.FID like concat('%', #{FID}, '%') + and o.erp_stockout_id like concat('%', #{erpStockoutId}, '%') and o.create_date >= #{startDate} and o.create_date <= #{finishDate} - and d.product_id = #{productId} + and d.spare4 like concat('%', #{spare4}, '%') + and d.product_id like concat('%', #{productId}, '%') and bp.product_name like concat('%', #{productName}, '%') and bc.customer_name like concat('%', #{customerName}, '%') order by o.create_date desc + diff --git a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml index 84ac0fb..61c9efc 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/OutStockoutMapper.xml @@ -1,4 +1,4 @@ - + @@ -29,44 +29,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + - select stockout_guid, stockout_id, out_type, create_date, department_no, customer_no, create_man_id, status, stockout_source, warehouse_id, class_now_id, exit_id, car_number, FID, erp_stockout_id,start_date,finish_date,spare1,spare2,spare3,spare4,spare5 from out_stockout + select stockout_guid, stockout_id, out_type, create_date, department_no, customer_no, create_man_id, status, stockout_source, warehouse_id, class_now_id, exit_id, car_number, FID, erp_stockout_id,start_date,finish_date,spare1,spare2,spare3,spare4,spare5,spare6,spare7,spare8 from out_stockout @@ -192,10 +210,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{v_stockout_detail_id,mode=IN,jdbcType=VARCHAR}, #{v_stock_id,mode=IN,jdbcType=VARCHAR}, #{v_result,mode=OUT,jdbcType=VARCHAR}, - #{v_resultString,mode=OUT,jdbcType=VARCHAR} + #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} ) } + + + update out_stockout + + stockout_id = #{stockoutId}, + out_type = #{outType}, + create_date = #{createDate}, + department_no = #{departmentNo}, + customer_no = #{customerNo}, + create_man_id = #{createManId}, + status = #{status}, + stockout_source = #{stockoutSource}, + warehouse_id = #{warehouseId}, + class_now_id = #{classNowId}, + exit_id = #{exitId}, + car_number = #{carNumber}, + FID = #{FID}, + erp_stockout_id = #{erpStockoutId}, + start_date = #{startDate}, + finish_date = #{finishDate}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare4 = #{spare4}, + spare3 = #{spare3}, + spare5 = #{spare5}, + company_short_name = #{companyShortName}, + account_set_no = #{accountSetNo}, + + where stockout_guid = #{stockoutGuid} + + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/out/ViewHandAllotStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/out/ViewHandAllotStockMapper.xml index efa1542..a5fc899 100644 --- a/ruoyi-admin/src/main/resources/mapper/out/ViewHandAllotStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/out/ViewHandAllotStockMapper.xml @@ -1,9 +1,9 @@ - + - + @@ -53,58 +53,88 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_guid, quantity, job_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, in_class_id, warehouse_id, stacking_id, spare1, spare2, spare3, spare4, spare5, spare6, product_id, product_name, voltage, power, phase, net_weight, gross_weight, distribution, model, order_id, spare7, spare8, cargo_space_name, roadway_id, the_platoon, the_column, the_floor, status, locked from view_hand_allot_stock + + select stock_id, cargo_space_id, stock_status, product_status, lot_no, in_date, back_date, product_guid, quantity, job_id, tray_code, out_quantity, stockin_detail_id, stockin_id, in_type, in_class_id, warehouse_id, stacking_id, spare1, spare2, spare3, spare4, spare5, spare6, product_id, product_name, voltage, power, phase, net_weight, gross_weight, distribution, model, order_id, spare7, spare8 from view_hand_allot_stock_hc + - + @@ -256,9 +286,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - delete from view_hand_allot_stock where stock_id in + delete from view_hand_allot_stock where stock_id in #{stockId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml index 19d6112..d31df4a 100644 --- a/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/pda/PdaMapper.xml @@ -8,6 +8,7 @@ {call proc_bind_tray_msg( #{v_tray_code,mode=IN,jdbcType=VARCHAR}, #{v_stockin_detail_id,mode=IN,jdbcType=VARCHAR}, + #{v_is_bound_accord,mode=IN,jdbcType=VARCHAR}, #{v_quantity,mode=IN,jdbcType=INTEGER}, #{v_result,mode=OUT,jdbcType=INTEGER}, #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} @@ -17,6 +18,8 @@ {call proc_tp_out( - #{v_exit_id,mode=IN,jdbcType=VARCHAR}, + #{v_tray_type,mode=IN,jdbcType=VARCHAR}, #{v_result,mode=OUT,jdbcType=INTEGER}, #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} @@ -142,4 +145,60 @@ #{v_resultmsg,mode=OUT,jdbcType=VARCHAR} )} + + + + + + + + + + + diff --git a/ruoyi-admin/src/main/resources/mapper/pda/TrayMsgMapper.xml b/ruoyi-admin/src/main/resources/mapper/pda/TrayMsgMapper.xml index d56e423..c133e74 100644 --- a/ruoyi-admin/src/main/resources/mapper/pda/TrayMsgMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/pda/TrayMsgMapper.xml @@ -1,4 +1,4 @@ - + @@ -25,9 +25,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" left join bas_product p on d.product_id=p.product_id left join bas_warehouse w on t.warehouse_id=w.warehouse_id - and t.tray_code = #{trayCode} - and t.stockin_detail_id = #{stockinDetailId} - and t.quantity = #{quantity} + and t.tray_code like concat('%', #{trayCode}, '%') + and t.stockin_detail_id like concat('%', #{stockinDetailId}, '%') + and t.quantity like concat('%', #{quantity}, '%') ${params.warehouseDataScope} @@ -78,4 +78,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{id} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/productAndStock/ViewProductAndStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/productAndStock/ViewProductAndStockMapper.xml index 8b9d313..d9378e5 100644 --- a/ruoyi-admin/src/main/resources/mapper/productAndStock/ViewProductAndStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/productAndStock/ViewProductAndStockMapper.xml @@ -1,4 +1,4 @@ - + @@ -33,22 +33,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -60,24 +60,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" resultMap="ViewProductAndStockResult"> - and only_identity = #{onlyIdentity} - and product_id = #{productId} - and lot_no = #{lotNo} + and only_identity like concat('%', #{onlyIdentity}, '%') + and product_id like concat('%', #{productId}, '%') + and lot_no like concat('%', #{lotNo}, '%') and product_name like concat('%', #{productName}, '%') - and quantity = #{quantity} - and warehouse_id = #{warehouseId} - and stacking_id = #{stackingId} - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} - and spare4 = #{spare4} - and spare5 = #{spare5} - and spare6 = #{spare6} - and voltage = #{voltage} - and power = #{power} - and phase = #{phase} + and quantity like concat('%', #{quantity}, '%') + and warehouse_id like concat('%', #{warehouseId}, '%') + and stacking_id like concat('%', #{stackingId}, '%') + and spare1 like concat('%', #{spare1}, '%') + and spare2 like concat('%', #{spare2}, '%') + and spare3 like concat('%', #{spare3}, '%') + and spare4 like concat('%', #{spare4}, '%') + and spare5 like concat('%', #{spare5}, '%') + and spare6 like concat('%', #{spare6}, '%') + and voltage like concat('%', #{voltage}, '%') + and power like concat('%', #{power}, '%') + and phase like concat('%', #{phase}, '%') @@ -154,3 +154,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailFinishMapper.xml index c14cb0a..abbf8c2 100644 --- a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -87,31 +87,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -123,31 +123,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" resultMap="ReceiveStockinDetailResult"> - and stockin_guid = #{stockinGuid} - and stockin_id = #{stockinId} - and lot_no = #{lotNo} - and product_guid = #{productGuid} - and product_id = #{productId} - and quantity = #{quantity} - and quantity_x = #{quantityX} - and quantity_j = #{quantityJ} - and price = #{price} - and cargo_no = #{cargoNo} - and assign_num = #{assignNum} - and assign_num_x = #{assignNumX} - and assign_num_j = #{assignNumJ} - and print_date = #{printDate} - and stock_status = #{stockStatus} - and supplier_id = #{supplierId} - and customer_id = #{customerId} - and unit = #{unit} - and spec = #{spec} - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} - and spare4 = #{spare4} - and spare5 = #{spare5} - and spare6 = #{spare6} + and stockin_guid like concat('%', #{stockinGuid}, '%') + and stockin_id like concat('%', #{stockinId}, '%') + and lot_no like concat('%', #{lotNo}, '%') + and product_guid like concat('%', #{productGuid}, '%') + and product_id like concat('%', #{productId}, '%') + and quantity like concat('%', #{quantity}, '%') + and quantity_x like concat('%', #{quantityX}, '%') + and quantity_j like concat('%', #{quantityJ}, '%') + and price like concat('%', #{price}, '%') + and cargo_no like concat('%', #{cargoNo}, '%') + and assign_num like concat('%', #{assignNum}, '%') + and assign_num_x like concat('%', #{assignNumX}, '%') + and assign_num_j like concat('%', #{assignNumJ}, '%') + and print_date like concat('%', #{printDate}, '%') + and stock_status like concat('%', #{stockStatus}, '%') + and supplier_id like concat('%', #{supplierId}, '%') + and customer_id like concat('%', #{customerId}, '%') + and unit like concat('%', #{unit}, '%') + and spec like concat('%', #{spec}, '%') + and spare1 like concat('%', #{spare1}, '%') + and spare2 like concat('%', #{spare2}, '%') + and spare3 like concat('%', #{spare3}, '%') + and spare4 like concat('%', #{spare4}, '%') + and spare5 like concat('%', #{spare5}, '%') + and spare6 like concat('%', #{spare6}, '%') @@ -257,3 +257,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailMapper.xml index 7dd1219..bfb6770 100644 --- a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -58,31 +58,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -202,3 +202,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml index 5660555..1f847da 100644 --- a/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/receive/ReceiveStockinFinishMapper.xml @@ -1,4 +1,4 @@ - + @@ -86,24 +86,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -114,24 +114,24 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - and rs.stockin_id = #{stockinId} - and rs.in_type = #{inType} - and rs.create_date = #{createDate} - and rs.create_man_id = #{createManId} - and rs.status = #{status} - and rs.warehouse_id = #{warehouseId} - and rs.spare5 = #{spare5} - and rs.spare4 = #{spare4} - and rs.spare3 = #{spare3} - and rs.finish_date = #{finishDate} - and rs.spare2 = #{spare2} - and rs.spare1 = #{spare1} - and rs.erp_bill = #{erpBill} - and rs.stock_source = #{stockSource} - and rs.department_no = #{departmentNo} - and rs.customer_no = #{customerNo} - and rs.class_no = #{classNo} - and rs.supplier_no = #{supplierNo} + and rs.stockin_id like concat('%', #{stockinId}, '%') + and rs.in_type like concat('%', #{inType}, '%') + and rs.create_date like concat('%', #{createDate}, '%') + and rs.create_man_id like concat('%', #{createManId}, '%') + and rs.status like concat('%', #{status}, '%') + and rs.warehouse_id like concat('%', #{warehouseId}, '%') + and rs.spare5 like concat('%', #{spare5}, '%') + and rs.spare4 like concat('%', #{spare4}, '%') + and rs.spare3 like concat('%', #{spare3}, '%') + and rs.finish_date like concat('%', #{finishDate}, '%') + and rs.spare2 like concat('%', #{spare2}, '%') + and rs.spare1 like concat('%', #{spare1}, '%') + and rs.erp_bill like concat('%', #{erpBill}, '%') + and rs.stock_source like concat('%', #{stockSource}, '%') + and rs.department_no like concat('%', #{departmentNo}, '%') + and rs.customer_no like concat('%', #{customerNo}, '%') + and rs.class_no like concat('%', #{classNo}, '%') + and rs.supplier_no like concat('%', #{supplierNo}, '%') and rs.stockin_id in ( select distinct stockin_id from receive_stockin_detail rsd @@ -195,3 +195,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/requestInterface/RequestLogMapper.xml b/ruoyi-admin/src/main/resources/mapper/requestInterface/RequestLogMapper.xml index 794571f..bae57b6 100644 --- a/ruoyi-admin/src/main/resources/mapper/requestInterface/RequestLogMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/requestInterface/RequestLogMapper.xml @@ -1,4 +1,4 @@ - + @@ -29,20 +29,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -112,10 +112,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" delete from request_log where request_id = #{requestId} + + + + + delete from request_log where request_id in #{requestId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewInJobFlowMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewInJobFlowMapper.xml index 60b2b8d..5ca5fde 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewInJobFlowMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewInJobFlowMapper.xml @@ -1,4 +1,4 @@ - + @@ -64,50 +64,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and job_id like concat('%', #{jobId}, '%') - and status = #{status} - and on_line_type = #{onLineType} + and status like concat('%', #{status}, '%') + and on_line_type like concat('%', #{onLineType}, '%') and task_no like concat('%', #{taskNo}, '%') - and supplier_id = #{supplierId} - and customer_id = #{customerId} - and department_id = #{departmentId} + and supplier_id like concat('%', #{supplierId}, '%') + and customer_id like concat('%', #{customerId}, '%') + and department_id like concat('%', #{departmentId}, '%') and tray_code like concat('%', #{trayCode}, '%') - and roadway_id = #{roadwayId} - and cargo_space_id = #{cargoSpaceId} - and target_roadway_id = #{targetRoadwayId} - and target_cargo_space_id = #{targetCargoSpaceId} + and roadway_id like concat('%', #{roadwayId}, '%') + and cargo_space_id like concat('%', #{cargoSpaceId}, '%') + and target_roadway_id like concat('%', #{targetRoadwayId}, '%') + and target_cargo_space_id like concat('%', #{targetCargoSpaceId}, '%') and line_id like concat('%', #{lineId}, '%') - and workshop_id = #{workshopId} - and priority = #{priority} - and execution_phase = #{executionPhase} - and in_or_out = #{inOrOut} - and start_time = #{startTime} - and finish_time = #{finishTime} - and entrance_id = #{entranceId} - and exit_id = #{exitId} - and class_id = #{classId} - and warehouse_id = #{warehouseId} - and fault_flag = #{faultFlag} - and job_detail_id = #{jobDetailId} - and stock_id = #{stockId} - and lot_no = #{lotNo} - and in_date = #{inDate} - and in_or_out_id = #{inOrOutId} - and in_or_out_d_id = #{inOrOutDId} - and product_guid = #{productGuid} - and stock_status = #{stockStatus} - and in_quantity = #{inQuantity} - and stock_quantity = #{stockQuantity} - and out_quantity = #{outQuantity} - and stockin_id = #{stockinId} - and stacking_id = #{stackingId} - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} - and stockin_detail_id = #{stockinDetailId} - and spare5 = #{spare5} - and spare6 = #{spare6} - and spec = #{spec} - and unit = #{unit} + and workshop_id like concat('%', #{workshopId}, '%') + and priority like concat('%', #{priority}, '%') + and execution_phase like concat('%', #{executionPhase}, '%') + and in_or_out like concat('%', #{inOrOut}, '%') + and start_time like concat('%', #{startTime}, '%') + and finish_time like concat('%', #{finishTime}, '%') + and entrance_id like concat('%', #{entranceId}, '%') + and exit_id like concat('%', #{exitId}, '%') + and class_id like concat('%', #{classId}, '%') + and warehouse_id like concat('%', #{warehouseId}, '%') + and fault_flag like concat('%', #{faultFlag}, '%') + and job_detail_id like concat('%', #{jobDetailId}, '%') + and stock_id like concat('%', #{stockId}, '%') + and lot_no like concat('%', #{lotNo}, '%') + and in_date like concat('%', #{inDate}, '%') + and in_or_out_id like concat('%', #{inOrOutId}, '%') + and in_or_out_d_id like concat('%', #{inOrOutDId}, '%') + and product_guid like concat('%', #{productGuid}, '%') + and stock_status like concat('%', #{stockStatus}, '%') + and in_quantity like concat('%', #{inQuantity}, '%') + and stock_quantity like concat('%', #{stockQuantity}, '%') + and out_quantity like concat('%', #{outQuantity}, '%') + and stockin_id like concat('%', #{stockinId}, '%') + and stacking_id like concat('%', #{stackingId}, '%') + and spare1 like concat('%', #{spare1}, '%') + and spare2 like concat('%', #{spare2}, '%') + and spare3 like concat('%', #{spare3}, '%') + and stockin_detail_id like concat('%', #{stockinDetailId}, '%') + and spare5 like concat('%', #{spare5}, '%') + and spare6 like concat('%', #{spare6}, '%') + and spec like concat('%', #{spec}, '%') + and unit like concat('%', #{unit}, '%') and product_id like concat('%', #{productId}, '%') and product_name like concat('%', #{productName}, '%') and cargo_space_name like concat('%', #{cargoSpaceName}, '%') @@ -290,4 +290,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{jobId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewOutJobFlowMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewOutJobFlowMapper.xml index 69d3e3a..2522f3e 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewOutJobFlowMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewOutJobFlowMapper.xml @@ -1,4 +1,4 @@ - + @@ -64,50 +64,50 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and job_id like concat('%', #{jobId}, '%') - and status = #{status} - and on_line_type = #{onLineType} + and status like concat('%', #{status}, '%') + and on_line_type like concat('%', #{onLineType}, '%') and task_no like concat('%', #{taskNo}, '%') - and supplier_id = #{supplierId} - and customer_id = #{customerId} - and department_id = #{departmentId} + and supplier_id like concat('%', #{supplierId}, '%') + and customer_id like concat('%', #{customerId}, '%') + and department_id like concat('%', #{departmentId}, '%') and tray_code like concat('%', #{trayCode}, '%') - and roadway_id = #{roadwayId} - and cargo_space_id = #{cargoSpaceId} - and target_roadway_id = #{targetRoadwayId} - and target_cargo_space_id = #{targetCargoSpaceId} + and roadway_id like concat('%', #{roadwayId}, '%') + and cargo_space_id like concat('%', #{cargoSpaceId}, '%') + and target_roadway_id like concat('%', #{targetRoadwayId}, '%') + and target_cargo_space_id like concat('%', #{targetCargoSpaceId}, '%') and line_id like concat('%', #{lineId}, '%') - and workshop_id = #{workshopId} - and priority = #{priority} - and execution_phase = #{executionPhase} - and in_or_out = #{inOrOut} - and start_time = #{startTime} - and finish_time = #{finishTime} - and entrance_id = #{entranceId} - and exit_id = #{exitId} - and class_id = #{classId} - and warehouse_id = #{warehouseId} - and fault_flag = #{faultFlag} - and job_detail_id = #{jobDetailId} - and stock_id = #{stockId} - and lot_no = #{lotNo} - and in_date = #{inDate} - and in_or_out_id = #{inOrOutId} - and in_or_out_d_id = #{inOrOutDId} - and product_guid = #{productGuid} - and stock_status = #{stockStatus} - and in_quantity = #{inQuantity} - and stock_quantity = #{stockQuantity} - and out_quantity = #{outQuantity} - and stockin_id = #{stockinId} - and stacking_id = #{stackingId} - and spare1 = #{spare1} - and spare2 = #{spare2} - and spare3 = #{spare3} - and stockin_detail_id = #{stockinDetailId} + and workshop_id like concat('%', #{workshopId}, '%') + and priority like concat('%', #{priority}, '%') + and execution_phase like concat('%', #{executionPhase}, '%') + and in_or_out like concat('%', #{inOrOut}, '%') + and start_time like concat('%', #{startTime}, '%') + and finish_time like concat('%', #{finishTime}, '%') + and entrance_id like concat('%', #{entranceId}, '%') + and exit_id like concat('%', #{exitId}, '%') + and class_id like concat('%', #{classId}, '%') + and warehouse_id like concat('%', #{warehouseId}, '%') + and fault_flag like concat('%', #{faultFlag}, '%') + and job_detail_id like concat('%', #{jobDetailId}, '%') + and stock_id like concat('%', #{stockId}, '%') + and lot_no like concat('%', #{lotNo}, '%') + and in_date like concat('%', #{inDate}, '%') + and in_or_out_id like concat('%', #{inOrOutId}, '%') + and in_or_out_d_id like concat('%', #{inOrOutDId}, '%') + and product_guid like concat('%', #{productGuid}, '%') + and stock_status like concat('%', #{stockStatus}, '%') + and in_quantity like concat('%', #{inQuantity}, '%') + and stock_quantity like concat('%', #{stockQuantity}, '%') + and out_quantity like concat('%', #{outQuantity}, '%') + and stockin_id like concat('%', #{stockinId}, '%') + and stacking_id like concat('%', #{stackingId}, '%') + and spare1 like concat('%', #{spare1}, '%') + and spare2 like concat('%', #{spare2}, '%') + and spare3 like concat('%', #{spare3}, '%') + and stockin_detail_id like concat('%', #{stockinDetailId}, '%') and spare5 like concat('%', #{spare5}, '%') - and spare6 = #{spare6} - and spec = #{spec} - and unit = #{unit} + and spare6 like concat('%', #{spare6}, '%') + and spec like concat('%', #{spec}, '%') + and unit like concat('%', #{unit}, '%') and product_id like concat('%', #{productId}, '%') and product_name like concat('%', #{productName}, '%') and cargo_space_name like concat('%', #{cargoSpaceName}, '%') @@ -290,4 +290,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{jobId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewStockDetailMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewStockDetailMapper.xml index 6881df7..ecb5e5d 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewStockDetailMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewStockDetailMapper.xml @@ -1,4 +1,4 @@ - + @@ -54,46 +54,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -246,4 +246,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{onlyIdentity} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewStockSecureMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewStockSecureMapper.xml index 3c958a5..2cc2774 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewStockSecureMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewStockSecureMapper.xml @@ -1,4 +1,4 @@ - + @@ -103,8 +103,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and stock_id like concat('%', #{stockId}, '%') and cargo_space_id like concat('%', #{cargoSpaceId}, '%') - and stock_status = #{stockStatus} - and product_status = #{productStatus} + and stock_status like concat('%', #{stockStatus}, '%') + and product_status like concat('%', #{productStatus}, '%') and lot_no like concat('%', #{lotNo}, '%') and in_date like concat('%', #{inDate}, '%') and back_date like concat('%', #{backDate}, '%') @@ -114,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and out_quantity like concat('%', #{outQuantity}, '%') and stockin_detail_id like concat('%', #{stockinDetailId}, '%') and stockin_id like concat('%', #{stockinId}, '%') - and in_type = #{inType} + and in_type like concat('%', #{inType}, '%') and in_class_id like concat('%', #{inClassId}, '%') and warehouse_id like concat('%', #{warehouseId}, '%') and stacking_id like concat('%', #{stackingId}, '%') @@ -123,7 +123,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and c_desc like concat('%', #{cDesc}, '%') and warehouse_kind like concat('%', #{warehouseKind}, '%') and warehouse_type like concat('%', #{warehouseType}, '%') - and is_current = #{isCurrent} + and is_current like concat('%', #{isCurrent}, '%') and product_guid like concat('%', #{productGuid}, '%') and product_id like concat('%', #{productId}, '%') and parent_id like concat('%', #{parentId}, '%') @@ -180,8 +180,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and the_platoon like concat('%', #{thePlatoon}, '%') and the_column like concat('%', #{theColumn}, '%') and the_floor like concat('%', #{theFloor}, '%') - and cargo_status = #{cargoStatus} - and locked = #{locked} + and cargo_status like concat('%', #{cargoStatus}, '%') + and locked like concat('%', #{locked}, '%') and cargo_hight like concat('%', #{cargoHight}, '%') and iss_double like concat('%', #{issDouble}, '%') and group_coding_no like concat('%', #{groupCodingNo}, '%') @@ -481,4 +481,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{stockId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewStockWarningMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewStockWarningMapper.xml index abea5e6..a5d82bd 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewStockWarningMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewStockWarningMapper.xml @@ -1,4 +1,4 @@ - + @@ -103,8 +103,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and stock_id like concat('%', #{stockId}, '%') and cargo_space_id like concat('%', #{cargoSpaceId}, '%') - and stock_status = #{stockStatus} - and product_status = #{productStatus} + and stock_status like concat('%', #{stockStatus}, '%') + and product_status like concat('%', #{productStatus}, '%') and lot_no like concat('%', #{lotNo}, '%') and in_date like concat('%', #{inDate}, '%') and back_date like concat('%', #{backDate}, '%') @@ -114,7 +114,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and out_quantity like concat('%', #{outQuantity}, '%') and stockin_detail_id like concat('%', #{stockinDetailId}, '%') and stockin_id like concat('%', #{stockinId}, '%') - and in_type = #{inType} + and in_type like concat('%', #{inType}, '%') and in_class_id like concat('%', #{inClassId}, '%') and warehouse_id like concat('%', #{warehouseId}, '%') and stacking_id like concat('%', #{stackingId}, '%') @@ -180,8 +180,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and the_platoon like concat('%', #{thePlatoon}, '%') and the_column like concat('%', #{theColumn}, '%') and the_floor like concat('%', #{theFloor}, '%') - and cargo_status = #{cargoStatus} - and locked = #{locked} + and cargo_status like concat('%', #{cargoStatus}, '%') + and locked like concat('%', #{locked}, '%') and cargo_hight like concat('%', #{cargoHight}, '%') and iss_double like concat('%', #{issDouble}, '%') and group_coding_no like concat('%', #{groupCodingNo}, '%') @@ -481,4 +481,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{stockId} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewStockinHistoryMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewStockinHistoryMapper.xml index ee6b8ca..87fdbf3 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewStockinHistoryMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewStockinHistoryMapper.xml @@ -1,4 +1,4 @@ - + @@ -53,43 +53,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -240,4 +240,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{stockinGuid} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/search/ViewStockoutHistoryMapper.xml b/ruoyi-admin/src/main/resources/mapper/search/ViewStockoutHistoryMapper.xml index ba2e846..a200e57 100644 --- a/ruoyi-admin/src/main/resources/mapper/search/ViewStockoutHistoryMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/search/ViewStockoutHistoryMapper.xml @@ -1,4 +1,4 @@ - + @@ -45,36 +45,36 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -200,4 +200,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{stockoutGuid} - \ No newline at end of file + diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockFreezeRecordMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockFreezeRecordMapper.xml index 33487a0..ac95dfb 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockFreezeRecordMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockFreezeRecordMapper.xml @@ -1,4 +1,4 @@ - + @@ -37,22 +37,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - and stock_id = #{stockId} - and bsmr.cargo_space_id = #{cargoSpaceId} - and bsmr.tray_code = #{trayCode} - and product_id = #{productId} + and stock_id like concat('%', #{stockId}, '%') + and bsmr.cargo_space_id like concat('%', #{cargoSpaceId}, '%') + and bsmr.tray_code like concat('%', #{trayCode}, '%') + and product_id like concat('%', #{productId}, '%') and product_name like concat('%', #{productName}, '%') - and print_date = #{printDate} - and lot_no = #{lotNo} - and old_quantity = #{oldQuantity} - and quantity = #{quantity} - and method = #{method} - and bsmr.warehouse_id = #{warehouseId} - and stock_detail_id = #{stockDetailId} - and operating_target = #{operatingTarget} - and bar_code_old_quantity = #{barCodeOldQuantity} - and bar_code_quantity = #{barCodeQuantity} - and product_guid = #{productGuid} + and print_date like concat('%', #{printDate}, '%') + and lot_no like concat('%', #{lotNo}, '%') + and old_quantity like concat('%', #{oldQuantity}, '%') + and quantity like concat('%', #{quantity}, '%') + and method like concat('%', #{method}, '%') + and bsmr.warehouse_id like concat('%', #{warehouseId}, '%') + and stock_detail_id like concat('%', #{stockDetailId}, '%') + and operating_target like concat('%', #{operatingTarget}, '%') + and bar_code_old_quantity like concat('%', #{barCodeOldQuantity}, '%') + and bar_code_quantity like concat('%', #{barCodeQuantity}, '%') + and product_guid like concat('%', #{productGuid}, '%') ${params.warehouseDataScope} @@ -144,3 +144,4 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + diff --git a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml index b24b53c..ffa78de 100644 --- a/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml +++ b/ruoyi-admin/src/main/resources/mapper/stock/BasStockMapper.xml @@ -1,123 +1,283 @@ - + + PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + - select bs.stock_id, bs.cargo_space_id, bs.stock_status, bs.product_status, bs.lot_no, bs.in_date, - bs.back_date, bs.product_guid, bs.quantity, bs.job_id, bs.tray_code, bs.out_quantity, - bs.stockin_detail_id, bs.stockin_id, bs.in_type, bs.in_class_id, bs.warehouse_id, bs.stacking_id, - bs.spare1, bs.spare2, bs.spare3, bs.spare4, bs.spare5, bs.spare6 , - bs.voltage,bs.power,bs.phase,bs.net_weight,bs.gross_weight,bs.distribution,bs.model,bs.order_id, - bs.product_name,bp.spare1 as englishDesc, - bp.spare2 as netWeight,bp.spare5 as length,bp.spare6 as width,bp.spare7 as height,bp.spare8 as volume,bw.warehouse_name,bs.product_id, - bcs.locked,bcs.cargo_space_name,bcs.status as cargoSpaceStockStatus + select bs.stock_id, + bs.cargo_space_id, + bs.stock_status, + bs.product_status, + bs.lot_no, + bs.in_date, + bs.back_date, + bs.product_guid, + bs.quantity, + bs.job_id, + bs.tray_code, + bs.out_quantity, + bs.stockin_detail_id, + bs.stockin_id, + bs.in_type, + bs.in_class_id, + bs.warehouse_id, + bs.stacking_id, + bs.spare1, + bs.spare2, + bs.spare3, + bs.spare4, + bs.spare5, + bs.spare6, + bs.voltage, + bs.power, + bs.phase, + bs.net_weight, + bs.gross_weight, + bs.distribution, + bs.model, + bs.order_id, + bs.product_name, + bp.spare1 as englishDesc, + bp.spare2 as netWeight, + bp.spare5 as length, + bp.spare6 as width, + bp.spare7 as height, + bp.spare8 as volume, + bw.warehouse_name, + bs.product_id, + bcs.locked, + bcs.cargo_space_name, + bcs.status as cargoSpaceStockStatus from bas_stock bs - left join bas_product bp on bs.product_id = bp.product_id - left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id - left join bas_cargo_space bcs on bs.cargo_space_id = bcs.cargo_space_id + left join bas_product bp on bs.product_id = bp.product_id + left join bas_warehouse bw on bs.warehouse_id = bw.warehouse_id + left join bas_cargo_space bcs on bs.cargo_space_id = bcs.cargo_space_id + + + + + + + insert into bas_stock @@ -146,7 +306,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" spare5, spare6, product_id, - + #{stockId}, #{cargoSpaceId}, @@ -173,18 +333,62 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{spare5}, #{spare6}, #{productId}, - + INSERT INTO bas_stock - (stock_id,cargo_space_id,stock_status,product_status,lot_no,in_date,back_date,product_guid,quantity,job_id,tray_code,out_quantity,stockin_detail_id,stockin_id,in_type,in_class_id,warehouse_id,stacking_id,spare1,spare2,spare3,spare4,spare5,spare6,product_id,product_name,voltage,power,phase,net_weight,gross_weight,distribution,model,order_id,spare7) + (stock_id,cargo_space_id,stock_status,product_status,lot_no,in_date,back_date,product_guid,quantity,job_id,tray_code,out_quantity,stockin_detail_id,stockin_id,in_type,in_class_id,warehouse_id,stacking_id,spare1,spare2,spare3,spare4,spare5,spare6,product_id,product_name,voltage,power,phase,net_weight,gross_weight,distribution,model,order_id,spare7) VALUES - - (#{item.stockId},#{item.cargoSpaceId},#{item.stockStatus},#{item.productStatus},#{item.lotNo},#{item.inDate},#{item.backDate},#{item.productGuid},#{item.quantity},#{item.jobId},#{item.trayCode},#{item.outQuantity},#{item.stockinDetailId},#{item.stockinId},#{item.inType},#{item.inClassId},#{item.warehouseId},#{item.stackingId},#{item.spare1},#{item.spare2},#{item.spare3},#{item.spare4},#{item.spare5},#{item.spare6},#{item.productId} - ,#{item.productName},#{item.voltage},#{item.power},#{item.phase},#{item.netWeight},#{item.grossWeight},#{item.distribution},#{item.model},#{item.orderId},#{item.spare7}) - + + (#{item.stockId},#{item.cargoSpaceId},#{item.stockStatus},#{item.productStatus},#{item.lotNo},#{item.inDate},#{item.backDate},#{item.productGuid},#{item.quantity},#{item.jobId},#{item.trayCode},#{item.outQuantity},#{item.stockinDetailId},#{item.stockinId},#{item.inType},#{item.inClassId},#{item.warehouseId},#{item.stackingId},#{item.spare1},#{item.spare2},#{item.spare3},#{item.spare4},#{item.spare5},#{item.spare6},#{item.productId} + ,#{item.productName},#{item.voltage},#{item.power},#{item.phase},#{item.netWeight},#{item.grossWeight},#{item.distribution},#{item.model},#{item.orderId},#{item.spare7}) + + + + + update bas_stock + + + update bas_stock_hc + + + update bas_stock + + + + + cargo_space_id = #{cargoSpaceId}, + stock_status = #{stockStatus}, + product_status = #{productStatus}, + lot_no = #{lotNo}, + in_date = #{inDate}, + back_date = #{backDate}, + product_guid = #{productGuid}, + quantity = #{quantity}, + job_id = #{jobId}, + tray_code = #{trayCode}, + out_quantity = #{outQuantity}, + stockin_detail_id = #{stockinDetailId}, + stockin_id = #{stockinId}, + in_type = #{inType}, + in_class_id = #{inClassId}, + warehouse_id = #{warehouseId}, + stacking_id = #{stackingId}, + spare1 = #{spare1}, + spare2 = #{spare2}, + spare3 = #{spare3}, + spare4 = #{spare4}, + spare5 = #{spare5}, + spare6 = #{spare6}, + product_id = #{productId}, + + + WHERE stock_id = #{stockId} + + + update bas_stock @@ -216,14 +420,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where stock_id = #{stockId} - update bas_stock set stock_status = #{stockStatus} where tray_code = #{trayCode} + update bas_stock + set stock_status = #{stockStatus} + where tray_code = #{trayCode} - update bas_stock set spare7 = '0' + update bas_stock + set spare7 = '0' - delete from bas_stock where stock_id = #{stockId} + delete + from bas_stock + where stock_id = #{stockId} @@ -233,11 +442,30 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + delete from bas_stock where stock_id in + + + delete from bas_stock_hc where stock_id in + + + delete from bas_stock where stock_id in + + + + #{stockId} + + + + + + + + + + + + + + + select bs.stock_id, + bs.cargo_space_id, + bs.stock_status, + bs.product_status, + bs.lot_no, + bs.in_date, + bs.back_date, + bs.product_guid, + bs.quantity, + bs.job_id, + bs.tray_code, + bs.out_quantity, + bs.stockin_detail_id, + bs.stockin_id, + bs.in_type, + bs.in_class_id, + bs.warehouse_id, + bs.stacking_id, + bs.spare1, + bs.spare2, + bs.spare3, + bs.spare4, + bs.spare5, + bs.spare6, + bs.voltage, + bs.power, + bs.phase, + bs.net_weight, + bs.gross_weight, + bs.distribution, + bs.model, + bs.order_id, + bs.product_name, + bs.product_id + from bas_stock_hc bs + + + 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 edd56ef..d53cf4e 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 @@ -100,7 +100,7 @@ public class SecurityConfig .authorizeHttpRequests((requests) -> { permitAllUrl.getUrls().forEach(url -> requests.requestMatchers(url).permitAll()); // 对于登录login 注册register 验证码captchaImage 允许匿名访问 - requests.requestMatchers("/login", "/register", "/captchaImage").permitAll() + requests.requestMatchers("/login", "/register", "/captchaImage", "/system/license/active").permitAll() // 静态资源,可匿名访问 .requestMatchers(HttpMethod.GET, "/", "/*.html", "/**.html", "/**.css", "/**.js", "/profile/**").permitAll() .requestMatchers("/swagger-ui.html", "/v3/api-docs/**", "/swagger-ui/**", "/druid/**").permitAll() diff --git a/ruoyi-ui/.env.development b/ruoyi-ui/.env.development index a8531ba..bae6a96 100644 --- a/ruoyi-ui/.env.development +++ b/ruoyi-ui/.env.development @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = "ForTucky WMS system" +VUE_APP_TITLE = "艾度 WMS system" # 开发环境配置 ENV = 'development' diff --git a/ruoyi-ui/.env.production b/ruoyi-ui/.env.production index 8074604..061cea2 100644 --- a/ruoyi-ui/.env.production +++ b/ruoyi-ui/.env.production @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = "ForTucky WMS system" +VUE_APP_TITLE = "艾度 WMS system" # 生产环境配置 ENV = 'production' diff --git a/ruoyi-ui/.env.staging b/ruoyi-ui/.env.staging index dbe8edd..ae39ce6 100644 --- a/ruoyi-ui/.env.staging +++ b/ruoyi-ui/.env.staging @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = "ForTucky WMS system" +VUE_APP_TITLE = "艾度 WMS system" BABEL_ENV = production diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json index c98ae7c..dee870a 100644 --- a/ruoyi-ui/package.json +++ b/ruoyi-ui/package.json @@ -44,6 +44,7 @@ "sortablejs": "1.10.2", "splitpanes": "2.4.1", "vue": "2.6.12", + "vue-barcode": "^1.3.0", "vue-count-to": "1.0.13", "vue-cropper": "0.5.5", "vue-easy-print": "^0.0.8", diff --git a/ruoyi-ui/src/api/requestInterface/log.js b/ruoyi-ui/src/api/requestInterface/log.js index 123dca1..39ba634 100644 --- a/ruoyi-ui/src/api/requestInterface/log.js +++ b/ruoyi-ui/src/api/requestInterface/log.js @@ -9,6 +9,30 @@ export function listLog(query) { }) } + +export function getMethod() { + return request({ + url: '/requestInterface/log/getMethod', + method: 'get' + + }) +} + +export function getSource() { + return request({ + url: '/requestInterface/log/getSource', + method: 'get' + + }) +} + +export function getTarget() { + return request({ + url: '/requestInterface/log/getTarget', + method: 'get' + + }) +} // 查询接口记录详细 export function getLog(requestId) { return request({ diff --git a/ruoyi-ui/src/api/stock/management.js b/ruoyi-ui/src/api/stock/management.js index a1873b6..3add5d7 100644 --- a/ruoyi-ui/src/api/stock/management.js +++ b/ruoyi-ui/src/api/stock/management.js @@ -10,10 +10,11 @@ export function listManagement(query) { } // 查询库存信息详细 -export function getManagement(stockId) { +export function getManagement(stockId, warehouseCode) { return request({ url: '/stock/management/' + stockId, - method: 'get' + method: 'get', + params: {"warehouseCode": warehouseCode} }) } @@ -45,12 +46,14 @@ export function updateManagement(data) { } // 删除库存信息 -export function delManagement(stockId) { +export function delManagement(stockId, warehouseCode) { return request({ url: '/stock/management/' + stockId, - method: 'delete' + method: 'delete', + params: {"warehouseCode": warehouseCode} }) } + //重置盘点记录 export function resetPdRecord() { return request({ diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue index 08ac487..eda541b 100644 --- a/ruoyi-ui/src/components/Pagination/index.vue +++ b/ruoyi-ui/src/components/Pagination/index.vue @@ -36,7 +36,7 @@ export default { pageSizes: { type: Array, default() { - return [10, 20, 30, 50] + return [10, 50, 100, 1000] } }, // 移动端页码按钮的数量端默认值5 diff --git a/ruoyi-ui/src/layout/components/Navbar.vue b/ruoyi-ui/src/layout/components/Navbar.vue index 8b51fc4..a210626 100644 --- a/ruoyi-ui/src/layout/components/Navbar.vue +++ b/ruoyi-ui/src/layout/components/Navbar.vue @@ -5,6 +5,11 @@ +

+

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 t71jZ)|NxCsgfBa`(0*aYxAhx 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 o^Tm`qz^Sa&U_0E&c|=rLJUd#Tff^2U9`a*n?= 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 _poK&&v%-e%ynO@H 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