11/5 增加货架功能,优化货位1.0
							parent
							
								
									605287e869
								
							
						
					
					
						commit
						efdc7cb70f
					
				| @ -0,0 +1,94 @@ | ||||
| package com.glxp.api.controller.auth; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
| import com.github.pagehelper.PageInfo; | ||||
| import com.glxp.api.common.res.BaseResponse; | ||||
| import com.glxp.api.common.util.ResultVOUtils; | ||||
| import com.glxp.api.controller.BaseController; | ||||
| import com.glxp.api.entity.basic.SysWorkplaceFreight; | ||||
| import com.glxp.api.entity.basic.SysWorkplaceQueue; | ||||
| import com.glxp.api.req.basic.SysWorkplaceFreightRequest; | ||||
| import com.glxp.api.req.basic.SysWorkplaceQueueRequest; | ||||
| import com.glxp.api.res.PageSimpleResponse; | ||||
| import com.glxp.api.res.basic.SysWorkplaceFreightResponse; | ||||
| import com.glxp.api.res.basic.SysWorkplaceQueueResponse; | ||||
| import com.glxp.api.service.basic.SysWorkplaceFreightService; | ||||
| import com.glxp.api.service.basic.SysWorkplaceQueueService; | ||||
| import lombok.extern.slf4j.Slf4j; | ||||
| 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 java.util.Date; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * @author : zhuzhu | ||||
|  * @date : 2024/11/5 9:51 | ||||
|  * @modyified By : | ||||
|  */ | ||||
| 
 | ||||
| 
 | ||||
| @Slf4j | ||||
| @RestController | ||||
| public class SysWorkplaceFreightController extends BaseController { | ||||
| 
 | ||||
|     @Resource | ||||
|     SysWorkplaceFreightService sysWorkplaceFreightService; | ||||
| 
 | ||||
| 
 | ||||
|     @GetMapping("/udiwms/WorkplaceFreight/createFreightCode") | ||||
|     public BaseResponse createFreightCode() { | ||||
|         String code = sysWorkplaceFreightService.createQueueCode(); | ||||
|         return ResultVOUtils.success(code); | ||||
|     } | ||||
| 
 | ||||
|     @PostMapping("/udiwms/WorkplaceFreight/addWorkplaceFreight") | ||||
|     public BaseResponse addWorkplaceFreight(@RequestBody SysWorkplaceFreight workplaceFreight) { | ||||
|         // 创建时间 更新时间
 | ||||
|         workplaceFreight.setCreateTime(new Date()); | ||||
|         workplaceFreight.setCreateUser(getUserId() + ""); | ||||
|         workplaceFreight.setUpdateUser(getUserId() + ""); | ||||
|         workplaceFreight.setUpdateTime(new Date()); | ||||
|         boolean save = sysWorkplaceFreightService.WorkplaceFreight(workplaceFreight); | ||||
|         if (!save) { | ||||
|             return ResultVOUtils.error("新增错误"); | ||||
|         } | ||||
|         return ResultVOUtils.success("新增成功"); | ||||
|     } | ||||
| 
 | ||||
|     @GetMapping("/udiwms/WorkplaceFreight/getPage") | ||||
|     public BaseResponse getWorkplaceFreights(SysWorkplaceFreightRequest request) { | ||||
|         List<SysWorkplaceFreightResponse> page = sysWorkplaceFreightService.filterList(request); | ||||
|         PageInfo<SysWorkplaceFreightResponse> pageInfo = new PageInfo<>(page); | ||||
|         PageSimpleResponse<SysWorkplaceFreightResponse> pageSimpleResponse = new PageSimpleResponse<>(); | ||||
|         pageSimpleResponse.setTotal(pageInfo.getTotal()); | ||||
|         pageSimpleResponse.setList(page); | ||||
|         return ResultVOUtils.success(pageSimpleResponse); | ||||
|     } | ||||
| 
 | ||||
|     @PostMapping("/udiwms/WorkplaceFreight/deleteById") | ||||
|     public BaseResponse deleteByIdWorkplaceFreight(@RequestBody SysWorkplaceFreight workplaceFreight) { | ||||
|         boolean save = sysWorkplaceFreightService.removeFreight(workplaceFreight); | ||||
|         if (!save) { | ||||
|             return ResultVOUtils.error("删除错误"); | ||||
|         } | ||||
|         return ResultVOUtils.success("删除成功"); | ||||
|     } | ||||
| 
 | ||||
|     @PostMapping("/udiwms/WorkplaceFreight/updateWorkplaceFreight") | ||||
|     public BaseResponse page(@RequestBody SysWorkplaceFreight workplaceFreight) { | ||||
|         workplaceFreight.setUpdateTime(new Date()); | ||||
|         workplaceFreight.setUpdateUser(getUserId() + ""); | ||||
|         boolean b = sysWorkplaceFreightService.updateById(workplaceFreight); | ||||
|         if (!b) { | ||||
|             return ResultVOUtils.error(500, "更新失败"); | ||||
|         } | ||||
|         return ResultVOUtils.success("更新成功"); | ||||
|     } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,17 @@ | ||||
| package com.glxp.api.dao.basic; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import com.glxp.api.entity.basic.SysWorkplaceFreight; | ||||
| import com.glxp.api.req.basic.SysWorkplaceFreightRequest; | ||||
| import com.glxp.api.res.basic.SysWorkplaceFreightResponse; | ||||
| import org.apache.ibatis.annotations.Mapper; | ||||
| 
 | ||||
| import java.util.List; | ||||
| 
 | ||||
| 
 | ||||
| @Mapper | ||||
| public interface SysWorkplaceFreightMapper extends BaseMapper<SysWorkplaceFreight> { | ||||
| 
 | ||||
| 
 | ||||
|     List<SysWorkplaceFreightResponse> filterList(SysWorkplaceFreightRequest request); | ||||
| } | ||||
| @ -0,0 +1,67 @@ | ||||
| package com.glxp.api.entity.basic; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | ||||
| import com.baomidou.mybatisplus.annotation.TableName; | ||||
| import io.swagger.annotations.ApiModel; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| import java.io.Serializable; | ||||
| import java.util.Date; | ||||
| 
 | ||||
| @ApiModel(description = "sys_workplace_freight") | ||||
| @Data | ||||
| @TableName(value = "sys_workplace_freight") | ||||
| public class SysWorkplaceFreight implements Serializable { | ||||
|     @TableId(value = "id", type = IdType.INPUT) | ||||
|     @ApiModelProperty(value = "") | ||||
|     private Integer id; | ||||
| 
 | ||||
|     /** | ||||
|      * 货架编码 | ||||
|      */ | ||||
|     @TableField(value = "code") | ||||
|     @ApiModelProperty(value = "货架编码") | ||||
|     private String code; | ||||
| 
 | ||||
|     /** | ||||
|      * 货架名称 | ||||
|      */ | ||||
|     @TableField(value = "`name`") | ||||
|     @ApiModelProperty(value = "货架名称") | ||||
|     private String name; | ||||
| 
 | ||||
|     /** | ||||
|      * 工位ID | ||||
|      */ | ||||
|     @TableField(value = "workPlaceIdFk") | ||||
|     @ApiModelProperty(value = "工位ID") | ||||
|     private Long workPlaceIdFk; | ||||
| 
 | ||||
|     /** | ||||
|      * 备注 | ||||
|      */ | ||||
|     @TableField(value = "remark") | ||||
|     @ApiModelProperty(value = "备注") | ||||
|     private String remark; | ||||
| 
 | ||||
|     @TableField(value = "createTime") | ||||
|     @ApiModelProperty(value = "") | ||||
|     private Date createTime; | ||||
| 
 | ||||
|     @TableField(value = "updateTime") | ||||
|     @ApiModelProperty(value = "") | ||||
|     private Date updateTime; | ||||
| 
 | ||||
|     @TableField(value = "`createUser`") | ||||
|     @ApiModelProperty(value = "") | ||||
|     private String createUser; | ||||
| 
 | ||||
|     @TableField(value = "updateUser") | ||||
|     @ApiModelProperty(value = "") | ||||
|     private String updateUser; | ||||
| 
 | ||||
|     private static final long serialVersionUID = 1L; | ||||
| } | ||||
| @ -0,0 +1,22 @@ | ||||
| package com.glxp.api.req.basic; | ||||
| 
 | ||||
| import com.glxp.api.util.page.ListPageRequest; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| /** | ||||
|  * @author : zhangsan | ||||
|  * @date : 2024/10/30 10:42 | ||||
|  * @modyified By : | ||||
|  */ | ||||
| 
 | ||||
| @Data | ||||
| public class SysWorkplaceFreightRequest extends ListPageRequest { | ||||
|     private String key; | ||||
| //    private String code;
 | ||||
| //    private String name;
 | ||||
|     private Long workPlaceIdFk; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,59 @@ | ||||
| package com.glxp.api.res.basic; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import io.swagger.annotations.ApiModelProperty; | ||||
| import lombok.Data; | ||||
| 
 | ||||
| import java.util.Date; | ||||
| 
 | ||||
| /** | ||||
|  * @author : zhuzhu | ||||
|  * @date : 2024/11/4 11:08 | ||||
|  * @modyified By : | ||||
|  */ | ||||
| 
 | ||||
| @Data | ||||
| public class SysWorkplaceFreightResponse { | ||||
|     private Integer id; | ||||
| 
 | ||||
|     /** | ||||
|      * 货位编码 | ||||
|      */ | ||||
|     private String code; | ||||
| 
 | ||||
|     /** | ||||
|      * 货位名称 | ||||
|      */ | ||||
|     private String name; | ||||
| 
 | ||||
|     /** | ||||
|      * 工位ID | ||||
|      */ | ||||
|     private Long workPlaceIdFk; | ||||
| 
 | ||||
|     /** | ||||
|      * 备注 | ||||
|      */ | ||||
|     private String remark; | ||||
| 
 | ||||
| 
 | ||||
|     private Date createTime; | ||||
| 
 | ||||
|     private Date updateTime; | ||||
| 
 | ||||
|     private String createUser; | ||||
| 
 | ||||
| 
 | ||||
|     private String updateUser; | ||||
| 
 | ||||
| 
 | ||||
|     /** | ||||
|      * 所属工位 | ||||
|      */ | ||||
|     private String workPlaceName; | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| } | ||||
| @ -0,0 +1,80 @@ | ||||
| package com.glxp.api.service.basic; | ||||
| 
 | ||||
| import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; | ||||
| import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; | ||||
| import com.github.pagehelper.PageHelper; | ||||
| import com.glxp.api.dao.basic.SysWorkplaceFreightMapper; | ||||
| import com.glxp.api.entity.basic.SysWorkplaceFreight; | ||||
| import com.glxp.api.entity.basic.SysWorkplaceQueue; | ||||
| import com.glxp.api.exception.JsonException; | ||||
| import com.glxp.api.req.basic.SysWorkplaceFreightRequest; | ||||
| import com.glxp.api.res.basic.SysWorkplaceFreightResponse; | ||||
| import org.springframework.stereotype.Service; | ||||
| 
 | ||||
| import javax.annotation.Resource; | ||||
| import java.util.Collections; | ||||
| import java.util.List; | ||||
| 
 | ||||
| /** | ||||
|  * @author : zhuzhu | ||||
|  * @date : 2024/11/5 9:52 | ||||
|  * @modyified By : | ||||
|  */ | ||||
| 
 | ||||
| @Service | ||||
| public class SysWorkplaceFreightService extends ServiceImpl<SysWorkplaceFreightMapper, SysWorkplaceFreight> { | ||||
| 
 | ||||
|     @Resource | ||||
|     private SysWorkplaceFreightMapper sysWorkplaceFreightMapper; | ||||
|     @Resource | ||||
|     private SysWorkplaceQueueService sysWorkplaceQueueService; | ||||
| 
 | ||||
|     public boolean WorkplaceFreight(SysWorkplaceFreight workplaceFreight) { | ||||
|         SysWorkplaceFreight sysWorkplaceFreight = sysWorkplaceFreightMapper.selectOne(new LambdaQueryWrapper<SysWorkplaceFreight>().eq(SysWorkplaceFreight::getName, workplaceFreight.getName())); | ||||
|         if (sysWorkplaceFreight != null) { | ||||
|             throw new JsonException(500, "货架名称重复"); | ||||
|         } | ||||
|         int insert = sysWorkplaceFreightMapper.insert(workplaceFreight); | ||||
|         if (insert == 0) { | ||||
|             return false; | ||||
|         } | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|     public List<SysWorkplaceFreightResponse> filterList(SysWorkplaceFreightRequest request) { | ||||
|         if (null == request) { | ||||
|             return Collections.emptyList(); | ||||
|         } | ||||
|         if (null != request.getPage() && null != request.getLimit()) { | ||||
|             PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit()); | ||||
|         } | ||||
|         return sysWorkplaceFreightMapper.filterList(request); | ||||
|     } | ||||
| 
 | ||||
|     public boolean removeFreight(SysWorkplaceFreight workplaceFreight) { | ||||
|         //如果有货位 是直接删除下面货位 还是不让删除
 | ||||
|         List<SysWorkplaceQueue> list = sysWorkplaceQueueService.list(new LambdaQueryWrapper<SysWorkplaceQueue>().eq(SysWorkplaceQueue::getFreightCode, workplaceFreight.getCode())); | ||||
|         if (list.size() > 0 ){ | ||||
|             throw new JsonException(500,"当前货架已有货位,请先移除货位!"); | ||||
|         } | ||||
|         int i = sysWorkplaceFreightMapper.deleteById(workplaceFreight); | ||||
|         return true; | ||||
|     } | ||||
| 
 | ||||
|     public String createQueueCode() { | ||||
|         String code; | ||||
|         SysWorkplaceFreight sysWorkplaceQueue = sysWorkplaceFreightMapper.selectOne(new LambdaQueryWrapper<SysWorkplaceFreight>().orderByDesc(SysWorkplaceFreight::getCode).last("LIMIT 1")); | ||||
|         if (sysWorkplaceQueue == null){ | ||||
|             //没有数据 新增
 | ||||
|             code = "DMQ00" + 1; | ||||
|         }else { | ||||
|             String code1 = sysWorkplaceQueue.getCode(); | ||||
|             String withoutDMQ = code1.replace("DMQ", ""); | ||||
|             Integer result = Integer.parseInt(withoutDMQ.trim()); | ||||
|             result += 1; | ||||
|             String sixDigitResult = String.format("%03d", result); | ||||
|             code = "DMQ" + sixDigitResult; | ||||
|         } | ||||
|         return code; | ||||
|     } | ||||
| } | ||||
| @ -0,0 +1,23 @@ | ||||
| <?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.dao.basic.SysWorkplaceFreightMapper"> | ||||
| 
 | ||||
| 
 | ||||
|     <select id="filterList" resultType="com.glxp.api.res.basic.SysWorkplaceFreightResponse"> | ||||
|         select swf.*, | ||||
|         sw.workplaceName  workPlaceName | ||||
|         from sys_workplace_freight swf | ||||
|         left join sys_workplace sw on sw.workplaceId = swf.workPlaceIdFk | ||||
|         <where> | ||||
|             <if test="key != null and key != ''"> | ||||
|                 AND ( | ||||
|                 swf.code like concat('%', #{key}, '%') | ||||
|                 or swf.name like concat('%', #{key}, '%') | ||||
|                 ) | ||||
|             </if> | ||||
|             <if test=" workPlaceIdFk != null and workPlaceIdFk != ''"> | ||||
|                 AND swf.workPlaceIdFk = #{workPlaceIdFk} | ||||
|             </if> | ||||
|         </where> | ||||
|     </select> | ||||
| </mapper> | ||||
					Loading…
					
					
				
		Reference in New Issue