From 6d96c40e0669bd59a3fd960daf18a1d14b659893 Mon Sep 17 00:00:00 2001 From: liejiu946 Date: Fri, 1 Nov 2024 15:21:00 +0800 Subject: [PATCH] =?UTF-8?q?opt:=20=E4=BB=93=E5=BA=93=E5=9F=BA=E7=A1=80->?= =?UTF-8?q?=E4=BB=93=E5=BA=93=E6=9D=83=E9=99=90=20Mybatis=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basedata/st/rest/UserStorController.java | 118 +++--- .../basedata/st/service/UserStorService.java | 100 ++--- .../st/service/impl/UserStorServiceImpl.java | 398 +++++++++--------- .../controller/UserStorController.java | 60 +++ .../st/userstor/service/UserStorService.java | 54 +++ .../st/userstor/service/dao/UserStor.java | 24 ++ .../service/dao/mapper/UserStorMapper.java | 18 + .../service/dao/mapper/UserStorMapper.xml | 19 + .../st/userstor/service/dto/UserStorDto.java | 17 + .../service/impl/UserStorServiceImpl.java | 203 +++++++++ 10 files changed, 703 insertions(+), 308 deletions(-) create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/controller/UserStorController.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/UserStorService.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/UserStor.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.xml create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dto/UserStorDto.java create mode 100644 lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/impl/UserStorServiceImpl.java diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/UserStorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/UserStorController.java index a5cefb8..bb5dd9d 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/UserStorController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/rest/UserStorController.java @@ -1,59 +1,59 @@ -package org.nl.wms.basedata.st.rest; - -import com.alibaba.fastjson.JSONObject; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.modules.logging.annotation.Log; -import org.nl.wms.basedata.st.service.UserStorService; -import org.springframework.data.domain.Pageable; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; - -import java.util.Map; - -@RestController -@RequiredArgsConstructor - -@RequestMapping("/api/userStor") -@Slf4j -public class UserStorController { - private final UserStorService userStorService; - - @GetMapping - @Log("查询用户信息") - - public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { - return new ResponseEntity<>(userStorService.pageQuery(whereJson, page), HttpStatus.OK); - } - - @PostMapping("/queryUserStor") - @Log("查询用户对应仓库") - - public ResponseEntity queryUserStor(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(userStorService.queryUserStor(whereJson), HttpStatus.OK); - } - - @PostMapping("/save") - @Log("保存用户仓库信息") - - public ResponseEntity save(@RequestBody JSONObject whereJson) { - userStorService.save(whereJson); - return new ResponseEntity<>(HttpStatus.OK); - } - - @PostMapping("/getUserStor") - @Log("获取人员对应下拉框-普通下拉框") - - public ResponseEntity getUserStor() { - return new ResponseEntity<>(userStorService.getUserStor(), HttpStatus.OK); - } - - @PostMapping("/getSect") - @Log("获取人员对应下拉框-多级下拉框") - - public ResponseEntity getSect(@RequestBody JSONObject whereJson) { - return new ResponseEntity<>(userStorService.getSect(whereJson), HttpStatus.OK); - } - -} +//package org.nl.wms.basedata.st.rest; +// +//import com.alibaba.fastjson.JSONObject; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.modules.logging.annotation.Log; +//import org.nl.wms.basedata.st.service.UserStorService; +//import org.springframework.data.domain.Pageable; +//import org.springframework.http.HttpStatus; +//import org.springframework.http.ResponseEntity; +//import org.springframework.web.bind.annotation.*; +// +//import java.util.Map; +// +//@RestController +//@RequiredArgsConstructor +// +//@RequestMapping("/api/userStor") +//@Slf4j +//public class UserStorController { +// private final UserStorService userStorService; +// +// @GetMapping +// @Log("查询用户信息") +// +// public ResponseEntity query(@RequestParam Map whereJson, Pageable page) { +// return new ResponseEntity<>(userStorService.pageQuery(whereJson, page), HttpStatus.OK); +// } +// +// @PostMapping("/queryUserStor") +// @Log("查询用户对应仓库") +// +// public ResponseEntity queryUserStor(@RequestBody JSONObject whereJson) { +// return new ResponseEntity<>(userStorService.queryUserStor(whereJson), HttpStatus.OK); +// } +// +// @PostMapping("/save") +// @Log("保存用户仓库信息") +// +// public ResponseEntity save(@RequestBody JSONObject whereJson) { +// userStorService.save(whereJson); +// return new ResponseEntity<>(HttpStatus.OK); +// } +// +// @PostMapping("/getUserStor") +// @Log("获取人员对应下拉框-普通下拉框") +// +// public ResponseEntity getUserStor() { +// return new ResponseEntity<>(userStorService.getUserStor(), HttpStatus.OK); +// } +// +// @PostMapping("/getSect") +// @Log("获取人员对应下拉框-多级下拉框") +// +// public ResponseEntity getSect(@RequestBody JSONObject whereJson) { +// return new ResponseEntity<>(userStorService.getSect(whereJson), HttpStatus.OK); +// } +// +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/UserStorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/UserStorService.java index 8500b6e..6ee0b92 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/UserStorService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/UserStorService.java @@ -1,50 +1,50 @@ -package org.nl.wms.basedata.st.service; - -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import org.nl.wms.basedata.st.storattr.service.dao.Storattr; -import org.springframework.data.domain.Pageable; - -import java.util.List; -import java.util.Map; - -public interface UserStorService { - /** - * 查询数据分页 - * - * @param whereJson 条件 - * @param page 分页参数 - * @return Map - */ - Map pageQuery(Map whereJson, Pageable page); - - /** - * 查询用户对应仓库 - * - * @param whereJson / - */ - JSONArray queryUserStor(JSONObject whereJson); - - /** - * 保存 - * - * @param whereJson / - */ - void save(JSONObject whereJson); - - /** - * 获取人员对应下拉框 普通下拉框 - */ - List getUserStor(); - - /** - * 获取人员对应下拉框 多级下拉框 - */ - JSONObject getSect(JSONObject whereJson); - - /** - * 新,获取用户下所有仓库List - * @return - */ - List getUserStorInStor(); -} +//package org.nl.wms.basedata.st.service; +// +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import org.nl.wms.basedata.st.storattr.service.dao.Storattr; +//import org.springframework.data.domain.Pageable; +// +//import java.util.List; +//import java.util.Map; +// +//public interface UserStorService { +// /** +// * 查询数据分页 +// * +// * @param whereJson 条件 +// * @param page 分页参数 +// * @return Map +// */ +// Map pageQuery(Map whereJson, Pageable page); +// +// /** +// * 查询用户对应仓库 +// * +// * @param whereJson / +// */ +// JSONArray queryUserStor(JSONObject whereJson); +// +// /** +// * 保存 +// * +// * @param whereJson / +// */ +// void save(JSONObject whereJson); +// +// /** +// * 获取人员对应下拉框 普通下拉框 +// */ +// List getUserStor(); +// +// /** +// * 获取人员对应下拉框 多级下拉框 +// */ +// JSONObject getSect(JSONObject whereJson); +// +// /** +// * 新,获取用户下所有仓库List +// * @return +// */ +// List getUserStorInStor(); +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java index d219e70..9608e98 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/service/impl/UserStorServiceImpl.java @@ -1,199 +1,199 @@ -package org.nl.wms.basedata.st.service.impl; - -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONArray; -import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.nl.common.utils.SecurityUtils; -import org.nl.modules.wql.WQL; -import org.nl.modules.wql.core.bean.WQLObject; -import org.nl.modules.wql.util.WqlUtil; -import org.nl.wms.basedata.st.service.UserStorService; -import org.nl.wms.basedata.st.storattr.service.dao.Storattr; -import org.nl.wms.basedata.st.storattr.service.dao.mapper.StorattrMapper; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.domain.Pageable; -import org.springframework.stereotype.Service; -import java.util.*; - -/** - * PC端出入库新增 - */ -@Service -@RequiredArgsConstructor -@Slf4j -public class UserStorServiceImpl implements UserStorService { - @Autowired - private StorattrMapper storattrMapper; - @Override - public Map pageQuery(Map whereJson, Pageable page) { - HashMap map = new HashMap<>(whereJson); - map.put("flag", "3"); - if (StrUtil.isNotEmpty(map.get("blurry"))) { - map.put("blurry", "%" + map.get("blurry") + "%"); - } - JSONObject jo = WQL.getWO("QST_STOR_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "username desc"); - return jo; - } - - @Override - public JSONArray queryUserStor(JSONObject whereJson) { - String user_id = whereJson.getString("user_id"); - JSONArray rows = WQLObject.getWQLObject("st_ivt_userstor").query("user_id = '" + user_id + "'").getResultJSONArray(0); - return rows; - } - - @Override - public void save(JSONObject whereJson) { - JSONObject jo = whereJson.getJSONObject("jo"); - JSONArray rows = whereJson.getJSONArray("rows"); - - String user_id = jo.getString("user_id"); - - WQLObject.getWQLObject("st_ivt_userstor").delete("user_id ='" + user_id + "'"); - for (int i = 0; i < rows.size(); i++) { - JSONObject row = rows.getJSONObject(i); - String stor_id = row.getString("stor_id"); - JSONObject user_stor = new JSONObject(); - user_stor.put("stor_id", stor_id); - user_stor.put("user_id", user_id); - WQLObject.getWQLObject("st_ivt_userstor").insert(user_stor); - } - } - - @Override - public List getUserStor() { - /* - * 获取人员对应仓库下拉框公共方法 普通下拉框 - */ - String currentUserId = SecurityUtils.getCurrentUserId(); - - WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); - - JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); - // 将仓库id拼成字符串 - Set set = new HashSet<>(); - for (int i = 0; i < userStorArr.size(); i++) { - JSONObject json = userStorArr.getJSONObject(i); - set.add(json.getString("stor_id")); - } - - // 查询仓库下拉框 - List resultJSONArray = new ArrayList(); - if (set.size()>0) { - resultJSONArray =storattrMapper.selectList( Wrappers.lambdaQuery(Storattr.class) - .eq(Storattr::getIs_delete, "0") - .eq(Storattr::getIs_used, "1").in(Storattr::getStor_id,set) - ); - } - return resultJSONArray; - } - - @Override - public JSONObject getSect(JSONObject whereJson) { - /* - * 获取人员对应仓库下拉框公共方法 多级下拉框 - */ - JSONArray new_ja = new JSONArray(); - HashMap stor_map = new HashMap<>(); - stor_map.put("flag", "2"); - stor_map.put("stor_id", whereJson.getString("stor_id")); - - //获取人员对应的仓库 - String in_stor_id = this.getInStor(); - if (ObjectUtil.isNotEmpty(in_stor_id)) { - stor_map.put("in_stor_id", in_stor_id); - } - - JSONArray stor_ja = WQL.getWO("QST_STOR_ATTR").addParamMap(stor_map).process().getResultJSONArray(0); - for (int i = 0; i < stor_ja.size(); i++) { - JSONObject stor_jo = stor_ja.getJSONObject(i); - JSONObject stor_cas = new JSONObject(); - stor_cas.put("value", stor_jo.getString("stor_id")); - stor_cas.put("label", stor_jo.getString("stor_name")); - HashMap map = new HashMap<>(); - map.put("flag", "2"); - map.put("stor_id", stor_jo.getString("stor_id")); - JSONArray ja = WQL.getWO("QST_SECT_ATTR").addParamMap(map).process().getResultJSONArray(0); - if (ja.size() > 0) { - JSONArray sect_ja = new JSONArray(); - for (int j = 0; j < ja.size(); j++) { - JSONObject sect_jo = ja.getJSONObject(j); - JSONObject sect_cas = new JSONObject(); - sect_cas.put("value", sect_jo.getString("sect_id")); - sect_cas.put("label", sect_jo.getString("sect_name")); - sect_ja.add(sect_cas); - } - stor_cas.put("children", sect_ja); - } - new_ja.add(stor_cas); - } - JSONObject jo = new JSONObject(); - jo.put("content", new_ja); - return jo; - } - - - @Override - public List getUserStorInStor() { - /* - * 获取人员对应仓库下拉框公共方法 普通下拉框 - */ - String currentUserId = SecurityUtils.getCurrentUserId(); - - WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); - - JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); - // 将仓库id拼成字符串 - List set = new ArrayList<>(); - for (int i = 0; i < userStorArr.size(); i++) { - JSONObject json = userStorArr.getJSONObject(i); - set.add(json.getString("stor_id")); - } - return set; - } - /** - * 获取仓库拼接公共方法 - * - * @return in_stor_id / - */ - public String getInStor() { - String currentUserId = SecurityUtils.getCurrentUserId().toString(); - WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); - - JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); - int size = userStorArr.size(); - // 将仓库id拼成字符串 - String in_stor_id = ""; - - for (int i = 0; i < userStorArr.size(); i++) { - JSONObject json = userStorArr.getJSONObject(i); - - if (size == 1) { - // 如果只有一条记录 - in_stor_id = "('" + json.getString("stor_id") + "')"; - } else { - if (i == 0) { - // 第一条记录拼接 - in_stor_id = "('" + json.getString("stor_id") + "','"; - } else { - if ((size - 1) == i) { - // 最后一条记录拼接 - in_stor_id += json.getString("stor_id") + "')"; - } else { - in_stor_id += json.getString("stor_id") + "','"; - } - } - } - } - - if (ObjectUtil.isEmpty(in_stor_id)) { - in_stor_id = "('')"; - } - return in_stor_id; - } - -} +//package org.nl.wms.basedata.st.service.impl; +// +//import cn.hutool.core.util.ObjectUtil; +//import cn.hutool.core.util.StrUtil; +//import com.alibaba.fastjson.JSONArray; +//import com.alibaba.fastjson.JSONObject; +//import com.baomidou.mybatisplus.core.toolkit.Wrappers; +//import lombok.RequiredArgsConstructor; +//import lombok.extern.slf4j.Slf4j; +//import org.nl.common.utils.SecurityUtils; +//import org.nl.modules.wql.WQL; +//import org.nl.modules.wql.core.bean.WQLObject; +//import org.nl.modules.wql.util.WqlUtil; +//import org.nl.wms.basedata.st.service.UserStorService; +//import org.nl.wms.basedata.st.storattr.service.dao.Storattr; +//import org.nl.wms.basedata.st.storattr.service.dao.mapper.StorattrMapper; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.data.domain.Pageable; +//import org.springframework.stereotype.Service; +//import java.util.*; +// +///** +// * PC端出入库新增 +// */ +//@Service +//@RequiredArgsConstructor +//@Slf4j +//public class UserStorServiceImpl implements UserStorService { +// @Autowired +// private StorattrMapper storattrMapper; +// @Override +// public Map pageQuery(Map whereJson, Pageable page) { +// HashMap map = new HashMap<>(whereJson); +// map.put("flag", "3"); +// if (StrUtil.isNotEmpty(map.get("blurry"))) { +// map.put("blurry", "%" + map.get("blurry") + "%"); +// } +// JSONObject jo = WQL.getWO("QST_STOR_ATTR").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "username desc"); +// return jo; +// } +// +// @Override +// public JSONArray queryUserStor(JSONObject whereJson) { +// String user_id = whereJson.getString("user_id"); +// JSONArray rows = WQLObject.getWQLObject("st_ivt_userstor").query("user_id = '" + user_id + "'").getResultJSONArray(0); +// return rows; +// } +// +// @Override +// public void save(JSONObject whereJson) { +// JSONObject jo = whereJson.getJSONObject("jo"); +// JSONArray rows = whereJson.getJSONArray("rows"); +// +// String user_id = jo.getString("user_id"); +// +// WQLObject.getWQLObject("st_ivt_userstor").delete("user_id ='" + user_id + "'"); +// for (int i = 0; i < rows.size(); i++) { +// JSONObject row = rows.getJSONObject(i); +// String stor_id = row.getString("stor_id"); +// JSONObject user_stor = new JSONObject(); +// user_stor.put("stor_id", stor_id); +// user_stor.put("user_id", user_id); +// WQLObject.getWQLObject("st_ivt_userstor").insert(user_stor); +// } +// } +// +// @Override +// public List getUserStor() { +// /* +// * 获取人员对应仓库下拉框公共方法 普通下拉框 +// */ +// String currentUserId = SecurityUtils.getCurrentUserId(); +// +// WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); +// +// JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); +// // 将仓库id拼成字符串 +// Set set = new HashSet<>(); +// for (int i = 0; i < userStorArr.size(); i++) { +// JSONObject json = userStorArr.getJSONObject(i); +// set.add(json.getString("stor_id")); +// } +// +// // 查询仓库下拉框 +// List resultJSONArray = new ArrayList(); +// if (set.size()>0) { +// resultJSONArray =storattrMapper.selectList( Wrappers.lambdaQuery(Storattr.class) +// .eq(Storattr::getIs_delete, "0") +// .eq(Storattr::getIs_used, "1").in(Storattr::getStor_id,set) +// ); +// } +// return resultJSONArray; +// } +// +// @Override +// public JSONObject getSect(JSONObject whereJson) { +// /* +// * 获取人员对应仓库下拉框公共方法 多级下拉框 +// */ +// JSONArray new_ja = new JSONArray(); +// HashMap stor_map = new HashMap<>(); +// stor_map.put("flag", "2"); +// stor_map.put("stor_id", whereJson.getString("stor_id")); +// +// //获取人员对应的仓库 +// String in_stor_id = this.getInStor(); +// if (ObjectUtil.isNotEmpty(in_stor_id)) { +// stor_map.put("in_stor_id", in_stor_id); +// } +// +// JSONArray stor_ja = WQL.getWO("QST_STOR_ATTR").addParamMap(stor_map).process().getResultJSONArray(0); +// for (int i = 0; i < stor_ja.size(); i++) { +// JSONObject stor_jo = stor_ja.getJSONObject(i); +// JSONObject stor_cas = new JSONObject(); +// stor_cas.put("value", stor_jo.getString("stor_id")); +// stor_cas.put("label", stor_jo.getString("stor_name")); +// HashMap map = new HashMap<>(); +// map.put("flag", "2"); +// map.put("stor_id", stor_jo.getString("stor_id")); +// JSONArray ja = WQL.getWO("QST_SECT_ATTR").addParamMap(map).process().getResultJSONArray(0); +// if (ja.size() > 0) { +// JSONArray sect_ja = new JSONArray(); +// for (int j = 0; j < ja.size(); j++) { +// JSONObject sect_jo = ja.getJSONObject(j); +// JSONObject sect_cas = new JSONObject(); +// sect_cas.put("value", sect_jo.getString("sect_id")); +// sect_cas.put("label", sect_jo.getString("sect_name")); +// sect_ja.add(sect_cas); +// } +// stor_cas.put("children", sect_ja); +// } +// new_ja.add(stor_cas); +// } +// JSONObject jo = new JSONObject(); +// jo.put("content", new_ja); +// return jo; +// } +// +// +// @Override +// public List getUserStorInStor() { +// /* +// * 获取人员对应仓库下拉框公共方法 普通下拉框 +// */ +// String currentUserId = SecurityUtils.getCurrentUserId(); +// +// WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); +// +// JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); +// // 将仓库id拼成字符串 +// List set = new ArrayList<>(); +// for (int i = 0; i < userStorArr.size(); i++) { +// JSONObject json = userStorArr.getJSONObject(i); +// set.add(json.getString("stor_id")); +// } +// return set; +// } +// /** +// * 获取仓库拼接公共方法 +// * +// * @return in_stor_id / +// */ +// public String getInStor() { +// String currentUserId = SecurityUtils.getCurrentUserId().toString(); +// WQLObject userStorTab = WQLObject.getWQLObject("st_ivt_userstor"); +// +// JSONArray userStorArr = userStorTab.query("user_id = '" + currentUserId + "'").getResultJSONArray(0); +// int size = userStorArr.size(); +// // 将仓库id拼成字符串 +// String in_stor_id = ""; +// +// for (int i = 0; i < userStorArr.size(); i++) { +// JSONObject json = userStorArr.getJSONObject(i); +// +// if (size == 1) { +// // 如果只有一条记录 +// in_stor_id = "('" + json.getString("stor_id") + "')"; +// } else { +// if (i == 0) { +// // 第一条记录拼接 +// in_stor_id = "('" + json.getString("stor_id") + "','"; +// } else { +// if ((size - 1) == i) { +// // 最后一条记录拼接 +// in_stor_id += json.getString("stor_id") + "')"; +// } else { +// in_stor_id += json.getString("stor_id") + "','"; +// } +// } +// } +// } +// +// if (ObjectUtil.isEmpty(in_stor_id)) { +// in_stor_id = "('')"; +// } +// return in_stor_id; +// } +// +//} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/controller/UserStorController.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/controller/UserStorController.java new file mode 100644 index 0000000..68e449c --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/controller/UserStorController.java @@ -0,0 +1,60 @@ +package org.nl.wms.basedata.st.userstor.controller; + +import com.alibaba.fastjson.JSONObject; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.nl.common.domain.query.PageQuery; +import org.nl.modules.logging.annotation.Log; +import org.nl.wms.basedata.st.userstor.service.UserStorService; +import org.springframework.data.domain.Pageable; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + +@RestController +@RequiredArgsConstructor + +@RequestMapping("/api/userStor") +@Slf4j +public class UserStorController { + private final UserStorService userStorService; + + @GetMapping + @Log("查询用户信息") + + public ResponseEntity query(@RequestParam Map whereJson, PageQuery page) { + return new ResponseEntity<>(userStorService.pageQuery(whereJson, page), HttpStatus.OK); + } + + @PostMapping("/queryUserStor") + @Log("查询用户对应仓库") + + public ResponseEntity queryUserStor(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(userStorService.queryUserStor(whereJson), HttpStatus.OK); + } + + @PostMapping("/save") + @Log("保存用户仓库信息") + + public ResponseEntity save(@RequestBody JSONObject whereJson) { + userStorService.save(whereJson); + return new ResponseEntity<>(HttpStatus.OK); + } + + @PostMapping("/getUserStor") + @Log("获取人员对应下拉框-普通下拉框") + + public ResponseEntity getUserStor() { + return new ResponseEntity<>(userStorService.getUserStor(), HttpStatus.OK); + } + + @PostMapping("/getSect") + @Log("获取人员对应下拉框-多级下拉框") + + public ResponseEntity getSect(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(userStorService.getSect(whereJson), HttpStatus.OK); + } + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/UserStorService.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/UserStorService.java new file mode 100644 index 0000000..8e22f89 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/UserStorService.java @@ -0,0 +1,54 @@ +package org.nl.wms.basedata.st.userstor.service; + +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.extension.service.IService; +import org.nl.common.domain.query.PageQuery; +import org.nl.wms.basedata.st.storattr.service.dao.Storattr; +import org.nl.wms.basedata.st.userstor.service.dao.UserStor; +import org.nl.wms.basedata.st.userstor.service.dto.UserStorDto; +import org.springframework.data.domain.Pageable; + +import java.util.List; +import java.util.Map; + +public interface UserStorService extends IService { + /** + * 查询数据分页 + * + * @param whereJson 条件 + * @param page 分页参数 + * @return Map + */ + Map pageQuery(Map whereJson, PageQuery page); + + /** + * 查询用户对应仓库 + * + * @param whereJson / + */ + List queryUserStor(JSONObject whereJson); + + /** + * 保存 + * + * @param whereJson / + */ + void save(JSONObject whereJson); + + /** + * 获取人员对应下拉框 普通下拉框 + */ + List getUserStor(); + + /** + * 获取人员对应下拉框 多级下拉框 + */ + JSONObject getSect(JSONObject whereJson); + + /** + * 新,获取用户下所有仓库List + * @return + */ + List getUserStorInStor(); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/UserStor.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/UserStor.java new file mode 100644 index 0000000..59205b2 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/UserStor.java @@ -0,0 +1,24 @@ +package org.nl.wms.basedata.st.userstor.service.dao; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.nl.common.base.BaseDTO; +import org.nl.system.service.user.dao.SysUser; + +import java.io.Serializable; + +@Data +@TableName("st_ivt_userstor") +public class UserStor implements Serializable { + + /** + * 防止精度丢失 + */ + @JsonSerialize(using = ToStringSerializer.class) + private Long stor_id; + + private Long user_id; + +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.java new file mode 100644 index 0000000..df8d75f --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.java @@ -0,0 +1,18 @@ +package org.nl.wms.basedata.st.userstor.service.dao.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.nl.wms.basedata.st.userstor.service.dao.UserStor; +import org.nl.wms.basedata.st.userstor.service.dto.UserStorDto; + +@Mapper +public interface UserStorMapper extends BaseMapper { + /** + * 分页查询 + * @param blurry + * @return + */ + IPage pageQuery(@Param("blurry") String blurry, @Param("page") IPage page); +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.xml b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.xml new file mode 100644 index 0000000..40fba30 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dao/mapper/UserStorMapper.xml @@ -0,0 +1,19 @@ + + + + + + + diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dto/UserStorDto.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dto/UserStorDto.java new file mode 100644 index 0000000..d5a7bb5 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/dto/UserStorDto.java @@ -0,0 +1,17 @@ +package org.nl.wms.basedata.st.userstor.service.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.Data; +import org.nl.system.service.user.dao.SysUser; + +import java.io.Serializable; + +@Data +public class UserStorDto extends SysUser implements Serializable { + /** + * 部门名称 + */ + private String name; +} diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/impl/UserStorServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/impl/UserStorServiceImpl.java new file mode 100644 index 0000000..d545e55 --- /dev/null +++ b/lms/nladmin-system/src/main/java/org/nl/wms/basedata/st/userstor/service/impl/UserStorServiceImpl.java @@ -0,0 +1,203 @@ +package org.nl.wms.basedata.st.userstor.service.impl; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.apache.catalina.User; +import org.nl.common.domain.query.PageQuery; +import org.nl.common.utils.SecurityUtils; +import org.nl.modules.wql.WQL; +import org.nl.modules.wql.core.bean.WQLObject; +import org.nl.modules.wql.util.WqlUtil; +import org.nl.system.service.user.dto.SysUserDetail; +import org.nl.wms.basedata.st.sectattr.service.SectattrService; +import org.nl.wms.basedata.st.sectattr.service.dao.Sectattr; +import org.nl.wms.basedata.st.sectattr.service.dao.mapper.SectattrMapper; +import org.nl.wms.basedata.st.storattr.service.dao.Storattr; +import org.nl.wms.basedata.st.storattr.service.dao.mapper.StorattrMapper; +import org.nl.wms.basedata.st.userstor.service.UserStorService; +import org.nl.wms.basedata.st.userstor.service.dao.UserStor; +import org.nl.wms.basedata.st.userstor.service.dao.mapper.UserStorMapper; +import org.nl.wms.basedata.st.userstor.service.dto.UserStorDto; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * PC端出入库新增 + */ +@Service +@RequiredArgsConstructor +@Slf4j +public class UserStorServiceImpl extends ServiceImpl implements UserStorService { + @Autowired + private StorattrMapper storattrMapper; + + @Autowired + private UserStorMapper userStorMapper; + + @Autowired + private SectattrMapper sectattrMapper; + + @Override + public Map pageQuery(Map whereJson, PageQuery page) { + HashMap map = new HashMap<>(whereJson); + IPage pages = new Page<>(page.getPage() + 1, page.getSize()); + IPage userStorList = userStorMapper.pageQuery(map.get("blurry"),pages); + JSONObject jsonObject = new JSONObject(); + jsonObject.put("totalElements", userStorList.getTotal()); + jsonObject.put("content", userStorList.getRecords()); + return jsonObject; + } + + @Override + public List queryUserStor(JSONObject whereJson) { + return userStorMapper.selectList(Wrappers.lambdaQuery(UserStor.class).eq(UserStor::getUser_id,whereJson.getString("user_id"))); + } + + @Override + public void save(JSONObject whereJson) { + JSONObject jo = whereJson.getJSONObject("jo"); + JSONArray rows = whereJson.getJSONArray("rows"); + + String user_id = jo.getString("user_id"); + + userStorMapper.delete(Wrappers.lambdaQuery(UserStor.class).eq(UserStor::getUser_id,user_id)); + + for (int i = 0; i < rows.size(); i++) { + JSONObject row = rows.getJSONObject(i); + String stor_id = row.getString("stor_id"); + UserStor userStor = new UserStor(); + userStor.setStor_id(Long.valueOf(stor_id)); + userStor.setUser_id(Long.valueOf(user_id)); + userStorMapper.insert(userStor); + } + } + + @Override + public List getUserStor() { + /* + * 获取人员对应仓库下拉框公共方法 普通下拉框 + */ + String currentUserId = SecurityUtils.getCurrentUserId(); + + List userStorArr = userStorMapper.selectList(Wrappers.lambdaQuery(UserStor.class).eq(UserStor::getUser_id,currentUserId)); + // 将仓库id拼成字符串 + Set set = userStorArr.stream().map(UserStor::getStor_id).collect(Collectors.toSet()); + // 查询仓库下拉框 + List resultJSONArray = new ArrayList(); + if (!set.isEmpty()) { + resultJSONArray =storattrMapper.selectList( Wrappers.lambdaQuery(Storattr.class) + .eq(Storattr::getIs_delete, "0") + .eq(Storattr::getIs_used, "1").in(Storattr::getStor_id,set) + ); + } + return resultJSONArray; + } + + @Override + public JSONObject getSect(JSONObject whereJson) { + /* + * 获取人员对应仓库下拉框公共方法 多级下拉框 + */ + JSONArray new_ja = new JSONArray(); + //获取人员对应的仓库 + List in_stor_id = this.getUserStorInStor(); + + List stor_ja = storattrMapper.selectList(Wrappers.lambdaQuery(Storattr.class) + .eq(Storattr::getIs_delete, "0") + .eq(Storattr::getIs_used, "1") + .eq(ObjectUtil.isNotEmpty(whereJson.getString("stor_id")),Storattr::getStor_id,whereJson.getString("stor_id")) + .in(ObjectUtil.isNotEmpty(in_stor_id),Storattr::getStor_id,in_stor_id)); + + for (Storattr stor_jo : stor_ja) { + JSONObject stor_cas = new JSONObject(); + stor_cas.put("value", stor_jo.getStor_id()); + stor_cas.put("label", stor_jo.getStor_name()); + List ja = sectattrMapper.selectList(Wrappers.lambdaQuery(Sectattr.class) + .apply("is_delete = {0} ", "0") + .eq(Sectattr::getIs_used, "1") + .eq(ObjectUtil.isNotEmpty(stor_jo.getStor_id()), Sectattr::getStor_id, stor_jo.getStor_id())); + if (!ja.isEmpty()) { + JSONArray sect_ja = new JSONArray(); + for (Sectattr sect_jo : ja) { + JSONObject sect_cas = new JSONObject(); + sect_cas.put("value", sect_jo.getSect_id()); + sect_cas.put("label", sect_jo.getSect_name()); + sect_ja.add(sect_cas); + } + stor_cas.put("children", sect_ja); + } + new_ja.add(stor_cas); + } + JSONObject jo = new JSONObject(); + jo.put("content", new_ja); + return jo; + } + + /** + * 获取仓库拼接公共方法 + * return List + */ + @Override + public List getUserStorInStor() { + /* + * 获取人员对应仓库下拉框公共方法 普通下拉框 + */ + String currentUserId = SecurityUtils.getCurrentUserId(); + return userStorMapper.selectList(Wrappers.lambdaQuery(UserStor.class).eq(UserStor::getUser_id,currentUserId)).stream() + .map(UserStor::getStor_id) + .collect(Collectors.toList()); + } + /** + * 获取仓库拼接公共方法 + * 应用于WQL中的 in函数,更改成MybatisPlus后可使用getUserStorInStor + * @return in_stor_id / + */ + public String getInStor() { + String currentUserId = SecurityUtils.getCurrentUserId(); + List userStorArr = userStorMapper.selectList(Wrappers.lambdaQuery(UserStor.class).eq(UserStor::getUser_id,currentUserId)); + + int size = userStorArr.size(); + // 将仓库id拼成字符串 + String in_stor_id = ""; + + for (int i = 0; i < userStorArr.size(); i++) { + UserStor json = userStorArr.get(i); + + if (size == 1) { + // 如果只有一条记录 + in_stor_id = "('" + json.getStor_id() + "')"; + } else { + if (i == 0) { + // 第一条记录拼接 + in_stor_id = "('" + json.getStor_id() + "','"; + } else { + if ((size - 1) == i) { + // 最后一条记录拼接 + in_stor_id += json.getStor_id() + "')"; + } else { + in_stor_id += json.getStor_id() + "','"; + } + } + } + } + + if (ObjectUtil.isEmpty(in_stor_id)) { + in_stor_id = "('')"; + } + return in_stor_id; + } + +}