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'