From 3c1db2b7b651c29cd0bb1bdfe5774061b5e0e54c Mon Sep 17 00:00:00 2001 From: ligaode Date: Tue, 11 Feb 2025 18:29:16 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScmSpecialRebateFeign.java | 11 + .../ScmSpecialRebateFeignFallback.java | 11 + .../api/scmvehrebate/ScmVehRebateFeign.java | 10 + .../ScmVehRebateFeignFallback.java | 10 + .../ScmSpecialRebateMapper.java | 4 + .../ScmSpecialRebateMapper.xml | 22 ++ .../ScmSpecialRebateRest.java | 14 ++ .../ScmSpecialRebateService.java | 150 +++++++++++++ .../biz/scmvehrebate/ScmVehRebateMapper.java | 4 + .../biz/scmvehrebate/ScmVehRebateMapper.xml | 28 +++ .../biz/scmvehrebate/ScmVehRebateRest.java | 14 ++ .../biz/scmvehrebate/ScmVehRebateService.java | 177 +++++++++++++-- .../as/storechange/AppStoreChangeFeign.java | 34 +++ .../as/storechange/AppStoreChangeScanVo.java | 24 ++ .../firstshelves/AppFirstShelvesService.java | 30 ++- .../as/storechange/AppStoreChangeRest.java | 53 +++++ .../as/storechange/AppStoreChangeService.java | 207 ++++++++++++++++++ .../fegin/wmsInventory/WmsInventory.java | 66 ++++++ .../fegin/wmsInventory/WmsInventoryFeign.java | 10 + .../yxt/wms/apiadmin/inventroy/WmsH5Rest.java | 11 + .../apiadmin/inventroy/WmsInventoryRest.java | 30 ++- .../wmsinventory/WmsInventoryMapper.java | 6 + .../wmsinventory/WmsInventoryMapper.xml | 52 ++--- .../wmsinventory/WmsInventoryService.java | 12 + 24 files changed, 936 insertions(+), 54 deletions(-) create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java index 3310e9fb78..71ada60326 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeign.java @@ -37,6 +37,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.ParseException; +import java.util.List; @Api(tags = "专项返利表") @FeignClient( @@ -51,6 +52,11 @@ public interface ScmSpecialRebateFeign { @ResponseBody public ResultBean> listPage(@RequestBody PagerQuery pq); + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listAll") + @ResponseBody + public ResultBean> listAll(@RequestBody ScmSpecialRebateQuery query); + @ApiOperation("新增或修改") @PostMapping("/save") @ResponseBody @@ -81,6 +87,11 @@ public interface ScmSpecialRebateFeign { @ResponseBody public ResultBean> checkApplyGetSpecialRebate(@RequestBody PagerQuery pq); + @ApiOperation("专项返利核对申请选择待核对专项返利信息") + @PostMapping("/checkApplyGetSpecialRebateAll") + @ResponseBody + public ResultBean> checkApplyGetSpecialRebateAll(@RequestBody ScmSpecialRebateQuery query); + @ApiOperation("专项返利核对申请选择已上传专项返利信息") @PostMapping("/checkApplyGetAlreadyUploadSpecialRebate") @ResponseBody diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java index e9ed62f35d..fe638e29c1 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmspecialrebate/ScmSpecialRebateFeignFallback.java @@ -34,6 +34,7 @@ import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.text.ParseException; +import java.util.List; /** * Project: anrui-scm(专项返利管理)
@@ -57,6 +58,11 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign { return rb.setMsg("接口anrui-scm/scmspecialrebate/listPage无法访问"); } + @Override + public ResultBean> listAll(ScmSpecialRebateQuery query) { + return null; + } + @Override public ResultBean save(ScmSpecialRebateDto dto){ return ResultBean.fireFail().setMsg("接口anrui-scm/scmspecialrebate/save无法访问"); @@ -88,6 +94,11 @@ public class ScmSpecialRebateFeignFallback implements ScmSpecialRebateFeign { return null; } + @Override + public ResultBean> checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) { + return null; + } + @Override public ResultBean> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery pq) { return null; diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java index a8aca5d63a..94c2266b07 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeign.java @@ -67,6 +67,11 @@ public interface ScmVehRebateFeign { @ResponseBody public ResultBean> listPage(@RequestBody PagerQuery pq); + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listAll") + @ResponseBody + public ResultBean> listAll(@RequestBody ScmVehRebateQuery query); + @ApiOperation("单车返利未预提申请选择单车返利信息") @PostMapping("/withApplyGetVehRebate") @ResponseBody @@ -77,6 +82,11 @@ public interface ScmVehRebateFeign { @ResponseBody public ResultBean> checkApplyGetVehRebate(@RequestBody PagerQuery pq); + @ApiOperation("单车返利核对申请选择待核对单车返利信息") + @PostMapping("/checkApplyGetVehRebateAll") + @ResponseBody + public ResultBean> checkApplyGetVehRebateAll(@RequestBody ScmVehRebateQuery query); + @ApiOperation("一次导出") @PostMapping("/excelListOne") public void excelListOne(@RequestBody ScmVehRebateQuery scmVehRebateQuery); diff --git a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java index 99b2344a7b..aea32d91aa 100644 --- a/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java +++ b/anrui-scm/anrui-scm-api/src/main/java/com/yxt/anrui/scm/api/scmvehrebate/ScmVehRebateFeignFallback.java @@ -58,6 +58,11 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign { return rb.setMsg("接口anrui-scm/scmvehrebate/listPage无法访问"); } + @Override + public ResultBean> listAll(ScmVehRebateQuery query) { + return null; + } + @Override public ResultBean> withApplyGetVehRebate(PagerQuery pq) { return null; @@ -68,6 +73,11 @@ public class ScmVehRebateFeignFallback implements ScmVehRebateFeign { return null; } + @Override + public ResultBean> checkApplyGetVehRebateAll(ScmVehRebateQuery query) { + return null; + } + @Override public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) { diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java index a1c4a335e7..3f5733da46 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.java @@ -85,4 +85,8 @@ public interface ScmSpecialRebateMapper extends BaseMapper { void updateAdjustmentState(@Param("sid") String sid, @Param("adjustmentState") int adjustmentState); List excelList(@Param(Constants.WRAPPER) QueryWrapper qw); + + List checkApplyGetSpecialRebateAll(@Param(Constants.WRAPPER) QueryWrapper qw); + + List listAll(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml index 97236b716a..8633e675aa 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateMapper.xml @@ -151,4 +151,26 @@ ${ew.sqlSegment} + + + + \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java index 6dfc180012..f2fed61d96 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateRest.java @@ -73,6 +73,13 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign { return rb.success().setData(pv); } + @Override + public ResultBean> listAll(ScmSpecialRebateQuery query) { + ResultBean rb = ResultBean.fireFail(); + List scmSpecialRebateVoList = scmSpecialRebateService.listAll(query); + return rb.success().setData(scmSpecialRebateVoList); + } + @ApiOperation("导出") @PostMapping("/excelList") public void excelList(@RequestBody ScmSpecialRebateQuery query) { @@ -147,6 +154,13 @@ public class ScmSpecialRebateRest implements ScmSpecialRebateFeign { return rb.success().setData(pv); } + @Override + public ResultBean> checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) { + ResultBean rb = ResultBean.fireFail(); + List scmSpecialRebateVoList = scmSpecialRebateService.checkApplyGetSpecialRebateAll(query); + return rb.success().setData(scmSpecialRebateVoList); + } + @Override public ResultBean> checkApplyGetAlreadyUploadSpecialRebate(PagerQuery pq) { ResultBean rb = ResultBean.fireFail(); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java index 5b26477c8b..e4b053c180 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmspecialrebate/ScmSpecialRebateService.java @@ -150,6 +150,76 @@ public class ScmSpecialRebateService extends MybatisBaseService listAll(ScmSpecialRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List p = new ArrayList<>(); + return p; + } + } else { + List p = new ArrayList<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getCreateOrgName())) { + qw.like("createOrgName", query.getCreateOrgName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + if (StringUtils.isNotBlank(query.getRebateTypeKey())) { + qw.eq("rebateTypeKey", query.getRebateTypeKey()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("createTime"); + List scmSpecialRebateVoList = baseMapper.listAll(qw); + return scmSpecialRebateVoList; + } + public ResultBean saveOrUpdateDto(ScmSpecialRebateDto dto) { ResultBean rb = ResultBean.fireFail(); String dtoSid = dto.getSid(); @@ -318,6 +388,86 @@ public class ScmSpecialRebateService extends MybatisBaseService checkApplyGetSpecialRebateAll(ScmSpecialRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List p = new ArrayList<>(); + return p; + } + } else { + List p = new ArrayList<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getCreateOrgName())) { + qw.like("createOrgName", query.getCreateOrgName()); + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + if (StringUtils.isNotBlank(query.getRebateTypeKey())) { + qw.eq("rebateTypeKey", query.getRebateTypeKey()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getOnceCheckState())) { + qw.eq("onceCheckState", query.getOnceCheckState()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.eq("state", 2); + qw.eq("adjustmentState", 0); + qw.orderByDesc("createTime"); + List scmSpecialRebateVoList = baseMapper.checkApplyGetSpecialRebateAll(qw); + for (ScmSpecialRebateVo record : scmSpecialRebateVoList) { + //上传状态:未上传 + if (StringUtils.isBlank(record.getUploadDate())) { + record.setUploadState("0"); + } else {//上传状态:已上传 + record.setUploadState("1"); + } + } + return scmSpecialRebateVoList; + } + public PagerVo checkApplyGetAlreadyUploadSpecialRebate(PagerQuery pq) { ScmSpecialRebateQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java index 3b53f2e0a1..e874974e5d 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.java @@ -83,4 +83,8 @@ public interface ScmVehRebateMapper extends BaseMapper { void delByVehSid(String vehSid); List excelList(@Param(Constants.WRAPPER) QueryWrapper qw); + + List checkApplyGetVehRebateAll(@Param(Constants.WRAPPER) QueryWrapper qw); + + List listAll(@Param(Constants.WRAPPER) QueryWrapper qw); } \ No newline at end of file diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml index 332d457a01..c14436ba0e 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateMapper.xml @@ -131,4 +131,32 @@ ${ew.sqlSegment} + + + + diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java index 4fa1a647e4..b89b4214a6 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateRest.java @@ -79,6 +79,13 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { return rb.success().setData(pv); } + @Override + public ResultBean> listAll(ScmVehRebateQuery query) { + ResultBean rb = ResultBean.fireFail(); + List scmVehRebateVoList = scmVehRebateService.listAll(query); + return rb.success().setData(scmVehRebateVoList); + } + @ApiOperation("导出") @PostMapping("/excelList") public void excelList(@RequestBody ScmVehRebateQuery query) { @@ -109,6 +116,13 @@ public class ScmVehRebateRest implements ScmVehRebateFeign { return rb.success().setData(pv); } + @Override + public ResultBean> checkApplyGetVehRebateAll(ScmVehRebateQuery query) { + ResultBean rb = ResultBean.fireFail(); + List scmVehRebateVoList = scmVehRebateService.checkApplyGetVehRebateAll(query); + return rb.success().setData(scmVehRebateVoList); + } + @Override public void excelListOne(ScmVehRebateQuery scmVehRebateQuery) { //得到所有要导出的数据 diff --git a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java index 62535fcae9..60a9b67872 100644 --- a/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java +++ b/anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehrebate/ScmVehRebateService.java @@ -66,19 +66,6 @@ import java.net.URLEncoder; import java.util.*; import java.util.regex.Pattern; -/** - * Project: anrui-scm(单车返利)
- * File: ScmVehRebateService.java
- * Class: com.yxt.anrui.scm.biz.scmvehrebate.ScmVehRebateService
- * Description: 单车返利表 业务逻辑.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2022-08-24 09:01:54
- * - * @author liupopo - * @version 1.0 - * @since 1.0 - */ @Service public class ScmVehRebateService extends MybatisBaseService { @@ -179,6 +166,87 @@ public class ScmVehRebateService extends MybatisBaseService listAll(ScmVehRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List p = new ArrayList<>(); + return p; + } + } else { + List p = new ArrayList<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getVehModelName())) { + qw.like("vehModelName", query.getVehModelName()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("vinNo", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getRebateTypeKey())) { + qw.eq("rebateTypeKey", query.getRebateTypeKey()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getState())) { + qw.eq("state", query.getState()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("useOrgName", query.getUseOrgName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.orderByDesc("createTime"); + List scmVehRebateVoList = baseMapper.listAll(qw); + for (ScmVehRebateVo record : scmVehRebateVoList) { + if ("001".equals(record.getCalculationModeKey())){ + record.setCalculationStandard(record.getCalculationStandard() + "%"); + } + } + return scmVehRebateVoList; + } + public PagerVo withApplyGetVehRebate(PagerQuery pq) { ScmVehRebateQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -302,6 +370,89 @@ public class ScmVehRebateService extends MybatisBaseService checkApplyGetVehRebateAll(ScmVehRebateQuery query) { + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("orgPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("orgPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("orgPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("orgPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("createBySid", query.getUserSid()); + } else { + List p = new ArrayList<>(); + return p; + } + } else { + List p = new ArrayList<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getBrandName())) { + qw.like("brandName", query.getBrandName()); + } + if (StringUtils.isNotBlank(query.getVehModelName())) { + qw.like("vehModelName", query.getVehModelName()); + } + if (StringUtils.isNotBlank(query.getVinNo())) { + qw.like("vinNo", query.getVinNo()); + } + if (StringUtils.isNotBlank(query.getRebateTypeValue())) { + qw.like("rebateTypeValue", query.getRebateTypeValue()); + } + if (StringUtils.isNotBlank(query.getRebateName())) { + qw.like("rebateName", query.getRebateName()); + } + if (StringUtils.isNotBlank(query.getPurchaseSystemName())) { + qw.like("purchaseSystemName", query.getPurchaseSystemName()); + } + if (StringUtils.isNotBlank(query.getUseOrgName())) { + qw.like("useOrgName", query.getUseOrgName()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotBlank(createStartTime), "date_format (createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotBlank(createEndTime), "date_format (createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.eq("state", 2); + qw.eq("adjustmentState", 0); + qw.orderByDesc("createTime"); + List scmVehRebateVoList = baseMapper.checkApplyGetVehRebateAll(qw); + for (ScmVehRebateVo record : scmVehRebateVoList) { + //上传状态:未上传 + if (StringUtils.isBlank(record.getUploadDate())) { + record.setUploadState("0"); + } else {//上传状态:已上传 + record.setUploadState("1"); + } + } + return scmVehRebateVoList; + } + public List excelListOne(ScmVehRebateQuery query) { QueryWrapper qw = new QueryWrapper<>(); //========================================数据授权开始 diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java new file mode 100644 index 0000000000..a9b4ebb553 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.terminal.api.as.storechange; + +import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesDto; +import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesQuery; +import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesScanVo; +import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.*; + +/** + * @Author + * @Date + * @Description + */ +@FeignClient( + contextId = "terminal-AppStoreChange", + name = "anrui-terminal", + path = "v1/storeChange") +public interface AppStoreChangeFeign { + + @ApiOperation("标签扫描") + @GetMapping("/scan") + @ResponseBody + public ResultBean scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid); + + @ApiOperation("上架保存") + @PostMapping("/save") + @ResponseBody + public ResultBean save(@RequestBody AppFirstShelvesDto dto); + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java new file mode 100644 index 0000000000..ece3966beb --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeScanVo.java @@ -0,0 +1,24 @@ +package com.yxt.anrui.terminal.api.as.storechange; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +@Data +public class AppStoreChangeScanVo implements Vo { + + @ApiModelProperty("0商品码,1库位码") + private String type; + @ApiModelProperty("商品sid") + private String sid; + @ApiModelProperty("商品下的库存表里的sid集合") + private List storeSids; + @ApiModelProperty("库位码") + private String houseCode; + @ApiModelProperty("库区名+库位名") + private String houseName; + @ApiModelProperty("仓库地址") + private String houseAddress; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java index f638d7ac9e..c7f25182da 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java @@ -26,6 +26,8 @@ package com.yxt.anrui.terminal.biz.as.firstshelves; import cn.hutool.core.date.DateUtil; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.terminal.api.as.firstshelves.*; import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign; @@ -43,9 +45,11 @@ import com.yxt.common.core.vo.PagerVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; @Service @@ -61,6 +65,8 @@ public class AppFirstShelvesService { private WmsInitialDetailFeign wmsInitialDetailFeign; @Autowired private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; public ResultBean list(PagerQuery pagerQuery) { ResultBean rb = ResultBean.fireFail(); @@ -100,20 +106,20 @@ public class AppFirstShelvesService { } String count = wmsInventoryFeign.selCountByGoodsID(content).getData(); BigDecimal num = null; - if (StringUtils.isNotBlank(count)){ + if (StringUtils.isNotBlank(count)) { num = new BigDecimal(count); - }else { + } else { num = new BigDecimal("0"); } WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(content).getData(); BigDecimal chae = wmsGoodsTag.getGoodsCount().subtract(num); - if (chae.compareTo(BigDecimal.ZERO) == 0){ + if (chae.compareTo(BigDecimal.ZERO) == 0) { return rb.setMsg("该商品已全部入库"); } appFirstShelvesScanVo.setType(type); appFirstShelvesScanVo.setGoodsID(content); appFirstShelvesScanVo.setGoodsName(wmsGoodsTag.getGoodsSkuTitle()); - appFirstShelvesScanVo.setGoodsMax(chae.setScale(0,BigDecimal.ROUND_DOWN).toString()); + appFirstShelvesScanVo.setGoodsMax(chae.setScale(0, BigDecimal.ROUND_DOWN).toString()); } else if ("1".equals(type)) {//库位码 if (!content.contains("#")) { return rb.setMsg("请扫描库位码"); @@ -157,9 +163,19 @@ public class AppFirstShelvesService { List goodsList = dto.getGoodsList(); WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto(); wmsInventorySaveDto.setCreateBySid(dto.getUserSid()); - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); - wmsInventorySaveDto.setCreateOrgSid(useOrgSid); - wmsInventorySaveDto.setUseOrgSid(useOrgSid); + String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + wmsInventorySaveDto.setCreateOrgSid(createOrgSid); + String deptSid = ""; + List split = Arrays.asList(dto.getOrgPath().split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptSid = sysOrganization.getSid(); + } + wmsInventorySaveDto.setUseOrgSid(deptSid); wmsInventorySaveDto.setFirstInDate(DateUtil.today()); for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) { WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData(); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java new file mode 100644 index 0000000000..ea7b1fa1ab --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java @@ -0,0 +1,53 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.storechange; + +import com.yxt.anrui.terminal.api.as.firstshelves.*; +import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeFeign; +import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("v1/storeChange") +public class AppStoreChangeRest implements AppStoreChangeFeign { + + @Autowired + private AppStoreChangeService appStoreChangeService; + + @Override + public ResultBean scan(String content, String type, String orgPath, String storeSid) { + return appStoreChangeService.scan(content, type, orgPath, storeSid); + } + + @Override + public ResultBean save(AppFirstShelvesDto dto) { + return appStoreChangeService.save(dto); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java new file mode 100644 index 0000000000..6feb1b7e99 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java @@ -0,0 +1,207 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.as.storechange; + +import cn.hutool.core.date.DateUtil; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.terminal.api.as.firstshelves.*; +import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo; +import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventory; +import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign; +import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventorySaveDto; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.GoodsTagListQuery; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTag; +import com.yxt.anrui.terminal.fegin.wmsgoodstag.WmsGoodsTagFeign; +import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetail; +import com.yxt.anrui.terminal.fegin.wmsinitialdetail.WmsInitialDetailFeign; +import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsHouseInfoVo; +import com.yxt.anrui.terminal.fegin.wmswarehouserack.WmsWarehouseRackFeign; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; + +@Service +public class AppStoreChangeService { + + @Resource + private WmsGoodsTagFeign wmsGoodsTagFeign; + @Resource + private WmsWarehouseRackFeign wmsWarehouseRackFeign; + @Resource + private WmsInventoryFeign wmsInventoryFeign; + @Resource + private WmsInitialDetailFeign wmsInitialDetailFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean list(PagerQuery pagerQuery) { + ResultBean rb = ResultBean.fireFail(); + PagerQuery pagerQuery1 = new PagerQuery<>(); + GoodsTagListQuery params = new GoodsTagListQuery(); + AppFirstShelvesQuery params1 = pagerQuery.getParams(); + params.setUserSid(params1.getUserSid()); + params.setOrgPath(params1.getOrgPath()); + params.setMenuSid(params1.getMenuSid()); + params.setName(params1.getName()); + pagerQuery1.setParams(params); + pagerQuery1.setSize(1000); + PagerVo data = wmsGoodsTagFeign.goodsTagList(pagerQuery1).getData(); + AppFirstShelvesVo appFirstShelvesVo = new AppFirstShelvesVo(); + List goods = new ArrayList<>(); + List list = data.getRecords(); + for (WmsGoodsTag wmsGoodsTag : list) { + AppFirstShelvesGoodsVo appFirstShelvesGoodsVo = new AppFirstShelvesGoodsVo(); + appFirstShelvesGoodsVo.setSid(wmsGoodsTag.getSid()); + appFirstShelvesGoodsVo.setName(wmsGoodsTag.getGoodsSkuTitle()); + appFirstShelvesGoodsVo.set_id(wmsGoodsTag.getGoodsID()); + appFirstShelvesGoodsVo.setNum(wmsGoodsTag.getGoodsCount()); + appFirstShelvesGoodsVo.setUnit(wmsGoodsTag.getUnit()); + appFirstShelvesGoodsVo.setSpecs(wmsGoodsTag.getGoodsSkuOwnSpec()); + goods.add(appFirstShelvesGoodsVo); + } + appFirstShelvesVo.setGoods(goods); + return rb.success().setData(appFirstShelvesVo); + } + + public ResultBean scan(String content, String type, String orgPath, String storeSid) { + ResultBean rb = ResultBean.fireFail(); + String deptSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptSid = sysOrganization.getSid(); + } + } + AppStoreChangeScanVo appStoreChangeScanVo = new AppStoreChangeScanVo(); + if ("0".equals(type)) {//商品码 + if (content.contains("#")) { + return rb.setMsg("请扫描商品码"); + } + if (StringUtils.isBlank(storeSid)) { + List wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSid(content, deptSid).getData(); + if (wmsInventoryList.size() == 0) { + return rb.setMsg("当前商品不可移位"); + } + appStoreChangeScanVo.setType(type); + appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid()); + appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); + } else { + List wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSidAndWarehouseSid(content, deptSid, storeSid).getData(); + appStoreChangeScanVo.setType(type); + appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid()); + appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); + } + } else if ("1".equals(type)) {//库位码 + if (!content.contains("#")) { + return rb.setMsg("请扫描库位码"); + } + String[] split = content.split("#"); + String houseCode = split[0]; + ResultBean wmsHouseInfoVoResultBean = wmsWarehouseRackFeign.selHouseInfoByFullCode(houseCode); + if (wmsHouseInfoVoResultBean.getSuccess()) { + WmsHouseInfoVo houseInfoVo = wmsHouseInfoVoResultBean.getData(); + if (null != houseInfoVo) { + String houseName = ""; + String areaName = ""; + String rackName = ""; + String zoneName = ""; + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseName())) { + houseName = houseInfoVo.getWarehouseName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWareAreaName())) { + areaName = houseInfoVo.getWareAreaName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseRackName())) { + rackName = houseInfoVo.getWarehouseRackName(); + } + if (StringUtils.isNotBlank(houseInfoVo.getWarehouseZoneName())) { + zoneName = houseInfoVo.getWarehouseZoneName(); + } + appStoreChangeScanVo.setHouseName(houseName + "-" + zoneName + "-" + areaName); + appStoreChangeScanVo.setHouseAddress(houseInfoVo.getWarehouseRackCode()); + appStoreChangeScanVo.setHouseCode(houseCode); + appStoreChangeScanVo.setType(type); + } else { + return rb.setMsg("扫描库位码为空"); + } + } + } + return rb.success().setData(appStoreChangeScanVo); + } + + public ResultBean save(AppFirstShelvesDto dto) { + ResultBean rb = ResultBean.fireFail(); + List goodsList = dto.getGoodsList(); + WmsInventorySaveDto wmsInventorySaveDto = new WmsInventorySaveDto(); + wmsInventorySaveDto.setCreateBySid(dto.getUserSid()); + String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()).getData(); + wmsInventorySaveDto.setCreateOrgSid(useOrgSid); + wmsInventorySaveDto.setUseOrgSid(useOrgSid); + wmsInventorySaveDto.setFirstInDate(DateUtil.today()); + for (AppFirstShelvesGoodsDto appFirstShelvesGoodsDto : goodsList) { + WmsGoodsTag wmsGoodsTag = wmsGoodsTagFeign.selectByGoodsId(appFirstShelvesGoodsDto.getGoodsID()).getData(); + WmsInitialDetail wmsInitialDetail = wmsInitialDetailFeign.selBySid(wmsGoodsTag.getBillDetailSid()).getData(); + WmsHouseInfoVo wmsHouseInfoVo = wmsWarehouseRackFeign.selHouseInfoByFullCode(appFirstShelvesGoodsDto.getHouseCode()).getData(); + wmsInventorySaveDto.setGoodsSpuSid(wmsGoodsTag.getGoodsSpuSid()); + wmsInventorySaveDto.setGoodsSpuName(wmsGoodsTag.getGoodsSpuName()); + wmsInventorySaveDto.setGoodsSkuSid(wmsGoodsTag.getGoodsSkuSid()); + wmsInventorySaveDto.setGoodsSkuTitle(wmsGoodsTag.getGoodsSkuTitle()); + wmsInventorySaveDto.setGoodsSkuCode(wmsGoodsTag.getGoodsSkuCode()); + wmsInventorySaveDto.setGoodsSkuOwnSpec(wmsGoodsTag.getGoodsSkuOwnSpec()); + wmsInventorySaveDto.setUnit(wmsGoodsTag.getUnit()); + wmsInventorySaveDto.setCount(appFirstShelvesGoodsDto.getCount()); + wmsInventorySaveDto.setGoodsID(appFirstShelvesGoodsDto.getGoodsID()); + wmsInventorySaveDto.setManufacturerSid(wmsInitialDetail.getManufacturerSid()); + wmsInventorySaveDto.setManufacturerName(wmsInitialDetail.getManufacturerName()); + wmsInventorySaveDto.setFirstInDate(DateUtil.formatDate(wmsInitialDetail.getFirstInDate())); + wmsInventorySaveDto.setWarehouseSid(wmsHouseInfoVo.getWarehouseSid()); + wmsInventorySaveDto.setWarehouseName(wmsHouseInfoVo.getWarehouseName()); + wmsInventorySaveDto.setWarehouseRackSid(wmsHouseInfoVo.getWarehouseRackSid()); + wmsInventorySaveDto.setWarehouseRackCode(appFirstShelvesGoodsDto.getHouseCode()); + wmsInventoryFeign.saveWmsInventory(wmsInventorySaveDto).getData(); + } + return rb.success(); + } +} \ No newline at end of file diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java new file mode 100644 index 0000000000..b0e08123a5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventory.java @@ -0,0 +1,66 @@ +package com.yxt.anrui.terminal.fegin.wmsInventory; + +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class WmsInventory extends BaseEntity { + + @ApiModelProperty("批次号") + private String batchNumber; + @ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)") + private String goodsID; + @ApiModelProperty("商品基础信息sid") + private String goodsSpuSid; + @ApiModelProperty("商品名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品Sku名称") + private String goodsSkuTitle; + @ApiModelProperty("商品编码(图号)") + private String goodsSkuCode; + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; + @ApiModelProperty("计量单位") + private String unit; + @ApiModelProperty("现有量") + private BigDecimal count; + @ApiModelProperty("分配量(锁定数量,出库申请通过,但未实际出库)") + private BigDecimal allocateCount; + @ApiModelProperty("拣货量") + private BigDecimal pickCount; + @ApiModelProperty("冻结量") + private BigDecimal freezeCount; + @ApiModelProperty("入库单价") + private BigDecimal cost; + @ApiModelProperty("税率") + private BigDecimal taxRate; + @ApiModelProperty("仓库sid") + private String warehouseSid; + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库位sid") + private String warehouseRackSid; + @ApiModelProperty("库位编码") + private String warehouseRackCode; + @ApiModelProperty("首次入库日期-计算库龄的依据") + private Date firstInDate; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("厂家订单号") + private String manufactorBillNo; + @ApiModelProperty("厂家sid") + private String manufacturerSid; // 库位sid + @ApiModelProperty("厂家名称") + private String manufacturerName; // 库位编号 + @ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商") + private String supplierSid; + @ApiModelProperty("客户/供应商名称") + private String supplierName; +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java index cc341ac9ab..a506d0aa98 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java @@ -12,6 +12,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestParam; +import java.util.List; + /** * @description: 商品基础信息 * @author: fzz @@ -39,4 +41,12 @@ public interface WmsInventoryFeign { @ApiOperation("保存商品库存") @PostMapping("/saveWmsInventory") ResultBean saveWmsInventory(@RequestBody WmsInventorySaveDto dto); + + @ApiOperation("根据商品ID和部门sid查询") + @PostMapping("/selByGoodsIDAndUseOrgSid") + ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid); + + @ApiOperation("根据商品ID和部门sid和仓库sid查询") + @PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid") + ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java index b29b70464a..90ea8a27eb 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java @@ -50,6 +50,17 @@ public class WmsH5Rest { return rb.success().setData(vo); } + @GetMapping("goods2") + @ApiOperation("扫描商品标签看详情") + ResultBean goods2(@RequestParam("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + GoodsTagH5Vo vo = wmsInventoryService.scanGoodsTag(sid); + if (null == vo) { + return rb.fail().setMsg("商品不存在"); + } + return rb.success().setData(vo); + } + @GetMapping("h5/{qrCode}") @ApiOperation("扫描商品标签看详情") ResultBean h5Code(@PathVariable("qrCode") String qrCode) { diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index d1ab4cc805..2237414f09 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -38,7 +38,6 @@ public class WmsInventoryRest { HttpServletResponse response; - @ApiOperation("根据goodsID获取数据") @GetMapping("/getListByGoodsID") public ResultBean> getListByGoodsID(@RequestParam("goodsID") String goodsID) { @@ -251,9 +250,11 @@ public class WmsInventoryRest { @ApiOperation("根据维修单号和旧件图号查询旧件库存") @PostMapping("/selBillNoAndCode") - ResultBean> selBillNoAndCode(@RequestParam("sourceBillNo") String sourceBillNo,@RequestParam("goodsSkuCode") String goodsSkuCode,@RequestParam("deptSid") String deptSid){ - return wmsInventoryService.selBillNoAndCode(sourceBillNo,goodsSkuCode,deptSid); - }; + ResultBean> selBillNoAndCode(@RequestParam("sourceBillNo") String sourceBillNo, @RequestParam("goodsSkuCode") String goodsSkuCode, @RequestParam("deptSid") String deptSid) { + return wmsInventoryService.selBillNoAndCode(sourceBillNo, goodsSkuCode, deptSid); + } + + ; @ApiOperation("根据Sid获取库存实体") @PostMapping("/fetchEntityBySid") @@ -271,7 +272,7 @@ public class WmsInventoryRest { @ApiOperation("根据商品skuSid计算平均入库价") @GetMapping("/compute") - ResultBean compute(@RequestParam("skuSid") String skuSid){ + ResultBean compute(@RequestParam("skuSid") String skuSid) { ResultBean rb = ResultBean.fireFail(); BigDecimal price = wmsInventoryService.compute(skuSid); return rb.success().setData(price); @@ -304,9 +305,22 @@ public class WmsInventoryRest { @ApiOperation("根据商品ID查询库存数量") @PostMapping("/selCountByGoodsID") - public ResultBean selCountByGoodsID(@RequestParam("goodsID") String goodsID){ + public ResultBean selCountByGoodsID(@RequestParam("goodsID") String goodsID) { return wmsInventoryService.selCountByGoodsID(goodsID); } + + @ApiOperation("根据商品ID和部门sid查询") + @PostMapping("/selByGoodsIDAndUseOrgSid") + ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid) { + return wmsInventoryService.selByGoodsIDAndUseOrgSid(goodID, useOrgSid); + } + + @ApiOperation("根据商品ID和部门sid和仓库sid查询") + @PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid") + ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid) { + return wmsInventoryService.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid); + } + //----------------------------- 报表 ----------------------------- @ApiOperation("滞销品查询") @PostMapping("/deadStockList") @@ -327,9 +341,9 @@ public class WmsInventoryRest { //------------------------------ 行政类审批查询库存 --------------------------------------- @ApiOperation("行政类审批查询库存") @PostMapping("/oaInventoryList") - public ResultBean> oaInventoryList(@RequestParam("orgPath") String orgPath,@RequestParam("warehouseTypeValue") String warehouseTypeValue) { + public ResultBean> oaInventoryList(@RequestParam("orgPath") String orgPath, @RequestParam("warehouseTypeValue") String warehouseTypeValue) { ResultBean> rb = ResultBean.fireFail(); - List list = wmsInventoryService.oaInventoryList(orgPath,warehouseTypeValue); + List list = wmsInventoryService.oaInventoryList(orgPath, warehouseTypeValue); return rb.success().setData(list); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 3af437e3fb..93fe6e4f48 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -108,4 +108,10 @@ public interface WmsInventoryMapper extends BaseMapper { @Select("select count from wms_inventory where goodsID = #{goodsID}") String selCountByGoodsID(String goodsID); + + @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}") + List selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid); + + @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}") + List selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid,@Param("warehouseSid") String warehouseSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml index feff5df0c7..1bf2f115ef 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml @@ -237,7 +237,7 @@ wi.cost as salesPrice FROM wms_inventory wi LEFT JOIN wms_warehouse_area wwa - ON wi.`warehouseRackSid` = wwa.`sid` + ON wi.warehouseRackSid = wwa.sid ${ew.sqlSegment} @@ -379,21 +379,21 @@ SELECT wi.* FROM wms_inventory wi LEFT JOIN wms_warehouse_info wwi - ON wi.`warehouseSid` = wwi.`sid` + ON wi.warehouseSid = wwi.sid WHERE wi.count > 0 - AND wwi.`useOrgSid` = #{deptSid} + AND wwi.useOrgSid = #{deptSid} AND wwi.warehouseTypeKey = '01' - AND RIGHT(wi.`goodsID`,2) != '-O' + AND RIGHT(wi.goodsID,2) != '-O' SELECT * FROM ( SELECT - so.`name` useOrgName, - s.`name` deptName, + so.name useOrgName, + s.name deptName, wi.goodsSpuName, wi.goodsSkuCode, wi.goodsSkuOwnSpec, @@ -605,10 +605,10 @@ SELECT wi.* FROM wms_inventory wi LEFT JOIN wms_warehouse_info wwi - ON wi.`warehouseSid` = wwi.`sid` + ON wi.warehouseSid = wwi.sid WHERE wi.count > 0 - AND wwi.`useOrgSid` = #{deptSid} - AND RIGHT(wi.`goodsID`,2) = '-O' + AND wwi.useOrgSid = #{deptSid} + AND RIGHT(wi.goodsID,2) = '-O' AND wwi.warehouseTypeKey = '02' AND wi.warehouseRackSid in @@ -620,11 +620,11 @@ SELECT wi.* FROM wms_inventory wi LEFT JOIN wms_warehouse_info wwi - ON wi.`warehouseSid` = wwi.`sid` + ON wi.warehouseSid = wwi.sid WHERE wi.count > 0 - AND wwi.`useOrgSid` = #{deptSid} + AND wwi.useOrgSid = #{deptSid} AND wwi.warehouseTypeKey = '02' - AND RIGHT(wi.`goodsID`,2) = '-O' + AND RIGHT(wi.goodsID,2) = '-O' SELECT * FROM - (SELECT - e.*, - ( - SELECT - CONCAT( v.vinNo, '/', v.vehMark ) - FROM - yxt_4sas.as_busrepair_inventorybill_detail AS d - LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid - LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid - WHERE - d.oldInventorySid = e.sid - LIMIT 1 - ) carCodeInfo, - ( - SELECT - b.billNo - FROM - yxt_4sas.as_busrepair_inventorybill_detail AS d - LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid - LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid - WHERE - d.oldInventorySid = e.sid - LIMIT 1 - ) repairId - FROM - ( - SELECT - i.count, - i.manufacturerName factory, - i.goodsID, - i.goodsSkuCode, - i.goodsSkuOwnSpec, - i.goodsSpuName, - DATEDIFF( NOW(), i.firstInDate ) inventoryAge, - i.cost price, - i.unit, - CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title, - i.sid, - s.orgSidPath, - i.createBySid - FROM - wms_inventory AS i - LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid - LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid - LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.sid - LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid - ) e) a + (SELECT + e.*, + ( + SELECT + CONCAT( v.vinNo, '/', v.vehMark ) + FROM + yxt_4sas.as_busrepair_inventorybill_detail AS d + LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid + LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid + WHERE + d.oldInventorySid = e.sid + LIMIT 1 + ) carCodeInfo, + ( + SELECT + b.billNo + FROM + yxt_4sas.as_busrepair_inventorybill_detail AS d + LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid + LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid + WHERE + d.oldInventorySid = e.sid + LIMIT 1 + ) repairId + FROM + ( + SELECT + i.count, + i.manufacturerName factory, + i.goodsID, + i.goodsSkuCode, + i.goodsSkuOwnSpec, + i.goodsSpuName, + DATEDIFF( NOW(), i.firstInDate ) inventoryAge, + i.cost price, + i.unit, + CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title, + i.sid, + s.orgSidPath, + i.createBySid + FROM + wms_inventory AS i + LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid + LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid + LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.sid + LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid + ) e) a ${ew.sqlSegment} @@ -564,41 +561,39 @@ SELECT wi.* FROM wms_inventory wi - LEFT JOIN wms_warehouse_info wwi - ON wi.warehouseSid = wwi.sid + LEFT JOIN wms_warehouse_info wwi + ON wi.warehouseSid = wwi.sid WHERE wi.count > 0 AND wwi.useOrgSid = #{deptSid} AND wwi.warehouseTypeKey = '02' - AND RIGHT(wi.goodsID,2) = '-O' + AND RIGHT (wi.goodsID + , 2) = '-O' SELECT * FROM - (SELECT - s.orgSidPath, - so.name useOrgName, - s.name deptName, - i.goodsSpuName, - i.goodsSkuCode, - i.manufacturerName, - i.supplierName, - IFNULL(SUM(count),0) count, - DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid)) inventoryAge, - date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, - DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d'))) noSalesDays, - date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') storageTime, - SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost, - FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice - FROM - wms_inventory as i - LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid - LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid - WHERE i.count > 0 - GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m + (SELECT + s.orgSidPath, + so.name useOrgName, + s.name deptName, + i.goodsSpuName, + i.goodsSkuCode, + i.manufacturerName, + i.supplierName, + IFNULL(SUM(count),0) count, + DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = + i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = + i.supplierSid)) inventoryAge, + date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on + r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and + wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = + '销售出库'),'%Y-%m-%d') salesTime, + DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as + wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and + wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = + '销售出库'),'%Y-%m-%d'))) noSalesDays, + date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on + r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and + wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') + storageTime, + SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost, + FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice + FROM + wms_inventory as i + LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid + LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid + WHERE i.count > 0 + GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m ${ew.sqlSegment} + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index 19bcab7035..48dc8e6f93 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -2,6 +2,7 @@ package com.yxt.wms.biz.inventory.wmsinventory; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.common.base.service.MybatisBaseService; @@ -12,10 +13,7 @@ import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo; import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; -import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo; -import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo; -import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo; -import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo; +import com.yxt.wms.biz.inventory.wmsinventory.appH5.*; import com.yxt.wms.biz.inventory.wmsinventory.appInventory.*; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; @@ -59,6 +57,7 @@ public class WmsInventoryService extends MybatisBaseService listPage(PagerQuery pq) { WmsInventoryQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -739,6 +738,72 @@ public class WmsInventoryService extends MybatisBaseService split = Arrays.asList(query.getOrgPath().split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + deptSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + deptSid = sysOrganization.getSid(); + } + if (StringUtils.isBlank(query.getStoreSid())) { + List wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSid(query.getSid(), deptSid); + goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle()); + goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode()); + goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName()); + goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate())); + goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec()); + goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit()); + List list = new ArrayList<>(); + for (WmsInventory wmsInventory : wmsInventoryList) { + GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo(); + goodsTwoListVo.setSid(wmsInventory.getSid()); + goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle()); + goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode()); + goodsTwoListVo.setStore(wmsInventory.getWarehouseName()); + goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid()); + goodsTwoListVo.setCount(wmsInventory.getCount().toString()); + goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString()); + goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode()); + if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) { + goodsTwoListVo.setForbid(true); + } + list.add(goodsTwoListVo); + } + goodsTwoVo.setList(list); + return goodsTwoVo; + } + List wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSidWarehouseSid(query.getSid(), deptSid, query.getStoreSid(), query.getSids()); + goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle()); + goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode()); + goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName()); + goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate())); + goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec()); + goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit()); + List list = new ArrayList<>(); + for (WmsInventory wmsInventory : wmsInventoryList) { + GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo(); + goodsTwoListVo.setSid(wmsInventory.getSid()); + goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle()); + goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode()); + goodsTwoListVo.setStore(wmsInventory.getWarehouseName()); + goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid()); + goodsTwoListVo.setCount(wmsInventory.getCount().toString()); + goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString()); + goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode()); + if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) { + goodsTwoListVo.setForbid(true); + } + list.add(goodsTwoListVo); + } + goodsTwoVo.setList(list); + return goodsTwoVo; + } + public List selByDeptSid(String deptSid) { return baseMapper.selByDeptSid(deptSid); } @@ -1300,7 +1365,7 @@ public class WmsInventoryService extends MybatisBaseService inventories = baseMapper.selOaInventoryList(useOrgSid,warehouseTypeValue); + List inventories = baseMapper.selOaInventoryList(useOrgSid, warehouseTypeValue); if (!inventories.isEmpty()) { for (WmsInventory d : inventories) { FormCommon f = new FormCommon(); @@ -1308,26 +1373,26 @@ public class WmsInventoryService extends MybatisBaseService extra = new HashMap<>(); if (null != d.getCount()) { - extra.put("count",d.getCount().toString()); + extra.put("count", d.getCount().toString()); } if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { - extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + extra.put("goodsSkuOwnSpec", d.getGoodsSkuOwnSpec()); } if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { - extra.put("goodsSkuSid",d.getGoodsSkuSid()); + extra.put("goodsSkuSid", d.getGoodsSkuSid()); } if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { - extra.put("goodsSpuSid",d.getGoodsSpuSid()); + extra.put("goodsSpuSid", d.getGoodsSpuSid()); } if (StringUtils.isNotBlank(d.getUnit())) { - extra.put("unit",d.getUnit()); + extra.put("unit", d.getUnit()); } if (warehouseTypeValue.equals("招待库")) { String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData(); if (StringUtils.isNotBlank(price)) { - extra.put("price",price); + extra.put("price", price); } else { - extra.put("price",""); + extra.put("price", ""); } } f.setExtra(extra); @@ -1345,13 +1410,13 @@ public class WmsInventoryService extends MybatisBaseService> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID,useOrgSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID, useOrgSid); return rb.success().setData(wmsInventoryList); } public ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID,useOrgSid,warehouseSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid); return rb.success().setData(wmsInventoryList); } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java new file mode 100644 index 0000000000..0388d18b41 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java @@ -0,0 +1,48 @@ +package com.yxt.wms.biz.inventory.wmsinventory.appH5; + +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/6/26 10:40 + */ +@Data +public class GoodsTwoListVo { + + private String sid; + /** + * 商品名称 + */ + private String goodsName; + /** + * 图号 + */ + private String numId; + /** + * 仓库 + */ + private String store; + /** + * 仓库sid + */ + private String storeSid; + /** + * 可调数量 + */ + private String count; + /** + * 最大可调数量 + */ + private String maxCount; + /** + * 格式例:保内-仓库 库位编码 + */ + private String houseInfo; + /** + * 是否禁止修改(maxCount=1 true) + */ + private Boolean forbid = false; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java new file mode 100644 index 0000000000..92463c2e0d --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java @@ -0,0 +1,28 @@ +package com.yxt.wms.biz.inventory.wmsinventory.appH5; + +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/6/26 10:40 + */ +@Data +public class GoodsTwoQuery { + + private String orgPath; + /** + * 商品sid + */ + private String sid; + /** + * 需要去重的库存sid + */ + private List sids; + /** + * 仓库sid + */ + private String storeSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java new file mode 100644 index 0000000000..03fd007ece --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java @@ -0,0 +1,41 @@ +package com.yxt.wms.biz.inventory.wmsinventory.appH5; + +import lombok.Data; + +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/6/26 10:40 + */ +@Data +public class GoodsTwoVo { + + /** + * 商品名称 + */ + private String goodsName; + /** + * 图号 + */ + private String numId; + /** + * 供应商 + */ + private String provider; + /** + * 首次入库日期 + */ + private String inboundTime; + /** + * 规格 + */ + private String goodsSkuOwnSpec; + /** + * 计量单位 + */ + private String unit; + + private List list; +} From c366dd95273b02eda82c27c79a23105195ef7f34 Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Wed, 12 Feb 2025 15:05:03 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E9=87=87=E8=B4=AD=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/apiadmin/base/BaseGoodsSpuRest.java | 8 + .../base/basegoodsspu/BaseGoodsSpuMapper.java | 4 + .../base/basegoodsspu/BaseGoodsSpuMapper.xml | 5 + .../basegoodsspu/BaseGoodsSpuService.java | 60 +++- .../base/basegoodsspu/YxtBaseFormCommon.java | 27 ++ .../oa/api/AdPurchaseAssetApplyRest.java | 92 +++++ .../AdPurchaseAssetApply.java | 55 +++ .../AdPurchaseAssetApplyDetailVo.java | 34 ++ .../AdPurchaseAssetApplyDto.java | 80 +++++ .../AdPurchaseAssetApplyMapper.java | 37 ++ .../AdPurchaseAssetApplyMapper.xml | 36 ++ .../AdPurchaseAssetApplyService.java | 335 ++++++++++++++++++ .../AdPurchaseAssetApplyVo.java | 73 ++++ .../AdPurchaseAssetDetails.java | 60 ++++ .../AdPurchaseAssetDetailsDto.java | 70 ++++ .../AdPurchaseAssetDetailsMapper.java | 41 +++ .../AdPurchaseAssetDetailsMapper.xml | 9 + .../AdPurchaseAssetDetailsService.java | 85 +++++ .../AdPurchaseAssetDetailsVo.java | 72 ++++ .../AdPurchaseAssetListDetailsVo.java | 69 ++++ .../oa/feign/flowable/flow/ProcDefEnum.java | 2 + 21 files changed, 1246 insertions(+), 8 deletions(-) create mode 100644 yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/YxtBaseFormCommon.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPurchaseAssetApplyRest.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApply.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDetailVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetails.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetListDetailsVo.java diff --git a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java index a65f9c356e..29676c5d21 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/apiadmin/base/BaseGoodsSpuRest.java @@ -9,6 +9,8 @@ import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; +import java.util.List; + /** * @author wangpengfei * @date 2024/3/7 16:58 @@ -119,4 +121,10 @@ public class BaseGoodsSpuRest { return baseGoodsSpuService.goodsListPage(pq); } + @ApiOperation("固定资产采购查询行政商品信息") + @GetMapping("/selPurchaseAssetInfo") + public ResultBean> selPurchaseAssetInfo(@RequestParam("orgPath") String orgPath) { + return baseGoodsSpuService.selPurchaseAssetInfo(orgPath); + } + } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java index 7e75235256..75cf26eeea 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.java @@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** * @author wangpengfei * @date 2024/2/26 13:40 @@ -26,4 +28,6 @@ public interface BaseGoodsSpuMapper extends BaseMapper { BaseGoodsSpu checkForUpdate(@Param("goodsCode")String goodsCode,@Param("useOrgSid") String useOrgSid, @Param("sid")String sid); int selByCodeAndDept(@Param("code") String code,@Param("deptSid") String deptSid); + + List selPurchaseAssetInfo(@Param("useOrgSid") String useOrgSid); } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml index 1514875d29..a5d431f7c0 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuMapper.xml @@ -99,4 +99,9 @@ WHERE WHERE goodsCode = #{code} AND useOrgSid = #{deptSid} + diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java index edb8aef7a2..c3e66f9fe9 100644 --- a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/BaseGoodsSpuService.java @@ -23,6 +23,7 @@ import com.yxt.base.biz.base.basemanufacturer.BaseManufacturer; import com.yxt.base.biz.base.basemanufacturer.BaseManufacturerService; import com.yxt.base.feign.portal.privilege.PrivilegeQuery; import com.yxt.base.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.base.feign.portal.sysorganization.SysOrganizationVo; import com.yxt.base.feign.portal.sysstafforg.SysStaffOrgFeign; import com.yxt.base.feign.portal.sysuser.SysUserFeign; import com.yxt.base.utils.PinYinUtils; @@ -37,10 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; +import java.util.*; /** * @author wangpengfei @@ -268,9 +266,9 @@ public class BaseGoodsSpuService extends MybatisBaseService page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.goodsListPage(page, qw); @@ -328,7 +326,7 @@ public class BaseGoodsSpuService extends MybatisBaseService selByCodeAndDept(String code, String deptSid) { ResultBean rb = ResultBean.fireFail(); - int i = baseMapper.selByCodeAndDept(code,deptSid); + int i = baseMapper.selByCodeAndDept(code, deptSid); return rb.success().setData(i); } + + public ResultBean> selPurchaseAssetInfo(String orgPath) { + ResultBean rb = ResultBean.fireFail(); + List list = new ArrayList<>(); + String useOrgSid = ""; + if (StringUtils.isNotBlank(orgPath)) { + List split = Arrays.asList(orgPath.split("/")); + if (split.size() > 1) { + //获取本级sid获取本级部门信息 + SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData(); + useOrgSid = sysOrganization1.getSid(); + } else { + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData(); + useOrgSid = sysOrganization.getSid(); + } + } + List goodsSpus = baseMapper.selPurchaseAssetInfo(useOrgSid); + if (!goodsSpus.isEmpty()) { + goodsSpus.stream().forEach(details -> { + YxtBaseFormCommon formCommon = new YxtBaseFormCommon(); + formCommon.setId(details.getSid()); + formCommon.setDictValue(details.getGoodsCode()); + Map extra = new HashMap<>(); + if (StringUtils.isNotBlank(details.getSid())) { + extra.put("goodsSpuSid", details.getSid()); + } + if (StringUtils.isNotBlank(details.getGoodsName())) { + extra.put("goodsSpuName", details.getGoodsName()); + } + + //商品sku + BaseGoodsSku skuUpdate = baseGoodsSkuService.getOneBySpuSid(details.getSid()); + if (null != skuUpdate) { + if (StringUtils.isNotBlank(skuUpdate.getIndexes())) { + extra.put("goodsSkuOwnSpec", skuUpdate.getIndexes()); + } + } + if (StringUtils.isNotBlank(details.getGoodsUnitName())) { + extra.put("unit", details.getGoodsUnitName()); + } + formCommon.setExtra(extra); + list.add(formCommon); + }); + } + return rb.success().setData(list); + } } diff --git a/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/YxtBaseFormCommon.java b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/YxtBaseFormCommon.java new file mode 100644 index 0000000000..469daf5cba --- /dev/null +++ b/yxt-base-biz/src/main/java/com/yxt/base/biz/base/basegoodsspu/YxtBaseFormCommon.java @@ -0,0 +1,27 @@ +package com.yxt.base.biz.base.basegoodsspu; + +import lombok.Data; + +import java.util.Map; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/16 + **/ +@Data +public class YxtBaseFormCommon { + + private String id; + private String dictValue; + + private Map extra; + + // 静态方法,直接通过方法创建对象并赋值 + public static YxtBaseFormCommon of(String id, String dictValue) { + YxtBaseFormCommon formCommon = new YxtBaseFormCommon(); + formCommon.setId(id); + formCommon.setDictValue(dictValue); + return formCommon; + } +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPurchaseAssetApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPurchaseAssetApplyRest.java new file mode 100644 index 0000000000..c9d0cd7e5d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdPurchaseAssetApplyRest.java @@ -0,0 +1,92 @@ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyDetailVo; +import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyDto; +import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyService; +import com.yxt.anrui.oa.biz.adpurchaseassetapply.AdPurchaseAssetApplyVo; +import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@RestController +@RequestMapping("v1/AdPurchaseAssetApply") +public class AdPurchaseAssetApplyRest { + + + @Autowired + private AdPurchaseAssetApplyService adPurchaseAssetApplyService; + + @ApiOperation("初始化(新增或修改)") + @GetMapping({"/getInit", "/getInit/{sid}"}) + public ResultBean getInit( + @PathVariable(value = "sid", required = false) String sid, + @RequestParam(value = "userSid", required = false) String userSid, + @RequestParam(value = "orgPath", required = false) String orgPath) { + ResultBean rb = ResultBean.fireFail(); + if (sid == null || sid.isEmpty()) { + // 执行新增初始化 + if (userSid == null || orgPath == null) { + return rb.setMsg("userSid和orgPath不能为空"); + } + return adPurchaseAssetApplyService.getSaveInit(userSid, orgPath); + } else { + // 执行修改初始化 + return adPurchaseAssetApplyService.getUpdateInit(sid); + } + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody AdPurchaseAssetApplyDto dto) { + return adPurchaseAssetApplyService.saveOrUpdateDto(dto); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + adPurchaseAssetApplyService.delAll(sids); + return rb.success(); + } + + @ApiOperation("详情") + @GetMapping("/details/{sid}") + ResultBean details(@PathVariable("sid") String sid + , @RequestParam(value = "application", required = false) String application) { + return adPurchaseAssetApplyService.details(sid,application); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid AdPurchaseAssetApplyDto dto) { + return adPurchaseAssetApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PutMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return adPurchaseAssetApplyService.complete(dto); + } + + @ApiOperation(value = "驳回任务") + @PutMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return adPurchaseAssetApplyService.reject(dto); + } + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) { + return adPurchaseAssetApplyService.getFlowOperateTitle(query); + } + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApply.java new file mode 100644 index 0000000000..610044389c --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApply.java @@ -0,0 +1,55 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "固定资产采购", description = "固定资产采购") +@TableName("ad_purchase_asset_apply") +public class AdPurchaseAssetApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + @ApiModelProperty("关联审批sid列表,英文逗号分隔") + private String linkFormSids; // 关联审批sid列表,英文逗号分隔 + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + @ApiModelProperty("是否有服务站机器设备(1是,0否)") + private String isStationKey; // 是否有服务站机器设备(1是,0否) + private String isStationValue; // 是否有服务站机器设备(1是,0否) + @ApiModelProperty("合计采购金额") + private BigDecimal totalAmount; // 合计采购金额 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDetailVo.java new file mode 100644 index 0000000000..b48a164cea --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDetailVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetListDetailsVo; +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/21 + **/ +@Data +public class AdPurchaseAssetApplyDetailVo extends OaFormCommonVo { + + + + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + private String isStationValue; // 是否有服务站机器设备(1是,0否) + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("合计采购金额") + private String totalAmount; // 合计采购金额 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + private List list = new ArrayList<>(); + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDto.java new file mode 100644 index 0000000000..a563f744f8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyDto.java @@ -0,0 +1,80 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + + +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsDto; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: oa(驻外人员认定申请)
+ * File: AdExpatriatesApplyDto.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesapply.AdExpatriatesApplyDto
+ * Description: 驻外人员认定申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-16 15:22:53
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "驻外人员认定申请 数据传输对象", description = "驻外人员认定申请 数据传输对象") +public class AdPurchaseAssetApplyDto extends OaFormDto { + + private FormCommon assetTypeObj; + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + + private FormCommon isStationObj; + @ApiModelProperty("是否有服务站机器设备(1是,0否)") + private String isStationKey; // 是否有服务站机器设备(1是,0否) + private String isStationValue; // 是否有服务站机器设备(1是,0否) + + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("合计采购金额") + private String totalAmount; // 合计采购金额 + + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + private List list = new ArrayList<>(); + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.java new file mode 100644 index 0000000000..3084c96ae8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.java @@ -0,0 +1,37 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AdPurchaseAssetApplyMapper extends BaseMapper { + + int selectBySid(String join); + + AdPurchaseAssetApplyDetailVo details(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml new file mode 100644 index 0000000000..42e7755bbd --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyMapper.xml @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java new file mode 100644 index 0000000000..4fbb99cdad --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java @@ -0,0 +1,335 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsDto; +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsService; +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class AdPurchaseAssetApplyService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + @Autowired + private AdPurchaseAssetDetailsService adPurchaseAssetDetailsService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdPurchaseAssetApplyVo adPurchaseAssetApplyVo = new AdPurchaseAssetApplyVo(); + adPurchaseAssetApplyVo.setCreateBySid(userSid); + adPurchaseAssetApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(adPurchaseAssetApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdPurchaseAssetApplyVo adPurchaseAssetApplyVo = new AdPurchaseAssetApplyVo(); + AdPurchaseAssetApply adPurchaseAssetApply = fetchBySid(sid); + if (adPurchaseAssetApply == null) { + return rb.setMsg("该申请不存在"); + } + OaForm oaForm = oaFormService.fetchBySid(sid); + adPurchaseAssetApplyVo.setTaskId(oaForm.getTaskId()); + adPurchaseAssetApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + adPurchaseAssetApplyVo.setOrgSidPath(orgSidPath); + adPurchaseAssetApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(adPurchaseAssetApply, adPurchaseAssetApplyVo); + FormCommon assetTypeObj = FormCommon.of(adPurchaseAssetApply.getAssetTypeKey(), adPurchaseAssetApply.getAssetTypeValue()); + adPurchaseAssetApplyVo.setAssetTypeObj(assetTypeObj); + FormCommon isStationObj = FormCommon.of(adPurchaseAssetApply.getIsStationKey(), adPurchaseAssetApply.getIsStationValue()); + adPurchaseAssetApplyVo.setIsStationObj(isStationObj); + List list = adPurchaseAssetDetailsService.getUpdateInit(sid); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(details -> { + FormCommon assetObj = new FormCommon(); + assetObj.setId(details.getSid()); + assetObj.setDictValue(details.getGoodsSkuCode()); + Map extra = new HashMap<>(); + if (StringUtils.isNotBlank(details.getGoodsSpuName())) { + extra.put("goodsSpuName",details.getGoodsSpuName()); + } + if (StringUtils.isNotBlank(details.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",details.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(details.getUnit())) { + extra.put("unit",details.getUnit()); + } + assetObj.setExtra(extra); + details.setAssetObj(assetObj); + }); + } + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + adPurchaseAssetApplyVo.setFiles(files); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adPurchaseAssetApplyVo.setAppes(appes); + adPurchaseAssetApplyVo.setList(list); + adPurchaseAssetApplyVo.setSid(sid); + return rb.success().setData(adPurchaseAssetApplyVo); + } + + public ResultBean saveOrUpdateDto(AdPurchaseAssetApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + List list = dto.getList(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdPurchaseAssetApply entity = new AdPurchaseAssetApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + dto.setBillNo("GDZCCGSQ"); + dto.setSid(entity.getSid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + + if (!resultBean.getSuccess()) { + return rb; + } + + entity.setFormSid(resultBean.getData()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdPurchaseAssetApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + adPurchaseAssetDetailsService.saveDetails(list, sid); + // 处理附件 + saveFiles(sid, files, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.ADEXPATRIATESAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + return rb.success(); + } + + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdPurchaseAssetApplyDetailVo adExpatriatesApplyDetailVo = baseMapper.details(sid); + if (adExpatriatesApplyDetailVo == null) { + return rb.setMsg("该申请不存在"); + } + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adExpatriatesApplyDetailVo.setFiles(files); + adExpatriatesApplyDetailVo.setAppes(appes); + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adExpatriatesApplyDetailVo); + return rb.success().setData(adExpatriatesApplyDetailVo); + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdPurchaseAssetApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + return oaFormService.reject(dto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + // 默认失败返回 + ResultBean rb = ResultBean.fireFail(); + + // 获取next值和formVariables + int next = query.getNext(); + + // 获取并更新formVariables + Map formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); + query.setFormVariables(formVariables); + + // 校验next参数是否有效(只允许0或1) + if (next != 0 && next != 1) { + return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息 + } + + // 获取节点名称 + String data = getNodeName(query, next); + + // 如果data为null,表示未获取到有效的节点信息 + if (data == null) { + return rb.setMsg("没有获取到节点信息"); // 返回错误消息 + } + + // 返回成功的结果和获取到的节点名称 + return rb.success().setData(data); + } + + /** + * 网关参数组成 + * + * @param formVariables + * @param sid + * @return + */ + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ + appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); + appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); + appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); + appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); + appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); + formVariables.put("app", appMap); + //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdPurchaseAssetApply adExpatriatesApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 + formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + return formVariables; + } + + /** + * 根据next的值获取前一个节点或下一个节点的名称。 + * + * @param query 包含查询所需参数的NodeQuery对象 + * @param next 参数,0表示上一环节,1表示下一环节 + * @return 节点名称,如果失败则返回null + */ + private String getNodeName(NodeQuery query, int next) { + // 根据next值选择相应的服务方法获取节点信息 + ResultBean> resultBean = (next == 0) + ? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点 + : oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点 + // 如果服务调用成功 + if (resultBean.getSuccess()) { + // 清除结果列表中的null值,避免空节点 + resultBean.getData().removeAll(Collections.singleton(null)); + // 如果结果列表非空,返回第一个节点的名称 + if (!resultBean.getData().isEmpty()) { + return resultBean.getData().get(0).getName(); + } + } else { + // 如果服务调用失败,返回null + return null; + } + // 如果结果为空,返回null + return null; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyVo.java new file mode 100644 index 0000000000..aaea3d8700 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyVo.java @@ -0,0 +1,73 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetapply; + +import com.yxt.anrui.oa.biz.adpurchaseassetdetails.AdPurchaseAssetDetailsVo; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AdPurchaseAssetApplyVo { + + private String sid; + /* private String userSid; + private String orgPath;*/ + private String orgSidPath; + private String createBySid; + + private FormCommon assetTypeObj; + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + + private FormCommon isStationObj; + @ApiModelProperty("是否有服务站机器设备(1是,0否)") + private String isStationKey; // 是否有服务站机器设备(1是,0否) + private String isStationValue; // 是否有服务站机器设备(1是,0否) + + + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("合计采购金额") + private String totalAmount; // 合计采购金额 + + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + private List list = new ArrayList<>(); + + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetails.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetails.java new file mode 100644 index 0000000000..8e1f9ac01f --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetails.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "固定资产采购列表", description = "固定资产采购") +@TableName("ad_purchase_asset_details") +public class AdPurchaseAssetDetails extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请sid") + private String mainSid; // 申请sid + @ApiModelProperty("固定资产基础信息sid") + private String goodsSpuSid; // 固定资产基础信息sid + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("预计采购单价") + private BigDecimal cost; // 预计采购单价 + @ApiModelProperty("预计采购数量") + private BigDecimal estimateCount; // 预计采购数量 + @ApiModelProperty("预计采购金额") + private BigDecimal estimateMoney; // 预计采购金额 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java new file mode 100644 index 0000000000..cfd7fb201a --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java @@ -0,0 +1,70 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdPurchaseAssetDetailsDto implements Vo { + + @ApiModelProperty("固定资产") + private FormCommon assetObj; + @ApiModelProperty("固定资产基础信息sid") + private String goodsSpuSid; // 固定资产基础信息sid + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("预计采购单价") + private String cost; // 预计采购单价 + @ApiModelProperty("预计采购数量") + private String estimateCount; // 预计采购数量 + @ApiModelProperty("预计采购金额") + private String estimateMoney; // 预计采购金额 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.java new file mode 100644 index 0000000000..105316709b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.java @@ -0,0 +1,41 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AdPurchaseAssetDetailsMapper extends BaseMapper { + + @Select("select * from ad_purchase_asset_details where mainSid = #{mainSid}") + List selectByMainSid(String mainSid); + + List getUpdateInit(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.xml new file mode 100644 index 0000000000..6e15216bac --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java new file mode 100644 index 0000000000..12e8416ef6 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.base.service.MybatisBaseService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +@Service +public class AdPurchaseAssetDetailsService extends MybatisBaseService { + + public void saveDetails(List list, String sid) { + //根据sid查询明细并删除 + List list2 = baseMapper.selectByMainSid(sid); + list2.removeAll(Collections.singleton(null)); + if (!list2.isEmpty()) { + list2.stream().forEach(v -> { + deleteBySid(v.getSid()); + }); + } + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(details -> { + AdPurchaseAssetDetails adPurchaseAssetDetails = new AdPurchaseAssetDetails(); + BeanUtil.copyProperties(details, adPurchaseAssetDetails); + adPurchaseAssetDetails.setMainSid(sid); + FormCommon assetObj = details.getAssetObj(); + adPurchaseAssetDetails.setGoodsSkuCode(assetObj.getDictValue()); + adPurchaseAssetDetails.setGoodsSpuSid(assetObj.getId()); + Map extra = assetObj.getExtra(); + adPurchaseAssetDetails.setGoodsSpuSid(assetObj.getId()); + adPurchaseAssetDetails.setGoodsSkuCode(assetObj.getDictValue()); + if (null != extra) { + for (Map.Entry entry : extra.entrySet()) { + if (StringUtils.isNotBlank((String)entry.getValue())) { + if (entry.getKey().equals("goodsSpuName")) { + adPurchaseAssetDetails.setGoodsSpuName((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSkuOwnSpec")) { + adPurchaseAssetDetails.setGoodsSkuOwnSpec((String)entry.getValue()); + } + if (entry.getKey().equals("unit")) { + adPurchaseAssetDetails.setUnit((String)entry.getValue()); + } + } + } + } + baseMapper.insert(adPurchaseAssetDetails); + }); + } + } + + public List getUpdateInit(String sid) { + return baseMapper.getUpdateInit(sid); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsVo.java new file mode 100644 index 0000000000..319c7a7c9b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsVo.java @@ -0,0 +1,72 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdPurchaseAssetDetailsVo implements Vo { + + private String sid; + + @ApiModelProperty("固定资产") + private FormCommon assetObj; + @ApiModelProperty("固定资产基础信息sid") + private String goodsSpuSid; // 固定资产基础信息sid + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("预计采购单价") + private String cost; // 预计采购单价 + @ApiModelProperty("预计采购数量") + private String estimateCount; // 预计采购数量 + @ApiModelProperty("预计采购金额") + private String estimateMoney; // 预计采购金额 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetListDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetListDetailsVo.java new file mode 100644 index 0000000000..91a0006871 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetListDetailsVo.java @@ -0,0 +1,69 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adpurchaseassetdetails; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdPurchaseAssetListDetailsVo implements Vo { + + private String sid; + + + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("预计采购单价") + private String cost; // 预计采购单价 + @ApiModelProperty("预计采购数量") + private String estimateCount; // 预计采购数量 + @ApiModelProperty("预计采购金额") + private String estimateMoney; // 预计采购金额 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java index 6b989b5a5a..9684e40d69 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java @@ -11,6 +11,8 @@ public enum ProcDefEnum { OAMENDAPPLY("补卡申请", "process_9suucr96:1:16072504"), HIHIREAPPLY("招聘需求", "process_zy0m4jrp:1:16802504"), BGYPLYAPPLY("办公用品领用", ""), + GDZCCG_GS_APPLY("公司固定资产采购申请", ""), + GDZCCG_ZX_APPLY("中心固定资产采购申请", ""), ; From 0b6360d6764322f85d76113e061bbf6952a6b14b Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Wed, 12 Feb 2025 15:23:44 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../flowable/biz/flowtask/FlowTaskMapper.java | 2 + .../flowable/biz/flowtask/FlowTaskMapper.xml | 4 ++ .../biz/flowtask/FlowTaskService.java | 61 +++++++++++++++++-- 3 files changed, 61 insertions(+), 6 deletions(-) diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java index 6dae632b30..7451e1b686 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.java @@ -44,4 +44,6 @@ public interface FlowTaskMapper extends BaseMapper { Map getTaskByDefKey(@Param("procId")String processInstanceId, @Param("taskId")String id); Map getActHiVarinstForOrgPath(@Param("taskId")String taskId); + + List selectAssignee(@Param("taskDefKey") String taskDefKey, @Param("procInsId") String procInsId); } diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml index 5ba94024db..195db43440 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskMapper.xml @@ -277,4 +277,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" WHERE ahv.task_id_= #{taskId} and ahv.name_="orgPath" order by ahv.id_ desc limit 0,1 + + \ No newline at end of file diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java index a6216042b5..06863c772a 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flowtask/FlowTaskService.java @@ -920,7 +920,7 @@ public class FlowTaskService extends MybatisBaseService> assignee_ = sysUserFeign.fetchBySids(histTask.get("ASSIGNEE_").toString()); StringBuilder userName = new StringBuilder(); @@ -931,7 +931,8 @@ public class FlowTaskService extends MybatisBaseService ASSIGNEE_List = baseMapper.selectAssignee(flowTask.getTaskDefKey(),flowTask.getProcInsId()); + if(!ASSIGNEE_List.isEmpty()){ + StringBuilder userName = new StringBuilder(); + for (String assignee : ASSIGNEE_List) { + ResultBean> assignee_ = sysUserFeign.fetchBySids(assignee); + List data1 = assignee_.getData(); + for (SysUserVo data : data1) { + userName.append(data.getName()).append(","); + } + } + String userName_str = ""; + userName_str = userName.substring(0, userName.length() - 1); + flowTask.setAssigneeName(userName_str); + } + //===2025-02-12添加结束 ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); @@ -1053,7 +1070,7 @@ public class FlowTaskService extends MybatisBaseService> assignee_ = sysUserFeign.fetchBySids(histTask.get("ASSIGNEE_").toString()); StringBuilder userName = new StringBuilder(); @@ -1064,7 +1081,7 @@ public class FlowTaskService extends MybatisBaseService ASSIGNEE_List = baseMapper.selectAssignee(flowTask.getTaskDefKey(),flowTask.getProcInsId()); + if(!ASSIGNEE_List.isEmpty()){ + StringBuilder userName = new StringBuilder(); + for (String assignee : ASSIGNEE_List) { + ResultBean> assignee_ = sysUserFeign.fetchBySids(assignee); + List data1 = assignee_.getData(); + for (SysUserVo data : data1) { + userName.append(data.getName()).append(","); + } + } + String userName_str = ""; + userName_str = userName.substring(0, userName.length() - 1); + flowTask.setAssigneeName(userName_str); + } + //===2025-02-12添加结束 ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); @@ -1175,7 +1208,7 @@ public class FlowTaskService extends MybatisBaseService> assignee_ = sysUserFeign.fetchBySids(histTask.get("ASSIGNEE_").toString()); StringBuilder userName = new StringBuilder(); @@ -1186,7 +1219,7 @@ public class FlowTaskService extends MybatisBaseService ASSIGNEE_List = baseMapper.selectAssignee(flowTask.getTaskDefKey(),flowTask.getProcInsId()); + if(!ASSIGNEE_List.isEmpty()){ + StringBuilder userName = new StringBuilder(); + for (String assignee : ASSIGNEE_List) { + ResultBean> assignee_ = sysUserFeign.fetchBySids(assignee); + List data1 = assignee_.getData(); + for (SysUserVo data : data1) { + userName.append(data.getName()).append(","); + } + } + String userName_str = ""; + userName_str = userName.substring(0, userName.length() - 1); + flowTask.setAssigneeName(userName_str); + } + //===2025-02-12添加结束 ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(histTask.get("START_USER_ID_").toString()); flowTask.setStartUserSid(sysUserVoResultBean.getData().getSid()); flowTask.setStartUserName(sysUserVoResultBean.getData().getName()); From 4b02324aaa91f4bd7e7284687aa6218e277ba641 Mon Sep 17 00:00:00 2001 From: ligaode Date: Wed, 12 Feb 2025 16:40:52 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../terminal/api/as/storechange/AppStoreChangeFeign.java | 5 ----- .../biz/as/firstshelves/AppFirstShelvesService.java | 2 +- .../terminal/biz/as/storechange/AppStoreChangeRest.java | 7 +++---- .../biz/as/storechange/AppStoreChangeService.java | 5 ++++- .../terminal/fegin/wmsInventory/WmsInventoryFeign.java | 4 ++-- .../java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java | 2 +- .../com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java | 8 ++++---- .../biz/inventory/wmsinventory/WmsInventoryMapper.java | 4 ++-- .../biz/inventory/wmsinventory/WmsInventoryService.java | 8 ++++---- 9 files changed, 21 insertions(+), 24 deletions(-) diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java index 1138db4edc..dc9c2acdd4 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java @@ -1,10 +1,5 @@ package com.yxt.anrui.terminal.api.as.storechange; -import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesDto; -import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesQuery; -import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesScanVo; -import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesVo; -import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java index c7f25182da..cefe591b19 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/firstshelves/AppFirstShelvesService.java @@ -196,7 +196,7 @@ public class AppFirstShelvesService { wmsInventorySaveDto.setWarehouseSid(wmsHouseInfoVo.getWarehouseSid()); wmsInventorySaveDto.setWarehouseName(wmsHouseInfoVo.getWarehouseName()); wmsInventorySaveDto.setWarehouseRackSid(wmsHouseInfoVo.getWarehouseRackSid()); - wmsInventorySaveDto.setWarehouseRackCode(appFirstShelvesGoodsDto.getHouseCode()); + wmsInventorySaveDto.setWarehouseRackCode(wmsHouseInfoVo.getWarehouseRackCode()); wmsInventoryFeign.saveWmsInventory(wmsInventorySaveDto).getData(); } return rb.success(); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java index ea7b1fa1ab..4151300b0c 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeRest.java @@ -25,10 +25,9 @@ *********************************************************/ package com.yxt.anrui.terminal.biz.as.storechange; -import com.yxt.anrui.terminal.api.as.firstshelves.*; +import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeDto; import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeFeign; import com.yxt.anrui.terminal.api.as.storechange.AppStoreChangeScanVo; -import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @@ -47,7 +46,7 @@ public class AppStoreChangeRest implements AppStoreChangeFeign { } @Override - public ResultBean save(AppFirstShelvesDto dto) { - return appStoreChangeService.save(dto); + public ResultBean save(AppStoreChangeDto dto) { + return null; } } diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java index 6feb1b7e99..366f3c6ecb 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/as/storechange/AppStoreChangeService.java @@ -121,7 +121,7 @@ public class AppStoreChangeService { } if (StringUtils.isBlank(storeSid)) { List wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSid(content, deptSid).getData(); - if (wmsInventoryList.size() == 0) { + if (wmsInventoryList == null) { return rb.setMsg("当前商品不可移位"); } appStoreChangeScanVo.setType(type); @@ -129,6 +129,9 @@ public class AppStoreChangeService { appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); } else { List wmsInventoryList = wmsInventoryFeign.selByGoodsIDAndUseOrgSidAndWarehouseSid(content, deptSid, storeSid).getData(); + if (wmsInventoryList == null) { + return rb.setMsg("当前商品不可移位"); + } appStoreChangeScanVo.setType(type); appStoreChangeScanVo.setSid(wmsInventoryList.get(0).getGoodsSpuSid()); appStoreChangeScanVo.setStoreSids(wmsInventoryList.stream().map(WmsInventory::getWarehouseSid).collect(Collectors.toList())); diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java index a506d0aa98..98a1281ef2 100644 --- a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java @@ -44,9 +44,9 @@ public interface WmsInventoryFeign { @ApiOperation("根据商品ID和部门sid查询") @PostMapping("/selByGoodsIDAndUseOrgSid") - ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid); + ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodsID") String goodsID, @RequestParam("useOrgSid") String useOrgSid); @ApiOperation("根据商品ID和部门sid和仓库sid查询") @PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid") - ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid); + ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodsID") String goodsID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java index f6035e1fe1..8b012f6fa6 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java @@ -52,7 +52,7 @@ public class WmsH5Rest { return rb.success().setData(vo); } - @GetMapping("goods2") + @PostMapping("goods2") @ApiOperation("扫描商品标签看详情") ResultBean goods2(@RequestBody GoodsTwoQuery query) { ResultBean rb = ResultBean.fireFail(); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index 2237414f09..59c6039e95 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -311,14 +311,14 @@ public class WmsInventoryRest { @ApiOperation("根据商品ID和部门sid查询") @PostMapping("/selByGoodsIDAndUseOrgSid") - ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid) { - return wmsInventoryService.selByGoodsIDAndUseOrgSid(goodID, useOrgSid); + ResultBean> selByGoodsIDAndUseOrgSid(@RequestParam("goodsID") String goodsID, @RequestParam("useOrgSid") String useOrgSid) { + return wmsInventoryService.selByGoodsIDAndUseOrgSid(goodsID, useOrgSid); } @ApiOperation("根据商品ID和部门sid和仓库sid查询") @PostMapping("/selByGoodsIDAndUseOrgSidAndWarehouseSid") - ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodID") String goodID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid) { - return wmsInventoryService.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid); + ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(@RequestParam("goodsID") String goodsID, @RequestParam("useOrgSid") String useOrgSid, @RequestParam("warehouseSid") String warehouseSid) { + return wmsInventoryService.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodsID, useOrgSid, warehouseSid); } //----------------------------- 报表 ----------------------------- diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 2644c27118..3fee8efb24 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -110,10 +110,10 @@ public interface WmsInventoryMapper extends BaseMapper { String selCountByGoodsID(String goodsID); @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}") - List selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid); + List selByGoodsIDAndUseOrgSid(@Param("goodsID") String goodsID, @Param("useOrgSid") String useOrgSid); @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}") - List selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid); + List selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodsID") String goodsID, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid); @Select("select * from wms_inventory where goodsSpuSid = #{spuSid} and useOrgSid = #{useOrgSid}") List selBySpuSidAndUseOrgSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index 48dc8e6f93..544164cc4e 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -1408,15 +1408,15 @@ public class WmsInventoryService extends MybatisBaseService> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) { + public ResultBean> selByGoodsIDAndUseOrgSid(String goodsID, String useOrgSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID, useOrgSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodsID, useOrgSid); return rb.success().setData(wmsInventoryList); } - public ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) { + public ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodsID, String useOrgSid, String warehouseSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodsID, useOrgSid, warehouseSid); return rb.success().setData(wmsInventoryList); } } From f09a0b57de6fb7032724ff0acbe9380f83e40933 Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Wed, 12 Feb 2025 17:07:39 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=9B=BA=E5=AE=9A=E8=B5=84=E4=BA=A7?= =?UTF-8?q?=E8=B0=83=E6=8B=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../oa/api/AdAllocateAssetApplyRest.java | 91 +++++ .../AdAllocateAssetApply.java | 66 ++++ .../AdAllocateAssetApplyDetailVo.java | 38 ++ .../AdAllocateAssetApplyDto.java | 85 +++++ .../AdAllocateAssetApplyMapper.java | 37 ++ .../AdAllocateAssetApplyMapper.xml | 38 ++ .../AdAllocateAssetApplyService.java | 339 ++++++++++++++++++ .../AdAllocateAssetApplyVo.java | 85 +++++ .../AdAllocateAssetDetails.java | 60 ++++ .../AdAllocateAssetDetailsDto.java | 69 ++++ .../AdAllocateAssetDetailsMapper.java | 41 +++ .../AdAllocateAssetDetailsMapper.xml | 9 + .../AdAllocateAssetDetailsService.java | 83 +++++ .../AdAllocateAssetDetailsVo.java | 71 ++++ .../AdAllocateAssetListDetailsVo.java | 66 ++++ .../AdPurchaseAssetApplyService.java | 18 +- .../AdPurchaseAssetDetailsDto.java | 11 +- .../AdPurchaseAssetDetailsService.java | 2 - .../yxt/anrui/oa/feign/file/OaFileEnum.java | 2 + .../oa/feign/flowable/flow/ProcDefEnum.java | 2 + .../apiadmin/inventroy/WmsInventoryRest.java | 3 + .../wmsinventory/WmsInventoryService.java | 7 +- 22 files changed, 1200 insertions(+), 23 deletions(-) create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdAllocateAssetApplyRest.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApply.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDetailVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetails.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.xml create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsService.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java create mode 100644 yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdAllocateAssetApplyRest.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdAllocateAssetApplyRest.java new file mode 100644 index 0000000000..60e1b08cc8 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/api/AdAllocateAssetApplyRest.java @@ -0,0 +1,91 @@ +package com.yxt.anrui.oa.api; + +import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyDetailVo; +import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyDto; +import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyService; +import com.yxt.anrui.oa.biz.adallocateassetapply.AdAllocateAssetApplyVo; +import com.yxt.anrui.oa.biz.oaform.flowable.CompleteDto; +import com.yxt.anrui.oa.biz.oaform.flowable.NodeQuery; +import com.yxt.anrui.oa.biz.oaform.flowable.TaskDto; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +@RestController +@RequestMapping("v1/AdAllocateAssetApply") +public class AdAllocateAssetApplyRest { + + + @Autowired + private AdAllocateAssetApplyService adAllocateAssetApplyService; + + @ApiOperation("初始化(新增或修改)") + @GetMapping({"/getInit", "/getInit/{sid}"}) + public ResultBean getInit( + @PathVariable(value = "sid", required = false) String sid, + @RequestParam(value = "userSid", required = false) String userSid, + @RequestParam(value = "orgPath", required = false) String orgPath) { + ResultBean rb = ResultBean.fireFail(); + if (sid == null || sid.isEmpty()) { + // 执行新增初始化 + if (userSid == null || orgPath == null) { + return rb.setMsg("userSid和orgPath不能为空"); + } + return adAllocateAssetApplyService.getSaveInit(userSid, orgPath); + } else { + // 执行修改初始化 + return adAllocateAssetApplyService.getUpdateInit(sid); + } + } + + @ApiOperation("新增或修改") + @PostMapping("/save") + public ResultBean save(@RequestBody AdAllocateAssetApplyDto dto) { + return adAllocateAssetApplyService.saveOrUpdateDto(dto); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + ResultBean rb = ResultBean.fireFail(); + adAllocateAssetApplyService.delAll(sids); + return rb.success(); + } + + @ApiOperation("详情") + @GetMapping("/details/{sid}") + ResultBean details(@PathVariable("sid") String sid + , @RequestParam(value = "application", required = false) String application) { + return adAllocateAssetApplyService.details(sid,application); + } + + @ApiOperation("提交审批流程") + @PostMapping("/submit") + public ResultBean submit(@RequestBody @Valid AdAllocateAssetApplyDto dto) { + return adAllocateAssetApplyService.submit(dto); + } + + @ApiOperation(value = "办理(同意)") + @PutMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteDto dto) { + return adAllocateAssetApplyService.complete(dto); + } + + @ApiOperation(value = "驳回任务") + @PutMapping(value = "/reject") + public ResultBean reject(@Valid @RequestBody TaskDto dto) { + return adAllocateAssetApplyService.reject(dto); + } + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap NodeQuery query) { + return adAllocateAssetApplyService.getFlowOperateTitle(query); + } + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApply.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApply.java new file mode 100644 index 0000000000..b2ff6d582b --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApply.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetapply; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "固定资产调拨", description = "固定资产调拨") +@TableName("ad_allocate_asset_apply") +public class AdAllocateAssetApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("基础表单sid") + private String formSid; // 基础表单sid + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + @ApiModelProperty("调拨类别key") + private String allocateKey; // 调拨类别key + @ApiModelProperty("调拨类别value") + private String allocateValue; // 调拨类别value + @ApiModelProperty("调入部门sid") + private String intoDeptSid; // 调入部门sid + @ApiModelProperty("调入部门") + private String intoDept; // 调入部门 + @ApiModelProperty("调出部门sid") + private String pullDeptSid; // 调出部门sid + @ApiModelProperty("调出部门") + private String pullDept; // 调出部门 + @ApiModelProperty("调拨事由") + private String allocateReason; // 调拨事由 + @ApiModelProperty("调拨资产金额合计") + private BigDecimal totalAmount; // 调拨资产金额合计 + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDetailVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDetailVo.java new file mode 100644 index 0000000000..60ce1d8a3d --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDetailVo.java @@ -0,0 +1,38 @@ +package com.yxt.anrui.oa.biz.adallocateassetapply; + +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetListDetailsVo; +import com.yxt.anrui.oa.biz.oaform.OaFormCommonVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2025/1/21 + **/ +@Data +public class AdAllocateAssetApplyDetailVo extends OaFormCommonVo { + + + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + @ApiModelProperty("调拨类别value") + private String allocateValue; // 调拨类别value + @ApiModelProperty("调入部门") + private String intoDept; // 调入部门 + @ApiModelProperty("调出部门") + private String pullDept; // 调出部门 + @ApiModelProperty("调拨事由") + private String allocateReason; // 调拨事由 + @ApiModelProperty("调拨资产金额合计") + private String totalAmount; // 调拨资产金额合计 + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + private List list = new ArrayList<>(); + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDto.java new file mode 100644 index 0000000000..1c1d3b924c --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyDto.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetapply; + + +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsDto; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.anrui.oa.biz.oaform.OaFormDto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产调拨 数据传输对象", description = "固定资产调拨 数据传输对象") +public class AdAllocateAssetApplyDto extends OaFormDto { + + + private FormCommon allocateObj; + @ApiModelProperty("调拨类别key") + private String allocateKey; // 调拨类别key + @ApiModelProperty("调拨类别value") + private String allocateValue; // 调拨类别value + + private FormCommon assetTypeObj; + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + + private FormCommon intoDeptObj; + @ApiModelProperty("调入部门sid") + private String intoDeptSid; // 调入部门sid + @ApiModelProperty("调入部门") + private String intoDept; // 调入部门 + + private FormCommon pullDeptObj; + @ApiModelProperty("调出部门sid") + private String pullDeptSid; // 调出部门sid + @ApiModelProperty("调出部门") + private String pullDept; // 调出部门 + + @ApiModelProperty("调拨事由") + private String allocateReason; // 调拨事由 + @ApiModelProperty("调拨资产金额合计") + private String totalAmount; // 调拨资产金额合计 + + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + private List list = new ArrayList<>(); + +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.java new file mode 100644 index 0000000000..4f8f535ce1 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.java @@ -0,0 +1,37 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetapply; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +@Mapper +public interface AdAllocateAssetApplyMapper extends BaseMapper { + + int selectBySid(String join); + + AdAllocateAssetApplyDetailVo details(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.xml new file mode 100644 index 0000000000..2ac23894de --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyMapper.xml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyService.java new file mode 100644 index 0000000000..e3f32cd885 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyService.java @@ -0,0 +1,339 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetapply; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsDto; +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsService; +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsVo; +import com.yxt.anrui.oa.biz.oaappendix.OaAppendixService; +import com.yxt.anrui.oa.biz.oaform.*; +import com.yxt.anrui.oa.biz.oaform.flowable.*; +import com.yxt.anrui.oa.feign.file.OaFileEnum; +import com.yxt.anrui.oa.feign.flowable.flow.ProcDefEnum; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.oa.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.core.result.ResultBean; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +@Service +public class AdAllocateAssetApplyService extends MybatisBaseService { + + @Autowired + private OaAppendixService oaAppendixService; + @Autowired + private OaFormService oaFormService; + @Autowired + private AdAllocateAssetDetailsService adAllocateAssetDetailsService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + + public ResultBean getSaveInit(String userSid, String orgPath) { + ResultBean rb = ResultBean.fireFail(); + AdAllocateAssetApplyVo adAllocateAssetApplyVo = new AdAllocateAssetApplyVo(); + adAllocateAssetApplyVo.setCreateBySid(userSid); + adAllocateAssetApplyVo.setOrgSidPath(orgPath); + return rb.success().setData(adAllocateAssetApplyVo); + } + + public ResultBean getUpdateInit(String sid) { + ResultBean rb = ResultBean.fireFail(); + AdAllocateAssetApplyVo adAllocateAssetApplyVo = new AdAllocateAssetApplyVo(); + AdAllocateAssetApply adAllocateAssetApply = fetchBySid(sid); + if (adAllocateAssetApply == null) { + return rb.setMsg("该申请不存在"); + } + OaForm oaForm = oaFormService.fetchBySid(sid); + adAllocateAssetApplyVo.setTaskId(oaForm.getTaskId()); + adAllocateAssetApplyVo.setProcInsId(oaForm.getProcInstId()); + //根据部门sid获取orgPath并赋值 + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(oaForm.getDeptSid()).getData(); + String orgSidPath = organizationVo.getOrgSidPath(); + adAllocateAssetApplyVo.setOrgSidPath(orgSidPath); + adAllocateAssetApplyVo.setCreateBySid(oaForm.getCreateBySid()); + BeanUtil.copyProperties(adAllocateAssetApply, adAllocateAssetApplyVo); + FormCommon assetTypeObj = FormCommon.of(adAllocateAssetApply.getAssetTypeKey(), adAllocateAssetApply.getAssetTypeValue()); + adAllocateAssetApplyVo.setAssetTypeObj(assetTypeObj); + FormCommon allocateObj = FormCommon.of(adAllocateAssetApply.getAllocateKey(), adAllocateAssetApply.getAllocateValue()); + adAllocateAssetApplyVo.setAllocateObj(allocateObj); + FormCommon intoDeptObj = FormCommon.of(adAllocateAssetApply.getIntoDeptSid(), adAllocateAssetApply.getIntoDept()); + adAllocateAssetApplyVo.setIntoDeptObj(intoDeptObj); + FormCommon pullDeptObj = FormCommon.of(adAllocateAssetApply.getPullDeptSid(), adAllocateAssetApply.getPullDept()); + adAllocateAssetApplyVo.setPullDeptObj(pullDeptObj); + List list = adAllocateAssetDetailsService.getUpdateInit(sid); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(details -> { + FormCommon assetObj = new FormCommon(); + assetObj.setId(details.getInventorySid()); + assetObj.setDictValue(details.getGoodsID()); + Map extra = new HashMap<>(); + if (StringUtils.isNotBlank(details.getGoodsSpuName())) { + extra.put("goodsSpuName",details.getGoodsSpuName()); + } + if (StringUtils.isNotBlank(details.getGoodsSkuOwnSpec())) { + extra.put("goodsSkuOwnSpec",details.getGoodsSkuOwnSpec()); + } + if (StringUtils.isNotBlank(details.getGoodsSkuCode())) { + extra.put("goodsSkuCode",details.getGoodsSkuCode()); + } + assetObj.setExtra(extra); + details.setAssetObj(assetObj); + }); + } + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + adAllocateAssetApplyVo.setFiles(files); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adAllocateAssetApplyVo.setAppes(appes); + adAllocateAssetApplyVo.setList(list); + adAllocateAssetApplyVo.setSid(sid); + return rb.success().setData(adAllocateAssetApplyVo); + } + + public ResultBean saveOrUpdateDto(AdAllocateAssetApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + List files = dto.getFiles(); + List appes = dto.getAppes(); + List list = dto.getList(); + if (StringUtils.isBlank(sid)) { + // 新建操作 + AdAllocateAssetApply entity = new AdAllocateAssetApply(); + BeanUtil.copyProperties(dto, entity, "sid"); + + dto.setBillNo("GDZCDBSQ"); + dto.setSid(entity.getSid()); + ResultBean resultBean = oaFormService.saveOaForm(dto); + + if (!resultBean.getSuccess()) { + return rb; + } + + entity.setFormSid(resultBean.getData()); + baseMapper.insert(entity); + sid = entity.getSid(); + } else { + // 更新操作 + AdAllocateAssetApply entity = fetchBySid(sid); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.updateById(entity); + } + adAllocateAssetDetailsService.saveDetails(list, sid); + // 处理附件 + saveFiles(sid, files, OaFileEnum.ADALLOCATEASSETAPPLY.getAttachType(), "图片"); + saveFiles(sid, appes, OaFileEnum.ADALLOCATEASSETAPPLY.getAttachType(), "文件"); + return rb.success().setData(sid); + } + + // 保存文件 + private void saveFiles(String sid, List files, String attachType, String fileType) { + files.removeAll(Collections.singleton(null)); + oaAppendixService.saveFile(sid, files, attachType, fileType); + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + return rb.success(); + } + + public ResultBean details(String sid, String application) { + ResultBean rb = ResultBean.fireFail(); + AdAllocateAssetApplyDetailVo adAllocateAssetApplyDetailVo = baseMapper.details(sid); + if (adAllocateAssetApplyDetailVo == null) { + return rb.setMsg("该申请不存在"); + } + List files = oaAppendixService.selectByLinkSid(sid, "图片"); + List appes = oaAppendixService.selectByLinkSid(sid, "文件"); + adAllocateAssetApplyDetailVo.setFiles(files); + adAllocateAssetApplyDetailVo.setAppes(appes); + //基础字段赋值 + BeanUtil.copyProperties(oaFormService.getDetails(sid), adAllocateAssetApplyDetailVo); + return rb.success().setData(adAllocateAssetApplyDetailVo); + } + + /** + * 提交 + * + * @param dto + * @return + */ + public ResultBean submit(AdAllocateAssetApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + ResultBean stringResultBean = saveOrUpdateDto(dto); + if (!stringResultBean.getSuccess()) { + return rb.setMsg(stringResultBean.getData()); + } + String businessSid = stringResultBean.getData(); + + SubmitDto submitDto = new SubmitDto(); + submitDto.setUserSid(dto.getCreateBySid()); + submitDto.setBusinessSid(businessSid); + + Map formVariables = new HashMap<>(); + formVariables = getMap(formVariables, businessSid); + submitDto.setFormVariables(formVariables); + submitDto.setProcDefId(ProcDefEnum.HIHIREAPPLY.getProDefId()); + submitDto.setNextTaskId(dto.getTaskId()); + submitDto.setRule(OaFormRuleEnum.DIRECTLY_UNDER.getRule()); + return oaFormService.submit(submitDto); + } + + /** + * 办理(同意) + * + * @param dto + * @return + */ + public ResultBean complete(CompleteDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + BusinessVariablesDto businessVariablesDto = new BusinessVariablesDto(); + BeanUtil.copyProperties(dto, businessVariablesDto); + return oaFormService.complete(businessVariablesDto); + } + + /** + * 驳回 + * + * @param dto + * @return + */ + public ResultBean reject(TaskDto dto) { + Map formVariables = dto.getFormVariables(); + formVariables = getMap(formVariables, dto.getBusinessSid()); + dto.setFormVariables(formVariables); + return oaFormService.reject(dto); + } + + public ResultBean getFlowOperateTitle(NodeQuery query) { + // 默认失败返回 + ResultBean rb = ResultBean.fireFail(); + + // 获取next值和formVariables + int next = query.getNext(); + + // 获取并更新formVariables + Map formVariables = getMap(query.getFormVariables(), query.getBusinessSid()); + query.setFormVariables(formVariables); + + // 校验next参数是否有效(只允许0或1) + if (next != 0 && next != 1) { + return rb.setMsg("参数错误:next"); // 如果next不是0或1,返回错误信息 + } + + // 获取节点名称 + String data = getNodeName(query, next); + + // 如果data为null,表示未获取到有效的节点信息 + if (data == null) { + return rb.setMsg("没有获取到节点信息"); // 返回错误消息 + } + + // 返回成功的结果和获取到的节点名称 + return rb.success().setData(data); + } + + /** + * 网关参数组成 + * + * @param formVariables + * @param sid + * @return + */ + public Map getMap(Map formVariables, String sid) { + Map appMap = new HashMap<>(); + appMap.put("sid", sid); + /*appMap.put("editUrl", "approval/#/pages/EditOnboradingApplyActivity?sid=" + sid); + appMap.put("detailUrl", "approval/#/pages/DetailOnboradingApplyActivity?sid=" + sid); + appMap.put("flowOperateUrl", "oa/v1/HrHireApply/getFlowOperateTitle"); + appMap.put("agreeUrl", "oa/v1/HrHireApply/complete"); + appMap.put("stopUrl", "oa/v1/oaform/breakProcess"); + appMap.put("rejectUrl", "oa/v1/HrHireApply/reject"); + appMap.put("recallUrl", "oa/v1/oaform/revokeProcess"); + appMap.put("signUrl", "oa/v1/oaform/delegate"); + appMap.put("transferUrl", "oa/v1/oaform/assignTask");*/ + appMap.put(OaFormUrlEnum.HRHIREAPPLY_EDIT.getType(), OaFormUrlEnum.HRHIREAPPLY_EDIT.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_DETAIL.getType(), OaFormUrlEnum.HRHIREAPPLY_DETAIL.getUrl() + "?sid=" + sid); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_FLOWOPERATEURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getType(), OaFormUrlEnum.HRHIREAPPLY_AGREEURL.getUrl()); + appMap.put(OaFormUrlEnum.STOPURL.getType(), OaFormUrlEnum.STOPURL.getUrl()); + appMap.put(OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getType(), OaFormUrlEnum.HRHIREAPPLY_REJECTURL.getUrl()); + appMap.put(OaFormUrlEnum.RECALLURL.getType(), OaFormUrlEnum.RECALLURL.getUrl()); + appMap.put(OaFormUrlEnum.SIGNURL.getType(), OaFormUrlEnum.SIGNURL.getUrl()); + appMap.put(OaFormUrlEnum.TRANSFERURL.getType(), OaFormUrlEnum.TRANSFERURL.getUrl()); + formVariables.put("app", appMap); + //根据组织查询是否是分公司 + OaForm oaForm = oaFormService.fetchBySid(sid); + AdAllocateAssetApply adExpatriatesApply = fetchBySid(sid); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(oaForm.getUseOrgSid()).getData(); + //是否是分公司 + formVariables.put("isTrue", sysOrganization.getIsDept() == 0); + return formVariables; + } + + /** + * 根据next的值获取前一个节点或下一个节点的名称。 + * + * @param query 包含查询所需参数的NodeQuery对象 + * @param next 参数,0表示上一环节,1表示下一环节 + * @return 节点名称,如果失败则返回null + */ + private String getNodeName(NodeQuery query, int next) { + // 根据next值选择相应的服务方法获取节点信息 + ResultBean> resultBean = (next == 0) + ? oaFormService.getPreviousNodesForReject(query) // 获取上一环节的节点 + : oaFormService.getNextNodesForSubmit(query); // 获取下一环节的节点 + // 如果服务调用成功 + if (resultBean.getSuccess()) { + // 清除结果列表中的null值,避免空节点 + resultBean.getData().removeAll(Collections.singleton(null)); + // 如果结果列表非空,返回第一个节点的名称 + if (!resultBean.getData().isEmpty()) { + return resultBean.getData().get(0).getName(); + } + } else { + // 如果服务调用失败,返回null + return null; + } + // 如果结果为空,返回null + return null; + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyVo.java new file mode 100644 index 0000000000..3ba3f2e854 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetapply/AdAllocateAssetApplyVo.java @@ -0,0 +1,85 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetapply; + +import com.yxt.anrui.oa.biz.adallocateassetdetails.AdAllocateAssetDetailsVo; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class AdAllocateAssetApplyVo { + + private String sid; + /* private String userSid; + private String orgPath;*/ + private String orgSidPath; + private String createBySid; + + private FormCommon allocateObj; + @ApiModelProperty("调拨类别key") + private String allocateKey; // 调拨类别key + @ApiModelProperty("调拨类别value") + private String allocateValue; // 调拨类别value + + private FormCommon assetTypeObj; + @ApiModelProperty("固定资产类别key") + private String assetTypeKey; // 固定资产类别key + @ApiModelProperty("固定资产类别value") + private String assetTypeValue; // 固定资产类别value + + private FormCommon intoDeptObj; + @ApiModelProperty("调入部门sid") + private String intoDeptSid; // 调入部门sid + @ApiModelProperty("调入部门") + private String intoDept; // 调入部门 + + private FormCommon pullDeptObj; + @ApiModelProperty("调出部门sid") + private String pullDeptSid; // 调出部门sid + @ApiModelProperty("调出部门") + private String pullDept; // 调出部门 + + @ApiModelProperty("调拨事由") + private String allocateReason; // 调拨事由 + @ApiModelProperty("调拨资产金额合计") + private String totalAmount; // 调拨资产金额合计 + + @ApiModelProperty("图片") + private List files = new ArrayList<>(); + @ApiModelProperty("附件") + private List appes = new ArrayList<>(); + + private List list = new ArrayList<>(); + + private String taskId; + @ApiModelProperty("流程实例id") + private String procInsId; + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetails.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetails.java new file mode 100644 index 0000000000..de8b9b5ab6 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetails.java @@ -0,0 +1,60 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +@Data +@ApiModel(value = "固定资产调拨列表", description = "固定资产调拨") +@TableName("ad_allocate_asset_details") +public class AdAllocateAssetDetails extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请sid") + private String mainSid; // 申请sid + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid + @ApiModelProperty("固定资产ID") + private String goodsID; // 固定资产ID + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("固定资产情况说明") + private String goodsShows; // 固定资产情况说明 + @ApiModelProperty("固定资产净值") + private BigDecimal goodsWorth; // 固定资产净值 + + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java new file mode 100644 index 0000000000..027db2b91a --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsDto.java @@ -0,0 +1,69 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdAllocateAssetDetailsDto implements Vo { + + @ApiModelProperty("固定资产") + private FormCommon assetObj; + + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid + @ApiModelProperty("固定资产ID") + private String goodsID; // 固定资产ID + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("固定资产情况说明") + private String goodsShows; // 固定资产情况说明 + @ApiModelProperty("固定资产净值") + private String goodsWorth; // 固定资产净值 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.java new file mode 100644 index 0000000000..2dd6383aad --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.java @@ -0,0 +1,41 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Select; + +import java.util.List; + +@Mapper +public interface AdAllocateAssetDetailsMapper extends BaseMapper { + + @Select("select * from ad_allocate_asset_details where mainSid = #{mainSid}") + List selectByMainSid(String mainSid); + + List getUpdateInit(String sid); +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.xml b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.xml new file mode 100644 index 0000000000..aeb72a56cf --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsMapper.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsService.java new file mode 100644 index 0000000000..78e0a04828 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsService.java @@ -0,0 +1,83 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.base.service.MybatisBaseService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; +import java.util.Map; + +@Service +public class AdAllocateAssetDetailsService extends MybatisBaseService { + + public void saveDetails(List list, String sid) { + //根据sid查询明细并删除 + List list2 = baseMapper.selectByMainSid(sid); + list2.removeAll(Collections.singleton(null)); + if (!list2.isEmpty()) { + list2.stream().forEach(v -> { + deleteBySid(v.getSid()); + }); + } + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + list.stream().forEach(details -> { + AdAllocateAssetDetails adAllocateAssetDetails = new AdAllocateAssetDetails(); + BeanUtil.copyProperties(details, adAllocateAssetDetails); + adAllocateAssetDetails.setMainSid(sid); + FormCommon assetObj = details.getAssetObj(); + adAllocateAssetDetails.setGoodsID(assetObj.getDictValue()); + adAllocateAssetDetails.setInventorySid(assetObj.getId()); + Map extra = assetObj.getExtra(); + if (null != extra) { + for (Map.Entry entry : extra.entrySet()) { + if (StringUtils.isNotBlank((String)entry.getValue())) { + if (entry.getKey().equals("goodsSpuName")) { + adAllocateAssetDetails.setGoodsSpuName((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSkuOwnSpec")) { + adAllocateAssetDetails.setGoodsSkuOwnSpec((String)entry.getValue()); + } + if (entry.getKey().equals("goodsSkuCode")) { + adAllocateAssetDetails.setGoodsSkuCode((String)entry.getValue()); + } + } + } + } + baseMapper.insert(adAllocateAssetDetails); + }); + } + } + + public List getUpdateInit(String sid) { + return baseMapper.getUpdateInit(sid); + } +} \ No newline at end of file diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java new file mode 100644 index 0000000000..8c33cca9e4 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetDetailsVo.java @@ -0,0 +1,71 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + + +import com.yxt.anrui.oa.biz.oaform.FormCommon; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdAllocateAssetDetailsVo implements Vo { + + private String sid; + + @ApiModelProperty("固定资产") + private FormCommon assetObj; + + @ApiModelProperty("库存sid") + private String inventorySid; // 库存sid + @ApiModelProperty("固定资产ID") + private String goodsID; // 固定资产ID + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("固定资产情况说明") + private String goodsShows; // 固定资产情况说明 + @ApiModelProperty("固定资产净值") + private String goodsWorth; // 固定资产净值 +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java new file mode 100644 index 0000000000..58eac57988 --- /dev/null +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adallocateassetdetails/AdAllocateAssetListDetailsVo.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.oa.biz.adallocateassetdetails; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-oa(认定人员)
+ * File: AdExpatriatesDetailVo.java
+ * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
+ * Description: 驻外人员认定列表 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2025-01-20 15:35:08
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "固定资产列表 视图数据对象", description = "固定资产列表 视图数据对象") +public class AdAllocateAssetListDetailsVo implements Vo { + + private String sid; + + @ApiModelProperty("固定资产ID") + private String goodsID; // 固定资产ID + @ApiModelProperty("固定资产编号") + private String goodsSkuCode; // 固定资产编号 + @ApiModelProperty("固定资产名称") + private String goodsSpuName; // 固定资产名称 + @ApiModelProperty("规格型号") + private String goodsSkuOwnSpec; // 规格型号 + @ApiModelProperty("固定资产情况说明") + private String goodsShows; // 固定资产情况说明 + @ApiModelProperty("固定资产净值") + private String goodsWorth; // 固定资产净值 + +} diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java index 4fbb99cdad..2366914700 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetapply/AdPurchaseAssetApplyService.java @@ -92,7 +92,7 @@ public class AdPurchaseAssetApplyService extends MybatisBaseService { FormCommon assetObj = new FormCommon(); - assetObj.setId(details.getSid()); + assetObj.setId(details.getGoodsSpuSid()); assetObj.setDictValue(details.getGoodsSkuCode()); Map extra = new HashMap<>(); if (StringUtils.isNotBlank(details.getGoodsSpuName())) { @@ -147,8 +147,8 @@ public class AdPurchaseAssetApplyService extends MybatisBaseService details(String sid, String application) { ResultBean rb = ResultBean.fireFail(); - AdPurchaseAssetApplyDetailVo adExpatriatesApplyDetailVo = baseMapper.details(sid); - if (adExpatriatesApplyDetailVo == null) { + AdPurchaseAssetApplyDetailVo adPurchaseAssetApplyDetailVo = baseMapper.details(sid); + if (adPurchaseAssetApplyDetailVo == null) { return rb.setMsg("该申请不存在"); } List files = oaAppendixService.selectByLinkSid(sid, "图片"); List appes = oaAppendixService.selectByLinkSid(sid, "文件"); - adExpatriatesApplyDetailVo.setFiles(files); - adExpatriatesApplyDetailVo.setAppes(appes); + adPurchaseAssetApplyDetailVo.setFiles(files); + adPurchaseAssetApplyDetailVo.setAppes(appes); //基础字段赋值 - BeanUtil.copyProperties(oaFormService.getDetails(sid), adExpatriatesApplyDetailVo); - return rb.success().setData(adExpatriatesApplyDetailVo); + BeanUtil.copyProperties(oaFormService.getDetails(sid), adPurchaseAssetApplyDetailVo); + return rb.success().setData(adPurchaseAssetApplyDetailVo); } /** diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java index cfd7fb201a..cee50dae43 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsDto.java @@ -33,14 +33,6 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** - * Project: yxt-oa(认定人员)
- * File: AdExpatriatesDetailVo.java
- * Class: com.yxt.anrui.oa.api.adexpatriatesdetail.AdExpatriatesDetailVo
- * Description: 驻外人员认定列表 视图数据对象.
- * Copyright: Copyright (c) 2011
- * Company: https://gitee.com/liuzp315
- * Makedate: 2025-01-20 15:35:08
- * * @author liupopo * @version 1.0 * @since 1.0 @@ -67,4 +59,7 @@ public class AdPurchaseAssetDetailsDto implements Vo { private String estimateCount; // 预计采购数量 @ApiModelProperty("预计采购金额") private String estimateMoney; // 预计采购金额 + + + } diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java index 12e8416ef6..127dc3fe38 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/biz/adpurchaseassetdetails/AdPurchaseAssetDetailsService.java @@ -57,8 +57,6 @@ public class AdPurchaseAssetDetailsService extends MybatisBaseService extra = assetObj.getExtra(); - adPurchaseAssetDetails.setGoodsSpuSid(assetObj.getId()); - adPurchaseAssetDetails.setGoodsSkuCode(assetObj.getDictValue()); if (null != extra) { for (Map.Entry entry : extra.entrySet()) { if (StringUtils.isNotBlank((String)entry.getValue())) { diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java index 7c0f46ed7d..226eab521c 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/file/OaFileEnum.java @@ -11,6 +11,8 @@ public enum OaFileEnum { OAMENDAPPLY("002", "补卡申请附件"), ADEXPATRIATESAPPLY("003", "驻外人员认定附件"), HIHIREAPPLY("004", "招聘需求附件"), + ADPURCHASEASSETAPPLY("005", "固定资产采购附件"), + ADALLOCATEASSETAPPLY("006", "固定资产调拨附件"), ; diff --git a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java index 9684e40d69..b721f78691 100644 --- a/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java +++ b/yxt-oa/src/main/java/com/yxt/anrui/oa/feign/flowable/flow/ProcDefEnum.java @@ -13,6 +13,8 @@ public enum ProcDefEnum { BGYPLYAPPLY("办公用品领用", ""), GDZCCG_GS_APPLY("公司固定资产采购申请", ""), GDZCCG_ZX_APPLY("中心固定资产采购申请", ""), + GDZCDB_GS_APPLY("公司固定资产调拨申请", ""), + GDZCDB_ZX_APPLY("中心固定资产调拨申请", ""), ; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index 2237414f09..c822e2ad13 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -57,6 +57,9 @@ public class WmsInventoryRest { @PostMapping("/listPage") public ResultBean> listPage(@RequestBody PagerQuery pq) { ResultBean> rb = ResultBean.fireFail(); + WmsInventoryQuery params = pq.getParams(); + params.setType("配件库"); + pq.setParams(params); PagerVo pv = wmsInventoryService.listPage(pq); return rb.success().setData(pv); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index 48dc8e6f93..63c408455a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -125,13 +125,12 @@ public class WmsInventoryService extends MybatisBaseService" + query.getDateAge()); } if (StringUtils.isNotBlank(query.getType())) { - if (query.getType().equals("拆件库")) { - qw.eq("i.warehouseTypeValue", "拆件库"); - } + qw.eq("i.warehouseTypeValue", query.getType()); } + qw.notLike("a.goodsID","-O"); IPage page = PagerUtil.queryToPage(pq); IPage pagging = baseMapper.listPage(page, qw); PagerVo p = PagerUtil.pageToVo(pagging, null); From 0e51c0f422d48ac81c32d52169c70fdb388abd2c Mon Sep 17 00:00:00 2001 From: fanzongzhe0036 Date: Wed, 12 Feb 2025 17:12:40 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BA=93=E5=AD=98?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=AF=BC=E5=87=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiadmin/inventroy/WmsInventoryRest.java | 1 + .../wmsinventory/WmsInventoryMapper.xml | 24 ++++++++++++++++--- .../wmsinventory/WmsInventoryService.java | 7 +++--- 3 files changed, 25 insertions(+), 7 deletions(-) diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java index 49c6d10c2f..e2ddd0d1fe 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java @@ -125,6 +125,7 @@ public class WmsInventoryRest { @ApiOperation(value = "导出") public void exportExcel(@RequestBody WmsInventoryQuery query) { //得到所有要导出的数据 + query.setType("配件库"); List exportVoList = wmsInventoryService.listExcel(query); //定义导出的excel名字 String excelName = "库存列表"; diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml index 183ac3a17d..2c8a21c73c 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml @@ -131,10 +131,28 @@