parent
af431517e2
commit
08e2f81f3c
@ -0,0 +1,116 @@
|
|||||||
|
package com.glxp.api.admin.controller.inventory;
|
||||||
|
|
||||||
|
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
|
||||||
|
import com.glxp.api.admin.req.inout.DeleteRequest;
|
||||||
|
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
|
||||||
|
import com.glxp.api.admin.res.inventory.InvWarehouseResponse;
|
||||||
|
import com.glxp.api.admin.service.inventory.InvWarehouseService;
|
||||||
|
import com.glxp.api.common.enums.ResultEnum;
|
||||||
|
import com.glxp.api.common.res.BaseResponse;
|
||||||
|
import com.glxp.api.common.util.ResultVOUtils;
|
||||||
|
import org.springframework.beans.BeanUtils;
|
||||||
|
import org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.PostMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@RestController
|
||||||
|
public class InvWarehouseController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
InvWarehouseService invWarehouseService;
|
||||||
|
|
||||||
|
@GetMapping("spms/inv/warehouse/filter")
|
||||||
|
public BaseResponse filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) {
|
||||||
|
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
List<InvWarehouseResponse> merge = merge(invWarehouseEntities, 0);
|
||||||
|
|
||||||
|
Map<String, Object> restMap = new HashMap<>();
|
||||||
|
restMap.put("list", merge);
|
||||||
|
return ResultVOUtils.success(restMap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("spms/inv/warehouse/filterAll")
|
||||||
|
public BaseResponse filterAllInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) {
|
||||||
|
filterInvWarehouseRequest.setPid(0);
|
||||||
|
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseService.filterInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
return ResultVOUtils.success(invWarehouseEntities);
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<InvWarehouseResponse> merge(List<InvWarehouseEntity> invWarehouseEntities,
|
||||||
|
Integer pid) {
|
||||||
|
List<InvWarehouseResponse> invWarehouseResponses = new ArrayList<>();
|
||||||
|
for (InvWarehouseEntity invWarehouseEntity : invWarehouseEntities) {
|
||||||
|
InvWarehouseResponse invWarehouseResponse = new InvWarehouseResponse();
|
||||||
|
BeanUtils.copyProperties(invWarehouseEntity, invWarehouseResponse);
|
||||||
|
if (pid.equals(invWarehouseEntity.getPid())) {
|
||||||
|
invWarehouseResponse.setChildren(merge(invWarehouseEntities, invWarehouseEntity.getId()));
|
||||||
|
invWarehouseResponses.add(invWarehouseResponse);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return invWarehouseResponses;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/spms/inv/warehouse/save")
|
||||||
|
public BaseResponse save(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity,
|
||||||
|
BindingResult bindingResult) {
|
||||||
|
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (invWarehouseEntity.getPid() == null) {
|
||||||
|
invWarehouseEntity.setPid(0); // 默认设置
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean b = invWarehouseService.insertInvWarehouse(invWarehouseEntity);
|
||||||
|
if (!b) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultVOUtils.success("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/spms/inv/warehouse/edit")
|
||||||
|
public BaseResponse edit(@RequestBody @Valid InvWarehouseEntity invWarehouseEntity,
|
||||||
|
BindingResult bindingResult) {
|
||||||
|
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
||||||
|
}
|
||||||
|
if (invWarehouseEntity.getId() == null) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
invWarehouseEntity.setPid(null); // 不能修改父级 pid
|
||||||
|
boolean b = invWarehouseService.updateInvWarehouse(invWarehouseEntity);
|
||||||
|
if (!b) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/spms/inv/warehouse/delete")
|
||||||
|
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
|
||||||
|
|
||||||
|
if (deleteRequest.getId() == null) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
boolean b = invWarehouseService.deleteById(deleteRequest.getId());
|
||||||
|
if (!b) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
||||||
|
}
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.glxp.api.admin.dao.inventory;
|
||||||
|
|
||||||
|
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
|
||||||
|
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface InvWarehouseDao {
|
||||||
|
|
||||||
|
List<InvWarehouseEntity> filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest);
|
||||||
|
|
||||||
|
List<InvWarehouseEntity> filterGroupInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest);
|
||||||
|
|
||||||
|
boolean insertInvWarehouse(InvWarehouseEntity InvWarehouseEntity);
|
||||||
|
|
||||||
|
boolean updateInvWarehouse(InvWarehouseEntity InvWarehouseEntity);
|
||||||
|
|
||||||
|
InvWarehouseEntity selectById(@Param("id") String id);
|
||||||
|
|
||||||
|
boolean deleteById(@Param("id") String id);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,22 @@
|
|||||||
|
package com.glxp.api.admin.entity.inventory;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class InvWarehouseEntity {
|
||||||
|
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
private Integer pid;
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
private Boolean advanceType;
|
||||||
|
private Boolean isDefault;
|
||||||
|
private Integer status;
|
||||||
|
private Date updateTime;
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
package com.glxp.api.admin.req.inventory;
|
||||||
|
|
||||||
|
import com.glxp.api.admin.req.ListPageRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class FilterInvWarehouseRequest extends ListPageRequest {
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
private Integer pid;
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
private Boolean advanceType;
|
||||||
|
private Boolean isDefault;
|
||||||
|
private Date updateTime;
|
||||||
|
private String key;
|
||||||
|
}
|
@ -0,0 +1,24 @@
|
|||||||
|
package com.glxp.api.admin.res.inventory;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class InvWarehouseResponse {
|
||||||
|
|
||||||
|
|
||||||
|
private Integer id;
|
||||||
|
private Integer pid;
|
||||||
|
private String code;
|
||||||
|
private String name;
|
||||||
|
private Boolean advanceType;
|
||||||
|
private Boolean isDefault;
|
||||||
|
private Integer status;
|
||||||
|
private Date updateTime;
|
||||||
|
private String remark;
|
||||||
|
|
||||||
|
private List<InvWarehouseResponse> children;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.glxp.api.admin.service.inventory;
|
||||||
|
|
||||||
|
|
||||||
|
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
|
||||||
|
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface InvWarehouseService {
|
||||||
|
|
||||||
|
|
||||||
|
InvWarehouseEntity findDefault(Boolean advaceType, Boolean isDefault);
|
||||||
|
|
||||||
|
List<InvWarehouseEntity> filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest);
|
||||||
|
|
||||||
|
List<InvWarehouseEntity> filterGroupInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest);
|
||||||
|
|
||||||
|
boolean insertInvWarehouse(InvWarehouseEntity invWarehouseEntity);
|
||||||
|
|
||||||
|
boolean updateInvWarehouse(InvWarehouseEntity invWarehouseEntity);
|
||||||
|
|
||||||
|
InvWarehouseEntity selectById(String id);
|
||||||
|
|
||||||
|
InvWarehouseEntity selectByCode(String code);
|
||||||
|
|
||||||
|
boolean deleteById(String id);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,88 @@
|
|||||||
|
package com.glxp.api.admin.service.inventory.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
import com.glxp.api.admin.dao.inventory.InvWarehouseDao;
|
||||||
|
import com.glxp.api.admin.entity.inventory.InvWarehouseEntity;
|
||||||
|
import com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest;
|
||||||
|
import com.glxp.api.admin.service.inventory.InvWarehouseService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Service
|
||||||
|
public class InvWarehouseServiceImpl implements InvWarehouseService {
|
||||||
|
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
InvWarehouseDao invWarehouseDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InvWarehouseEntity findDefault(Boolean advaceType, Boolean isDefault) {
|
||||||
|
|
||||||
|
FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
|
||||||
|
filterInvWarehouseRequest.setIsDefault(isDefault);
|
||||||
|
filterInvWarehouseRequest.setAdvanceType(advaceType);
|
||||||
|
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseDao.filterInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
if (invWarehouseEntities != null && invWarehouseEntities.size() > 0)
|
||||||
|
return invWarehouseEntities.get(0);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InvWarehouseEntity> filterInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) {
|
||||||
|
if (filterInvWarehouseRequest == null) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (filterInvWarehouseRequest.getPage() != null) {
|
||||||
|
int offset = (filterInvWarehouseRequest.getPage() - 1) * filterInvWarehouseRequest.getLimit();
|
||||||
|
PageHelper.offsetPage(offset, filterInvWarehouseRequest.getLimit());
|
||||||
|
}
|
||||||
|
List<InvWarehouseEntity> data = invWarehouseDao.filterInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InvWarehouseEntity> filterGroupInvWarehouse(FilterInvWarehouseRequest filterInvWarehouseRequest) {
|
||||||
|
if (filterInvWarehouseRequest == null) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (filterInvWarehouseRequest.getPage() != null) {
|
||||||
|
int offset = (filterInvWarehouseRequest.getPage() - 1) * filterInvWarehouseRequest.getLimit();
|
||||||
|
PageHelper.offsetPage(offset, filterInvWarehouseRequest.getLimit());
|
||||||
|
}
|
||||||
|
List<InvWarehouseEntity> data = invWarehouseDao.filterGroupInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean insertInvWarehouse(InvWarehouseEntity invWarehouseEntity) {
|
||||||
|
return invWarehouseDao.insertInvWarehouse(invWarehouseEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateInvWarehouse(InvWarehouseEntity invWarehouseEntity) {
|
||||||
|
return invWarehouseDao.updateInvWarehouse(invWarehouseEntity);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InvWarehouseEntity selectById(String id) {
|
||||||
|
return invWarehouseDao.selectById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public InvWarehouseEntity selectByCode(String code) {
|
||||||
|
FilterInvWarehouseRequest filterInvWarehouseRequest = new FilterInvWarehouseRequest();
|
||||||
|
filterInvWarehouseRequest.setCode(code);
|
||||||
|
List<InvWarehouseEntity> invWarehouseEntities = invWarehouseDao.filterInvWarehouse(filterInvWarehouseRequest);
|
||||||
|
if (invWarehouseEntities != null && invWarehouseEntities.size() > 0)
|
||||||
|
return invWarehouseEntities.get(0);
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteById(String id) {
|
||||||
|
return invWarehouseDao.deleteById(id);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,102 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
|
||||||
|
<mapper namespace="com.glxp.api.admin.dao.inventory.InvWarehouseDao">
|
||||||
|
|
||||||
|
<select id="filterInvWarehouse" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest"
|
||||||
|
resultType="com.glxp.api.admin.entity.inventory.InvWarehouseEntity">
|
||||||
|
SELECT * FROM inv_warehouse
|
||||||
|
<where>
|
||||||
|
<if test="id != '' and id != null">
|
||||||
|
AND id = #{id}
|
||||||
|
</if>
|
||||||
|
<if test="pid != '' and pid != null">
|
||||||
|
AND pid = #{pid}
|
||||||
|
</if>
|
||||||
|
<if test="code != '' and code != null">
|
||||||
|
AND code = #{code}
|
||||||
|
</if>
|
||||||
|
<if test="name != '' and name != null">
|
||||||
|
AND name = #{name}
|
||||||
|
</if>
|
||||||
|
<if test=" advanceType != null">
|
||||||
|
AND advanceType = #{advanceType}
|
||||||
|
</if>
|
||||||
|
<if test="isDefault != null">
|
||||||
|
AND isDefault = #{isDefault}
|
||||||
|
</if>
|
||||||
|
<if test="key != null">
|
||||||
|
and code like concat('%',#{key},'%') or `name` like concat('%',#{key},'%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectById" parameterType="Map"
|
||||||
|
resultType="com.glxp.api.admin.entity.inventory.InvWarehouseEntity">
|
||||||
|
SELECT *
|
||||||
|
FROM inv_warehouse
|
||||||
|
WHERE id = #{id}
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
|
|
||||||
|
<select id="filterGroupInvWarehouse" parameterType="com.glxp.api.admin.req.inventory.FilterInvWarehouseRequest"
|
||||||
|
resultType="com.glxp.api.admin.res.inventory.InvProductResponse">
|
||||||
|
SELECT * FROM inv_warehouse
|
||||||
|
<where>
|
||||||
|
<if test="id != '' and id != null">
|
||||||
|
AND id = #{id}
|
||||||
|
</if>
|
||||||
|
<if test="pid != '' and pid != null">
|
||||||
|
AND pid = #{pid}
|
||||||
|
</if>
|
||||||
|
<if test="code != '' and code != null">
|
||||||
|
AND code = #{code}
|
||||||
|
</if>
|
||||||
|
<if test="name != '' and name != null">
|
||||||
|
AND name = #{name}
|
||||||
|
</if>
|
||||||
|
<if test="advanceType != '' and advanceType != null">
|
||||||
|
AND advanceType = #{advanceType}
|
||||||
|
</if>
|
||||||
|
<if test="isDefault != '' and isDefault != null">
|
||||||
|
AND isDefault = #{isDefault}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
|
||||||
|
</select>
|
||||||
|
<insert id="insertInvWarehouse" keyProperty="id"
|
||||||
|
parameterType="com.glxp.api.admin.entity.inventory.InvWarehouseEntity">
|
||||||
|
insert INTO inv_warehouse
|
||||||
|
(pid, code, name, advanceType, isDefault,
|
||||||
|
status, updateTime, remark)
|
||||||
|
values (#{pid}, #{code},
|
||||||
|
#{name}, #{advanceType}, #{isDefault},
|
||||||
|
#{status}, #{updateTime},
|
||||||
|
#{remark})
|
||||||
|
</insert>
|
||||||
|
|
||||||
|
|
||||||
|
<delete id="deleteById" parameterType="Map">
|
||||||
|
DELETE
|
||||||
|
FROM inv_warehouse
|
||||||
|
WHERE id = #{id}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<update id="updateInvWarehouse" parameterType="com.glxp.api.admin.entity.inventory.InvWarehouseEntity">
|
||||||
|
UPDATE inv_warehouse
|
||||||
|
<trim prefix="set" suffixOverrides=",">
|
||||||
|
<if test="pid != null">pid=#{pid},</if>
|
||||||
|
<if test="name != null">name=#{name},</if>
|
||||||
|
<if test="code != null">code=#{code},</if>
|
||||||
|
<if test="advanceType != null">advanceType=#{advanceType},</if>
|
||||||
|
<if test="isDefault != null">isDefault=#{isDefault},</if>
|
||||||
|
<if test="status != null">status=#{status},</if>
|
||||||
|
<if test="updateTime != null">updateTime=#{updateTime},</if>
|
||||||
|
<if test="remark != null">remark=#{remark},</if>
|
||||||
|
</trim>
|
||||||
|
WHERE id = #{id}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue