给商品选择接口增加商品类别的查询条件
This commit is contained in:
@@ -152,7 +152,8 @@ public class MaterialController {
|
|||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@GetMapping(value = "/findBySelect")
|
@GetMapping(value = "/findBySelect")
|
||||||
public JSONObject findBySelect(@RequestParam(value = "q", required = false) String q,
|
public JSONObject findBySelect(@RequestParam(value = "categoryId", required = false) Long categoryId,
|
||||||
|
@RequestParam(value = "q", required = false) String q,
|
||||||
@RequestParam("mpList") String mpList,
|
@RequestParam("mpList") String mpList,
|
||||||
@RequestParam(value = "depotId", required = false) Long depotId,
|
@RequestParam(value = "depotId", required = false) Long depotId,
|
||||||
@RequestParam("page") Integer currentPage,
|
@RequestParam("page") Integer currentPage,
|
||||||
@@ -161,9 +162,9 @@ public class MaterialController {
|
|||||||
JSONObject object = new JSONObject();
|
JSONObject object = new JSONObject();
|
||||||
try {
|
try {
|
||||||
Long tenantId = Long.parseLong(request.getSession().getAttribute("tenantId").toString());
|
Long tenantId = Long.parseLong(request.getSession().getAttribute("tenantId").toString());
|
||||||
List<MaterialVo4Unit> dataList = materialService.findBySelectWithBarCode(q, (currentPage-1)*pageSize, pageSize);
|
List<MaterialVo4Unit> dataList = materialService.findBySelectWithBarCode(categoryId, q, (currentPage-1)*pageSize, pageSize);
|
||||||
String[] mpArr = mpList.split(",");
|
String[] mpArr = mpList.split(",");
|
||||||
int total = materialService.findBySelectWithBarCodeCount(q);
|
int total = materialService.findBySelectWithBarCodeCount(categoryId, q);
|
||||||
object.put("total", total);
|
object.put("total", total);
|
||||||
JSONArray dataArray = new JSONArray();
|
JSONArray dataArray = new JSONArray();
|
||||||
//存放数据json数组
|
//存放数据json数组
|
||||||
|
|||||||
@@ -37,4 +37,6 @@ public interface MaterialCategoryMapperEx {
|
|||||||
List<MaterialCategory> getMaterialCategoryBySerialNo(@Param("serialNo") String serialNo, @Param("id") Long id);
|
List<MaterialCategory> getMaterialCategoryBySerialNo(@Param("serialNo") String serialNo, @Param("id") Long id);
|
||||||
|
|
||||||
List<MaterialCategory> getMaterialCategoryListByCategoryIds(@Param("parentIds") String[] categoryIds);
|
List<MaterialCategory> getMaterialCategoryListByCategoryIds(@Param("parentIds") String[] categoryIds);
|
||||||
|
|
||||||
|
List<MaterialCategory> getListByParentId(Long parentId);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,11 +41,13 @@ public interface MaterialMapperEx {
|
|||||||
|
|
||||||
List<MaterialVo4Unit> findByIdWithBarCode(@Param("meId") Long meId);
|
List<MaterialVo4Unit> findByIdWithBarCode(@Param("meId") Long meId);
|
||||||
|
|
||||||
List<MaterialVo4Unit> findBySelectWithBarCode(@Param("q") String q,
|
List<MaterialVo4Unit> findBySelectWithBarCode(@Param("idList") List<Long> idList,
|
||||||
|
@Param("q") String q,
|
||||||
@Param("offset") Integer offset,
|
@Param("offset") Integer offset,
|
||||||
@Param("rows") Integer rows);
|
@Param("rows") Integer rows);
|
||||||
|
|
||||||
int findBySelectWithBarCodeCount(@Param("q") String q);
|
int findBySelectWithBarCodeCount(@Param("idList") List<Long> idList,
|
||||||
|
@Param("q") String q);
|
||||||
|
|
||||||
List<MaterialVo4Unit> findByAll(
|
List<MaterialVo4Unit> findByAll(
|
||||||
@Param("name") String name,
|
@Param("name") String name,
|
||||||
|
|||||||
@@ -46,6 +46,8 @@ public class MaterialService {
|
|||||||
@Resource
|
@Resource
|
||||||
private MaterialExtendMapperEx materialExtendMapperEx;
|
private MaterialExtendMapperEx materialExtendMapperEx;
|
||||||
@Resource
|
@Resource
|
||||||
|
private MaterialCategoryMapperEx materialCategoryMapperEx;
|
||||||
|
@Resource
|
||||||
private LogService logService;
|
private LogService logService;
|
||||||
@Resource
|
@Resource
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
@@ -338,26 +340,57 @@ public class MaterialService {
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<MaterialVo4Unit> findBySelectWithBarCode(String q,Integer offset, Integer rows)throws Exception{
|
public List<Long> getListByParentId(Long parentId) {
|
||||||
|
List<Long> idList = new ArrayList<Long>();
|
||||||
|
List<MaterialCategory> list = materialCategoryMapperEx.getListByParentId(parentId);
|
||||||
|
idList.add(parentId);
|
||||||
|
if(list!=null && list.size()>0) {
|
||||||
|
getIdListByParentId(idList, parentId);
|
||||||
|
}
|
||||||
|
return idList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Long> getIdListByParentId(List<Long> idList, Long parentId){
|
||||||
|
List<MaterialCategory> list = materialCategoryMapperEx.getListByParentId(parentId);
|
||||||
|
if(list!=null && list.size()>0) {
|
||||||
|
for(MaterialCategory mc : list){
|
||||||
|
idList.add(mc.getId());
|
||||||
|
getIdListByParentId(idList, mc.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return idList;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<MaterialVo4Unit> findBySelectWithBarCode(Long categoryId, String q, Integer offset, Integer rows)throws Exception{
|
||||||
List<MaterialVo4Unit> list =null;
|
List<MaterialVo4Unit> list =null;
|
||||||
try{
|
try{
|
||||||
|
List<Long> idList = new ArrayList<>();
|
||||||
|
if(categoryId!=null){
|
||||||
|
Long parentId = categoryId;
|
||||||
|
idList = getListByParentId(parentId);
|
||||||
|
}
|
||||||
if(StringUtil.isNotEmpty(q)) {
|
if(StringUtil.isNotEmpty(q)) {
|
||||||
q = q.replace("'", "");
|
q = q.replace("'", "");
|
||||||
}
|
}
|
||||||
list= materialMapperEx.findBySelectWithBarCode(q, offset, rows);
|
list= materialMapperEx.findBySelectWithBarCode(idList, q, offset, rows);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
JshException.readFail(logger, e);
|
JshException.readFail(logger, e);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int findBySelectWithBarCodeCount(String q)throws Exception{
|
public int findBySelectWithBarCodeCount(Long categoryId, String q)throws Exception{
|
||||||
int result=0;
|
int result=0;
|
||||||
try{
|
try{
|
||||||
|
List<Long> idList = new ArrayList<>();
|
||||||
|
if(categoryId!=null){
|
||||||
|
Long parentId = categoryId;
|
||||||
|
idList = getListByParentId(parentId);
|
||||||
|
}
|
||||||
if(StringUtil.isNotEmpty(q)) {
|
if(StringUtil.isNotEmpty(q)) {
|
||||||
q = q.replace("'", "");
|
q = q.replace("'", "");
|
||||||
}
|
}
|
||||||
result = materialMapperEx.findBySelectWithBarCodeCount(q);
|
result = materialMapperEx.findBySelectWithBarCodeCount(idList, q);
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
logger.error("异常码[{}],异常提示[{}],异常[{}]",
|
logger.error("异常码[{}],异常提示[{}],异常[{}]",
|
||||||
ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
|
ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
|
||||||
|
|||||||
@@ -46,6 +46,10 @@
|
|||||||
ofType="com.jsh.erp.datasource.vo.TreeNode" select="getNextNodeTree"/>
|
ofType="com.jsh.erp.datasource.vo.TreeNode" select="getNextNodeTree"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
<resultMap id="ResultCategoryMapList" type="com.jsh.erp.datasource.entities.MaterialCategory">
|
||||||
|
<result column="id" jdbcType="BIGINT" property="id" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id, name
|
id, name
|
||||||
</sql>
|
</sql>
|
||||||
@@ -123,4 +127,12 @@
|
|||||||
and ifnull(status,'0') !='2'
|
and ifnull(status,'0') !='2'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="getListByParentId" resultMap="ResultCategoryMapList">
|
||||||
|
SELECT id FROM jsh_material_category
|
||||||
|
where 1=1
|
||||||
|
<if test="parentId != null and parentId !=''">
|
||||||
|
and parent_id = #{parentId}
|
||||||
|
</if>
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -106,6 +106,12 @@
|
|||||||
<if test="q != null">
|
<if test="q != null">
|
||||||
and (m.name like '%${q}%' or me.bar_code like '%${q}%')
|
and (m.name like '%${q}%' or me.bar_code like '%${q}%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="idList.size()>0">
|
||||||
|
and m.category_id in
|
||||||
|
<foreach collection="idList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
and ifnull(m.delete_flag,'0') !='1'
|
and ifnull(m.delete_flag,'0') !='1'
|
||||||
ORDER BY id desc
|
ORDER BY id desc
|
||||||
<if test="offset != null and rows != null">
|
<if test="offset != null and rows != null">
|
||||||
@@ -121,6 +127,12 @@
|
|||||||
<if test="q != null">
|
<if test="q != null">
|
||||||
and (m.name like '%${q}%' or me.bar_code like '%${q}%')
|
and (m.name like '%${q}%' or me.bar_code like '%${q}%')
|
||||||
</if>
|
</if>
|
||||||
|
<if test="idList.size()>0">
|
||||||
|
and m.category_id in
|
||||||
|
<foreach collection="idList" item="item" index="index" separator="," open="(" close=")">
|
||||||
|
#{item}
|
||||||
|
</foreach>
|
||||||
|
</if>
|
||||||
and ifnull(m.delete_flag,'0') !='1'
|
and ifnull(m.delete_flag,'0') !='1'
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user