Commit 305b5e72d5c69d06a1dfb7e7728cb95d24a83784

Authored by wangyanxiong
2 parents bb0fbc52 f8baeb6b

Merge branch 'develop' of http://172.16.29.40:8010/wms/wms2 into develop

Showing 28 changed files with 1344 additions and 17 deletions
src/main/java/com/huaheng/api/acs/controller/StateInfoUp.java 0 → 100644
  1 +package com.huaheng.api.acs.controller;
  2 +
  3 +import com.huaheng.api.acs.domain.StateInfoUploadModel;
  4 +import com.huaheng.api.acs.service.AcsService;
  5 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  6 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  7 +import com.huaheng.framework.web.controller.BaseController;
  8 +import com.huaheng.framework.web.domain.AjaxResult;
  9 +import io.swagger.annotations.Api;
  10 +import io.swagger.annotations.ApiOperation;
  11 +import org.springframework.web.bind.annotation.*;
  12 +
  13 +import javax.annotation.Resource;
  14 +
  15 +
  16 +@RestController
  17 +@RequestMapping("/api/ACS/v1")
  18 +@Api(tags = {"ACS"}, description = "登陆接口")
  19 +public class StateInfoUp extends BaseController {
  20 + @Resource
  21 + private AcsService acsService;
  22 +
  23 + /**
  24 + * AGV 信息上传
  25 + */
  26 +// @RequiresPermissions("api:acs:StateInfoUpload")
  27 + @Log(title = "AGV 信息上传", action = BusinessType.INSERT)
  28 + @PostMapping("/StateInfoUpload")
  29 + @ApiOperation("AGV 信息上传接口")
  30 + @ResponseBody
  31 + public AjaxResult StateInfoUpload(@RequestBody StateInfoUploadModel model)
  32 + {
  33 + return acsService.StateInfoUpload(model);
  34 + }
  35 +
  36 +}
... ...
src/main/java/com/huaheng/api/acs/controller/TaskConfirm.java 0 → 100644
  1 +package com.huaheng.api.acs.controller;
  2 +
  3 +import com.huaheng.api.acs.domain.AgvTask;
  4 +import com.huaheng.api.acs.service.AcsService;
  5 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  6 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  7 +import com.huaheng.framework.web.controller.BaseController;
  8 +import com.huaheng.framework.web.domain.AjaxResult;
  9 +import io.swagger.annotations.Api;
  10 +import io.swagger.annotations.ApiOperation;
  11 +import org.springframework.web.bind.annotation.*;
  12 +
  13 +import javax.annotation.Resource;
  14 +
  15 +
  16 +@RestController
  17 +@RequestMapping("/api/ACS/v1")
  18 +@Api(tags = {"ACS"}, description = "登陆接口")
  19 +public class TaskConfirm extends BaseController {
  20 + @Resource
  21 + private AcsService acsService;
  22 +
  23 + /**
  24 + * AGV 任务回传
  25 + */
  26 +// @RequiresPermissions("api:acs:TaskConfirm")
  27 + @Log(title = "AGV 任务回传", action = BusinessType.UPDATE)
  28 + @PostMapping("/TaskConfirm")
  29 + @ApiOperation("AGV 任务回传接口")
  30 + @ResponseBody
  31 + public AjaxResult TaskConfirm(@RequestBody AgvTask model)
  32 + {
  33 + return acsService.TaskConfirm(model);
  34 + }
  35 +
  36 +
  37 +}
... ...
src/main/java/com/huaheng/api/acs/domain/AgvTask.java 0 → 100644
  1 +package com.huaheng.api.acs.domain;
  2 +
  3 +import com.huaheng.framework.web.domain.BaseEntity;
  4 +
  5 +import java.util.Date;
  6 +import java.util.List;
  7 +
  8 +/**
  9 + * AGV任务实体
  10 + *
  11 + */
  12 +public class AgvTask extends BaseEntity {
  13 +
  14 +
  15 + private Integer id;
  16 + //交互标识
  17 + private String interactionId;
  18 + //任务头标识
  19 + private Integer taskHeaderId;
  20 + //任务子标识
  21 + private Integer taskDetailId;
  22 + //任务类型
  23 + private String taskType;
  24 + //货架编码
  25 + private String shelfNo;
  26 + //站台编码
  27 + private String station;
  28 + //源位置编码
  29 + private String fromLocationNo;
  30 + //目的位置编码
  31 + private String toLocationNo;
  32 + //方向
  33 + private String orientation;
  34 + //平台
  35 + private String platform;
  36 + //小车编号
  37 + private String carNo;
  38 + //状态
  39 + private String state;
  40 + //优先级
  41 + private Integer status;
  42 + //仓库ID
  43 + private Integer warehouseId;
  44 + //仓库编码
  45 + private String warehouseCode;
  46 + //货主ID
  47 + private Integer companyId;
  48 + //货主编码
  49 + private String companyCode;
  50 + //货主ID list
  51 + private List<Integer> companyIdList;
  52 + //货主list
  53 + private List<String> companyCodeList;
  54 +
  55 + private Date date;
  56 +
  57 + public Date getDate() {
  58 + return date;
  59 + }
  60 +
  61 + public void setDate(Date date) {
  62 + this.date = date;
  63 + }
  64 +
  65 + public List<Integer> getCompanyIdList() {
  66 + return companyIdList;
  67 + }
  68 +
  69 + public void setCompanyIdList(List<Integer> companyIdList) {
  70 + this.companyIdList = companyIdList;
  71 + }
  72 +
  73 + public Integer getWarehouseId() {
  74 + return warehouseId;
  75 + }
  76 +
  77 + public void setWarehouseId(Integer warehouseId) {
  78 + this.warehouseId = warehouseId;
  79 + }
  80 +
  81 + public String getWarehouseCode() {
  82 + return warehouseCode;
  83 + }
  84 +
  85 + public void setWarehouseCode(String warehouseCode) {
  86 + this.warehouseCode = warehouseCode;
  87 + }
  88 +
  89 + public Integer getCompanyId() {
  90 + return companyId;
  91 + }
  92 +
  93 + public void setCompanyId(Integer companyId) {
  94 + this.companyId = companyId;
  95 + }
  96 +
  97 + public String getCompanyCode() {
  98 + return companyCode;
  99 + }
  100 +
  101 + public void setCompanyCode(String companyCode) {
  102 + this.companyCode = companyCode;
  103 + }
  104 +
  105 + public List<String> getCompanyCodeList() {
  106 + return companyCodeList;
  107 + }
  108 +
  109 + public void setCompanyCodeList(List<String> companyCodeList) {
  110 + this.companyCodeList = companyCodeList;
  111 + }
  112 +
  113 + public Integer getId() {
  114 + return id;
  115 + }
  116 +
  117 + public void setId(Integer id) {
  118 + this.id = id;
  119 + }
  120 +
  121 + public String getInteractionId() {
  122 + return interactionId;
  123 + }
  124 +
  125 + public void setInteractionId(String interactionId) {
  126 + this.interactionId = interactionId;
  127 + }
  128 +
  129 + public Integer getTaskHeaderId() {
  130 + return taskHeaderId;
  131 + }
  132 +
  133 + public void setTaskHeaderId(Integer taskHeaderId) {
  134 + this.taskHeaderId = taskHeaderId;
  135 + }
  136 +
  137 + public Integer getTaskDetailId() {
  138 + return taskDetailId;
  139 + }
  140 +
  141 + public void setTaskDetailId(Integer taskDetailId) {
  142 + this.taskDetailId = taskDetailId;
  143 + }
  144 +
  145 + public String getTaskType() {
  146 + return taskType;
  147 + }
  148 +
  149 + public void setTaskType(String taskType) {
  150 + this.taskType = taskType;
  151 + }
  152 +
  153 + public String getShelfNo() {
  154 + return shelfNo;
  155 + }
  156 +
  157 + public void setShelfNo(String shelfNo) {
  158 + this.shelfNo = shelfNo;
  159 + }
  160 +
  161 + public String getStation() {
  162 + return station;
  163 + }
  164 +
  165 + public void setStation(String station) {
  166 + this.station = station;
  167 + }
  168 +
  169 + public String getFromLocationNo() {
  170 + return fromLocationNo;
  171 + }
  172 +
  173 + public void setFromLocationNo(String fromLocationNo) {
  174 + this.fromLocationNo = fromLocationNo;
  175 + }
  176 +
  177 + public String getToLocationNo() {
  178 + return toLocationNo;
  179 + }
  180 +
  181 + public void setToLocationNo(String toLocationNo) {
  182 + this.toLocationNo = toLocationNo;
  183 + }
  184 +
  185 + public String getOrientation() {
  186 + return orientation;
  187 + }
  188 +
  189 + public void setOrientation(String orientation) {
  190 + this.orientation = orientation;
  191 + }
  192 +
  193 + public String getPlatform() {
  194 + return platform;
  195 + }
  196 +
  197 + public void setPlatform(String platform) {
  198 + this.platform = platform;
  199 + }
  200 +
  201 + public String getCarNo() {
  202 + return carNo;
  203 + }
  204 +
  205 + public void setCarNo(String carNo) {
  206 + this.carNo = carNo;
  207 + }
  208 +
  209 + public String getState() {
  210 + return state;
  211 + }
  212 +
  213 + public void setState(String state) {
  214 + this.state = state;
  215 + }
  216 +
  217 + public Integer getStatus() {
  218 + return status;
  219 + }
  220 +
  221 + public void setStatus(Integer status) {
  222 + this.status = status;
  223 + }
  224 +
  225 + @Override
  226 + public String toString() {
  227 + return "AgvTask{" +
  228 + "id=" + id +
  229 + ", interactionId='" + interactionId + '\'' +
  230 + ", taskHeaderId=" + taskHeaderId +
  231 + ", taskDetailId=" + taskDetailId +
  232 + ", taskType='" + taskType + '\'' +
  233 + ", shelfNo='" + shelfNo + '\'' +
  234 + ", station='" + station + '\'' +
  235 + ", fromLocationNo='" + fromLocationNo + '\'' +
  236 + ", toLocationNo='" + toLocationNo + '\'' +
  237 + ", orientation='" + orientation + '\'' +
  238 + ", platform='" + platform + '\'' +
  239 + ", carNo='" + carNo + '\'' +
  240 + ", state='" + state + '\'' +
  241 + '}';
  242 + }
  243 +}
... ...
src/main/java/com/huaheng/api/acs/domain/StateInfoUploadModel.java 0 → 100644
  1 +package com.huaheng.api.acs.domain;
  2 +
  3 +import java.util.Date;
  4 +
  5 +/**
  6 + * 小车信息实体
  7 + *
  8 + */
  9 +public class StateInfoUploadModel {
  10 +
  11 + private String carNo; // 小车编号,string(50),唯一 ,必填
  12 + private String interactionId; // 交互标识,int,默认 0,必填"
  13 + private String taskType; // 任务类型,string (50),putway 上架 pick 拣货,必填
  14 + private String shelfNo; // 货架编码,string (50),默认 0,必填
  15 + private String station; // 站台编码,string (50),默认 0,必填
  16 + private String currentLocationNo; // 当前位置编码,string (50),默认 0 必填
  17 + private String fromLocationNo; // 源位置编码,string (50),默认 0 必填
  18 + private String toLocationNo; // 目的位置编码,string (50),默认 0 必填
  19 + private String orientation; // 方向,string (50),N,S,E,W,必填
  20 + private Integer percentCapacity; // 电量,int【0-100】,必填
  21 + private Integer exceptionFlag; // 异常标志 0 正常 1 异常,int,默认 0 必填
  22 + private String state; // 状态,string (50),0 空闲 1 预定 2 任务中 -1 充电,必填
  23 + private String exceptionInfo; // 异常信息 string(200)
  24 + //仓库ID
  25 + private Integer warehouseId;
  26 + //仓库编码
  27 + private String warehouseCode;
  28 +
  29 + private Date date;
  30 +
  31 + public Date getDate() {
  32 + return date;
  33 + }
  34 +
  35 + public void setDate(Date date) {
  36 + this.date = date;
  37 + }
  38 +
  39 + public Integer getWarehouseId() {
  40 + return warehouseId;
  41 + }
  42 +
  43 + public void setWarehouseId(Integer warehouseId) {
  44 + this.warehouseId = warehouseId;
  45 + }
  46 +
  47 + public String getWarehouseCode() {
  48 + return warehouseCode;
  49 + }
  50 +
  51 + public void setWarehouseCode(String warehouseCode) {
  52 + this.warehouseCode = warehouseCode;
  53 + }
  54 +
  55 + public String getCarNo() {
  56 + return carNo;
  57 + }
  58 +
  59 + public void setCarNo(String carNo) {
  60 + this.carNo = carNo;
  61 + }
  62 +
  63 + public String getInteractionId() {
  64 + return interactionId;
  65 + }
  66 +
  67 + public void setInteractionId(String interactionId) {
  68 + this.interactionId = interactionId;
  69 + }
  70 +
  71 + public String getTaskType() {
  72 + return taskType;
  73 + }
  74 +
  75 + public void setTaskType(String taskType) {
  76 + this.taskType = taskType;
  77 + }
  78 +
  79 + public String getShelfNo() {
  80 + return shelfNo;
  81 + }
  82 +
  83 + public void setShelfNo(String shelfNo) {
  84 + this.shelfNo = shelfNo;
  85 + }
  86 +
  87 + public String getStation() {
  88 + return station;
  89 + }
  90 +
  91 + public void setStation(String station) {
  92 + this.station = station;
  93 + }
  94 +
  95 + public String getCurrentLocationNo() {
  96 + return currentLocationNo;
  97 + }
  98 +
  99 + public void setCurrentLocationNo(String currentLocationNo) {
  100 + this.currentLocationNo = currentLocationNo;
  101 + }
  102 +
  103 + public String getFromLocationNo() {
  104 + return fromLocationNo;
  105 + }
  106 +
  107 + public void setFromLocationNo(String fromLocationNo) {
  108 + this.fromLocationNo = fromLocationNo;
  109 + }
  110 +
  111 + public String getToLocationNo() {
  112 + return toLocationNo;
  113 + }
  114 +
  115 + public void setToLocationNo(String toLocationNo) {
  116 + this.toLocationNo = toLocationNo;
  117 + }
  118 +
  119 + public String getOrientation() {
  120 + return orientation;
  121 + }
  122 +
  123 + public void setOrientation(String orientation) {
  124 + this.orientation = orientation;
  125 + }
  126 +
  127 + public Integer getPercentCapacity() {
  128 + return percentCapacity;
  129 + }
  130 +
  131 + public void setPercentCapacity(Integer percentCapacity) {
  132 + this.percentCapacity = percentCapacity;
  133 + }
  134 +
  135 + public Integer getExceptionFlag() {
  136 + return exceptionFlag;
  137 + }
  138 +
  139 + public void setExceptionFlag(Integer exceptionFlag) {
  140 + this.exceptionFlag = exceptionFlag;
  141 + }
  142 +
  143 + public String getState() {
  144 + return state;
  145 + }
  146 +
  147 + public void setState(String state) {
  148 + this.state = state;
  149 + }
  150 +
  151 + public String getExceptionInfo() {
  152 + return exceptionInfo;
  153 + }
  154 +
  155 + public void setExceptionInfo(String exceptionInfo) {
  156 + this.exceptionInfo = exceptionInfo;
  157 + }
  158 +
  159 +
  160 +
  161 +}
... ...
src/main/java/com/huaheng/api/acs/service/AcsService.java 0 → 100644
  1 +package com.huaheng.api.acs.service;
  2 +
  3 +import com.huaheng.api.acs.domain.AgvTask;
  4 +import com.huaheng.api.acs.domain.StateInfoUploadModel;
  5 +import com.huaheng.framework.web.domain.AjaxResult;
  6 +
  7 +public interface AcsService {
  8 +
  9 +
  10 + //AGV 信息上传
  11 + AjaxResult StateInfoUpload(StateInfoUploadModel model);
  12 +
  13 +
  14 + //AGV 任务回传
  15 + AjaxResult TaskConfirm(AgvTask agvTask);
  16 +}
... ...
src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java 0 → 100644
  1 +package com.huaheng.api.acs.service;
  2 +
  3 +import com.huaheng.api.acs.domain.AgvTask;
  4 +import com.huaheng.api.acs.domain.StateInfoUploadModel;
  5 +import com.huaheng.framework.web.domain.AjaxResult;
  6 +import org.springframework.stereotype.Service;
  7 +
  8 +/**
  9 + * @ClassName AcsServiceImpl
  10 + * @Description TODO
  11 + * @Author Administrator
  12 + * @Date 2019/12/2615:38
  13 + */
  14 +@Service
  15 +public class AcsServiceImpl implements AcsService {
  16 + @Override
  17 + public AjaxResult StateInfoUpload(StateInfoUploadModel model) {
  18 + return null;
  19 + }
  20 +
  21 + @Override
  22 + public AjaxResult TaskConfirm(AgvTask agvTask) {
  23 + return null;
  24 + }
  25 +}
... ...
src/main/java/com/huaheng/common/constant/QuantityConstant.java
... ... @@ -348,5 +348,9 @@ public class QuantityConstant {
348 348 //在库抽检
349 349 public static final Integer CHECK_TYPE_SELECT = 300;
350 350  
  351 + //空货架
  352 + public static final Integer POINTS_EMPTY = 0;
351 353  
  354 + //非空货架
  355 + public static final Integer POINTS_SOME = 1;
352 356 }
... ...
src/main/java/com/huaheng/pc/config/address/domain/Address.java
... ... @@ -33,6 +33,13 @@ public class Address implements Serializable {
33 33 private String warehouseCode;
34 34  
35 35 /**
  36 + * 编号
  37 + */
  38 + @TableField(value = "number")
  39 + @ApiModelProperty(value="编号")
  40 + private Integer number;
  41 +
  42 + /**
36 43 * 参数
37 44 */
38 45 @TableField(value = "param")
... ... @@ -62,6 +69,14 @@ public class Address implements Serializable {
62 69 this.warehouseCode = warehouseCode;
63 70 }
64 71  
  72 + public Integer getNumber() {
  73 + return number;
  74 + }
  75 +
  76 + public void setNumber(Integer number) {
  77 + this.number = number;
  78 + }
  79 +
65 80 public String getParam() {
66 81 return param;
67 82 }
... ...
src/main/java/com/huaheng/pc/config/container/domain/Container.java
... ... @@ -65,6 +65,15 @@ public class Container implements Serializable {
65 65 @Excel(name = "容器类型")
66 66 private String containerType;
67 67  
  68 +
  69 + /**
  70 + * 容器类型
  71 + */
  72 + @TableField(value = "goodsShelfNo")
  73 + @ApiModelProperty(value="AGV货架编码")
  74 + @Excel(name = "AGV货架编码")
  75 + private String goodsShelfNo;
  76 +
68 77 /**
69 78 * 创建时间
70 79 */
... ... @@ -199,6 +208,8 @@ public class Container implements Serializable {
199 208  
200 209 public static final String COL_CONTAINERTYPE = "containerType";
201 210  
  211 + public static final String COL_GOODSSHELFNO = "goodsShelfNo";
  212 +
202 213 public static final String COL_CREATED = "created";
203 214  
204 215 public static final String COL_CREATEDBY = "createdBy";
... ... @@ -245,6 +256,7 @@ public class Container implements Serializable {
245 256 sb.append(", warehouseCode=").append(warehouseCode);
246 257 sb.append(", companyCode=").append(companyCode);
247 258 sb.append(", containerType=").append(containerType);
  259 + sb.append(", goodsShelfNo=").append(goodsShelfNo);
248 260 sb.append(", created=").append(created);
249 261 sb.append(", createdBy=").append(createdBy);
250 262 sb.append(", lastUpdated=").append(lastUpdated);
... ...
src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java
... ... @@ -19,4 +19,6 @@ public interface ContainerMapper extends BaseMapper&lt;Container&gt; {
19 19 int addList(@Param("containers") List<Container> containers);
20 20  
21 21  
  22 + //获得空货架编号
  23 + List<Container> selectListShelf();
22 24 }
23 25 \ No newline at end of file
... ...
src/main/java/com/huaheng/pc/config/container/service/ContainerService.java
... ... @@ -22,4 +22,8 @@ public interface ContainerService extends IService&lt;Container&gt;{
22 22 void removeByCode(String containCode);
23 23  
24 24 Container findAllByCode(String containCode);
  25 +
  26 +
  27 + //获得空货架编号
  28 + List<Container> selectListShelf();
25 29 }
... ...
src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java
... ... @@ -171,4 +171,10 @@ public class ContainerServiceImpl extends ServiceImpl&lt;ContainerMapper, Container
171 171 public Container findAllByCode(String code) {
172 172 return containerMapper.findAllByCode(code);
173 173 }
  174 +
  175 +
  176 + @Override
  177 + public List<Container> selectListShelf() {
  178 + return containerMapper.selectListShelf();
  179 + }
174 180 }
... ...
src/main/java/com/huaheng/pc/config/points/controller/PointController.java 0 → 100644
  1 +package com.huaheng.pc.config.points.controller;
  2 +
  3 +
  4 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5 +import com.baomidou.mybatisplus.core.metadata.IPage;
  6 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  7 +import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8 +import com.huaheng.common.utils.StringUtils;
  9 +import com.huaheng.common.utils.security.ShiroUtils;
  10 +import com.huaheng.framework.aspectj.lang.annotation.Log;
  11 +import com.huaheng.framework.aspectj.lang.constant.BusinessType;
  12 +import com.huaheng.framework.web.controller.BaseController;
  13 +import com.huaheng.framework.web.domain.AjaxResult;
  14 +import com.huaheng.framework.web.page.PageDomain;
  15 +import com.huaheng.framework.web.page.TableDataInfo;
  16 +import com.huaheng.framework.web.page.TableSupport;
  17 +import com.huaheng.pc.config.company.domain.Company;
  18 +import com.huaheng.pc.config.company.service.CompanyService;
  19 +import com.huaheng.pc.config.container.domain.Container;
  20 +import com.huaheng.pc.config.container.service.ContainerService;
  21 +import com.huaheng.pc.config.points.domain.Points;
  22 +import com.huaheng.pc.config.points.service.PointsService;
  23 +import org.apache.shiro.authz.annotation.RequiresPermissions;
  24 +import org.springframework.beans.factory.annotation.Autowired;
  25 +import org.springframework.stereotype.Controller;
  26 +import org.springframework.ui.ModelMap;
  27 +import org.springframework.web.bind.annotation.*;
  28 +
  29 +import java.util.List;
  30 +
  31 +/**
  32 + * 货架 信息操作处理
  33 + *
  34 + * @author huaheng
  35 + * @date 2019-07-11
  36 + */
  37 +@Controller
  38 +@RequestMapping("/config/point")
  39 +public class PointController extends BaseController
  40 +{
  41 + private String prefix = "config/point";
  42 +
  43 + @Autowired
  44 + private PointsService pointsService;
  45 + @Autowired
  46 + private CompanyService companyService;
  47 + @Autowired
  48 + private ContainerService containerService;
  49 +
  50 + @RequiresPermissions("config:point:view")
  51 + @GetMapping()
  52 + public String point()
  53 + {
  54 + return prefix + "/point";
  55 + }
  56 +
  57 + /**
  58 + * 查询货架列表
  59 + */
  60 + @RequiresPermissions("config:point:list")
  61 + @Log(title = "配置-货架设置", operating = "货架查看列表", action = BusinessType.GRANT)
  62 + @PostMapping("/list")
  63 + @ResponseBody
  64 + public TableDataInfo list(Points points)
  65 + {
  66 +
  67 + LambdaQueryWrapper<Points> lambdaQueryWrapper = Wrappers.lambdaQuery();
  68 + PageDomain pageDomain = TableSupport.buildPageRequest();
  69 + Integer pageNum = pageDomain.getPageNum();
  70 + Integer pageSize = pageDomain.getPageSize();
  71 + lambdaQueryWrapper
  72 + .eq(StringUtils.isNotEmpty(points.getGoodsShelfNo()), Points::getGoodsShelfNo, points.getGoodsShelfNo())
  73 + .eq(StringUtils.isNotEmpty(points.getCompanyCode()),Points::getCompanyCode, points.getCompanyCode())
  74 + .eq(Points::getWarehouseCode, ShiroUtils.getWarehouseCode());
  75 +
  76 + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
  77 + /*使用分页查询*/
  78 + Page<Points> page = new Page<>(pageNum, pageSize);
  79 + IPage<Points> iPage = pointsService.page(page, lambdaQueryWrapper);
  80 + return getMpDataTable(iPage.getRecords(), iPage.getTotal());
  81 + } else {
  82 + List<Points> list = pointsService.list(lambdaQueryWrapper);
  83 + list.forEach(t->{
  84 + LambdaQueryWrapper<Company> companyLamb = Wrappers.lambdaQuery();
  85 + companyLamb.eq(Company::getCode,t.getCompanyCode());
  86 + Company company= companyService.getOne(companyLamb);
  87 + if(company!=null) {
  88 + t.setCompanyName(company.getName());
  89 + }
  90 + });
  91 + return getDataTable(list);
  92 + }
  93 + }
  94 +
  95 + /**
  96 + * 修改货架
  97 + */
  98 + @GetMapping("/edit/{id}")
  99 + public String edit(@PathVariable("id") Integer id, ModelMap mmap)
  100 + {
  101 +
  102 + Points points = pointsService.getById(id);
  103 + mmap.put("points", points);
  104 + return prefix + "/edit";
  105 + }
  106 +
  107 + /**
  108 + * 修改保存货架
  109 + */
  110 + @RequiresPermissions("config:point:edit")
  111 + @Log(title = "配置-货架设置", operating = "修改货架", action = BusinessType.UPDATE)
  112 + @PostMapping("/edit")
  113 + @ResponseBody
  114 + public AjaxResult editSave(Points points)
  115 + {
  116 + LambdaQueryWrapper<Container> containerLamb = Wrappers.lambdaQuery();
  117 + containerLamb.eq(Container::getGoodsShelfNo,points.getGoodsShelfNo())
  118 + .eq(Container::getWarehouseCode,ShiroUtils.getWarehouseCode());
  119 + List<Container> containerList=containerService.list(containerLamb);
  120 + for(Container item:containerList){
  121 + item.setCompanyCode(points.getCompanyCode());
  122 + if(containerService.saveOrUpdate(item) == false){
  123 + return AjaxResult.error("修改失败");
  124 + }
  125 + }
  126 + if(pointsService.saveOrUpdate(points) == false){
  127 + return AjaxResult.error("修改失败");
  128 + }
  129 + return AjaxResult.success("修改成功");
  130 + }
  131 +
  132 +
  133 + /**
  134 + * 恢复货架状态
  135 + */
  136 + @RequiresPermissions("config:point:edit")
  137 + @Log(title = "配置-货架设置", operating = "恢复货架状态", action = BusinessType.UPDATE)
  138 + @PostMapping("/restore")
  139 + @ResponseBody
  140 + public AjaxResult restore(){
  141 + if(pointsService.updateAll() >0){
  142 + return AjaxResult.success("货架状态恢复成功");
  143 + }else {
  144 + return AjaxResult.error("失败");
  145 + }
  146 + }
  147 +
  148 + /**
  149 + * 检测货架装货状态
  150 + */
  151 + @RequiresPermissions("config:point:edit")
  152 + @Log(title = "配置-货架设置", operating = "检测货架装货状态", action = BusinessType.UPDATE)
  153 + @PostMapping("/detectShelf")
  154 + @ResponseBody
  155 + public AjaxResult detectShelf(){
  156 + return pointsService.detectShelf();
  157 + }
  158 +}
... ...
src/main/java/com/huaheng/pc/config/points/domain/Points.java 0 → 100644
  1 +package com.huaheng.pc.config.points.domain;
  2 +
  3 +import com.baomidou.mybatisplus.annotation.IdType;
  4 +import com.baomidou.mybatisplus.annotation.TableField;
  5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import com.huaheng.framework.web.domain.BaseEntity;
  8 +import io.swagger.annotations.ApiModel;
  9 +import lombok.Data;
  10 +
  11 +/**
  12 + * @author ricard
  13 + * @time 2019/12/26
  14 + * 货架实体
  15 + */
  16 +
  17 +@ApiModel(value="com.huaheng.pc.config.points.domain.Points")
  18 +@Data
  19 +@TableName(value = "points")
  20 +public class Points extends BaseEntity {
  21 + //id
  22 + @TableId(value = "id", type = IdType.AUTO )
  23 + private Integer id;
  24 +
  25 + //仓库编码
  26 + @TableField(value = "warehouseCode")
  27 + private String warehouseCode;
  28 +
  29 + //货架号
  30 + @TableField(value = "goodsShelfNo")
  31 + private String goodsShelfNo;
  32 + private Integer companyId;
  33 +
  34 + //货主
  35 + @TableField(value = "companyCode")
  36 + private String companyCode;
  37 + //货主名称
  38 + private String companyName;
  39 +
  40 + //货架调动次数
  41 + @TableField(value = "num")
  42 + private Integer num;
  43 +
  44 + //是否为空
  45 + @TableField(value = "isEmpty")
  46 + private Integer isEmpty;
  47 +
  48 + //是否可用
  49 + @TableField(value = "isEnable")
  50 + private Integer isEnable;
  51 +
  52 + //货架状态
  53 + @TableField(value = "isLocked")
  54 + private Integer isLocked;
  55 +
  56 + //回库后X轴位置
  57 + @TableField(value = "intX")
  58 + private String intX;
  59 +
  60 + //回库后Y轴位置
  61 + @TableField(value = "intY")
  62 + private String intY;
  63 +
  64 + //出库前x位置
  65 + @TableField(value = "oIntX")
  66 + private String oIntX;
  67 +
  68 + //出库前Y位置
  69 + @TableField(value = "oIntY")
  70 + private String oIntY;
  71 +
  72 + public Integer getCompanyId() {
  73 + return companyId;
  74 + }
  75 +
  76 + public void setCompanyId(Integer companyId) {
  77 + this.companyId = companyId;
  78 + }
  79 +
  80 + public String getCompanyCode() {
  81 + return companyCode;
  82 + }
  83 +
  84 + public void setCompanyCode(String companyCode) {
  85 + this.companyCode = companyCode;
  86 + }
  87 +
  88 + public String getCompanyName() {
  89 + return companyName;
  90 + }
  91 +
  92 + public void setCompanyName(String companyName) {
  93 + this.companyName = companyName;
  94 + }
  95 +
  96 + public String getoIntX() {
  97 + return oIntX;
  98 + }
  99 +
  100 + public void setoIntX(String oIntX) {
  101 + this.oIntX = oIntX;
  102 + }
  103 +
  104 + public String getoIntY() {
  105 + return oIntY;
  106 + }
  107 +
  108 + public void setoIntY(String oIntY) {
  109 + this.oIntY = oIntY;
  110 + }
  111 +
  112 + public String getWarehouseCode() {
  113 + return warehouseCode;
  114 + }
  115 +
  116 + public void setWarehouseCode(String warehouseCode) {
  117 + this.warehouseCode = warehouseCode;
  118 + }
  119 +
  120 + public String getIntX() {
  121 + return intX;
  122 + }
  123 +
  124 + public void setIntX(String intX) {
  125 + this.intX = intX;
  126 + }
  127 +
  128 + public String getIntY() {
  129 + return intY;
  130 + }
  131 +
  132 + public void setIntY(String intY) {
  133 + this.intY = intY;
  134 + }
  135 +
  136 + public Integer getId() {
  137 + return id;
  138 + }
  139 +
  140 + public void setId(Integer id) {
  141 + this.id = id;
  142 + }
  143 +
  144 + public String getGoodsShelfNo() {
  145 + return goodsShelfNo;
  146 + }
  147 +
  148 + public void setGoodsShelfNo(String goodsShelfNo) {
  149 + this.goodsShelfNo = goodsShelfNo;
  150 + }
  151 +
  152 + public Integer getIsEnable() {
  153 + return isEnable;
  154 + }
  155 +
  156 + public void setIsEnable(Integer isEnable) {
  157 + this.isEnable = isEnable;
  158 + }
  159 +
  160 + public Integer getIsLocked() {
  161 + return isLocked;
  162 + }
  163 +
  164 + public void setIsLocked(Integer isLocked) {
  165 + this.isLocked = isLocked;
  166 + }
  167 +
  168 + public Integer getNum() {
  169 + return num;
  170 + }
  171 +
  172 + public void setNum(Integer num) {
  173 + this.num = num;
  174 + }
  175 +
  176 + public Integer getIsEmpty() {
  177 + return isEmpty;
  178 + }
  179 +
  180 + public void setIsEmpty(Integer isEmpty) {
  181 + this.isEmpty = isEmpty;
  182 + }
  183 +}
... ...
src/main/java/com/huaheng/pc/config/points/mapper/PointsMapper.java 0 → 100644
  1 +package com.huaheng.pc.config.points.mapper;
  2 +
  3 +
  4 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5 +import com.huaheng.pc.config.points.domain.Points;
  6 +import org.apache.ibatis.annotations.Param;
  7 +
  8 +import java.util.List;
  9 +
  10 +/**
  11 + * 货架 数据层
  12 + *
  13 + * @author ricard
  14 + * @date 2019-12-26
  15 + */
  16 +public interface PointsMapper extends BaseMapper<Points> {
  17 +
  18 + //修改货架位置信息
  19 + int updatePoints(Points points);
  20 +
  21 + //修改所有货架的状态为初始状态
  22 + int updateAll();
  23 +
  24 + int updateIsEmpty(@Param("list") List<String> list, @Param("isEmpty") Integer isEmpty);
  25 +}
... ...
src/main/java/com/huaheng/pc/config/points/service/PointsService.java 0 → 100644
  1 +package com.huaheng.pc.config.points.service;
  2 +
  3 +
  4 +import com.baomidou.mybatisplus.extension.service.IService;
  5 +import com.huaheng.framework.web.domain.AjaxResult;
  6 +import com.huaheng.pc.config.points.domain.Points;
  7 +
  8 +import java.util.List;
  9 +import java.util.Map;
  10 +
  11 +/**
  12 + * 货架 服务层
  13 + *
  14 + * @author ricard
  15 + * @date 2019-02-26
  16 + */
  17 +
  18 +public interface PointsService extends IService<Points> {
  19 +
  20 + //修改所有货架的状态为初始状态
  21 + int updateAll();
  22 +
  23 + //检查货架是否是空货架,并修改
  24 + AjaxResult detectShelf();
  25 +
  26 +}
... ...
src/main/java/com/huaheng/pc/config/points/service/PointsServiceImpl.java 0 → 100644
  1 +package com.huaheng.pc.config.points.service;
  2 +
  3 +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  4 +import com.baomidou.mybatisplus.core.toolkit.Wrappers;
  5 +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6 +import com.huaheng.common.constant.QuantityConstant;
  7 +import com.huaheng.common.utils.security.ShiroUtils;
  8 +import com.huaheng.framework.web.domain.AjaxResult;
  9 +import com.huaheng.pc.config.container.domain.Container;
  10 +import com.huaheng.pc.config.container.service.ContainerService;
  11 +import com.huaheng.pc.config.points.domain.Points;
  12 +import com.huaheng.pc.config.points.mapper.PointsMapper;
  13 +import org.apache.commons.collections.ListUtils;
  14 +import org.springframework.stereotype.Service;
  15 +
  16 +import javax.annotation.Resource;
  17 +import java.util.ArrayList;
  18 +import java.util.List;
  19 +
  20 +
  21 +/**
  22 + * 货架 服务层实现
  23 + *
  24 + * @author ricard
  25 + * @date 2019-12-26
  26 + */
  27 +@Service
  28 +public class PointsServiceImpl extends ServiceImpl<PointsMapper,Points> implements PointsService{
  29 +
  30 + @Resource
  31 + private PointsMapper pointsMapper;
  32 + @Resource
  33 + private ContainerService containerService;
  34 +
  35 + @Override
  36 + public int updateAll() {
  37 + return pointsMapper.updateAll();
  38 + }
  39 +
  40 +
  41 +
  42 + @Override
  43 + public AjaxResult detectShelf() {
  44 + //查找为空的货架
  45 + List<Container> containers =containerService.selectListShelf();
  46 + List<String> stringList = new ArrayList<>();
  47 + for(Container item : containers){
  48 + stringList.add(item.getGoodsShelfNo());
  49 + }
  50 + Integer flag = 1;
  51 +
  52 + //修改空货架状态
  53 + flag = pointsMapper.updateIsEmpty(stringList, QuantityConstant.POINTS_SOME);
  54 + if(flag < 1){
  55 + return AjaxResult.error("修改空货架状态失败");
  56 + }
  57 +
  58 +
  59 + //查找所以货架
  60 + LambdaQueryWrapper<Points> pointsLamb = Wrappers.lambdaQuery();
  61 + pointsLamb.eq(Points::getWarehouseCode,ShiroUtils.getWarehouseCode());
  62 + List<Points> pointsList = this.list(pointsLamb);
  63 +
  64 + //去重
  65 + List<String> list =new ArrayList<>();
  66 + for(Points item : pointsList){
  67 + list.add(item.getGoodsShelfNo());
  68 + }
  69 +
  70 + List<String> list1 = ListUtils.subtract(list,stringList);
  71 +
  72 + //修改非空货架
  73 + flag = pointsMapper.updateIsEmpty(list1,QuantityConstant.POINTS_EMPTY);
  74 + if(flag < 1){
  75 + return AjaxResult.error("修改空货架状态失败");
  76 + }
  77 +
  78 + return AjaxResult.success("成功");
  79 + }
  80 +
  81 +}
... ...
src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java
... ... @@ -19,6 +19,8 @@ import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailServiceImpl;
19 19 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
20 20 import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
21 21 import com.huaheng.pc.shipment.shippingCombination.service.ShippingCombinationService;
  22 +import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
  23 +import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
22 24 import org.apache.shiro.authz.annotation.RequiresPermissions;
23 25 import org.springframework.beans.factory.annotation.Autowired;
24 26 import org.springframework.stereotype.Controller;
... ... @@ -46,6 +48,8 @@ public class ShippingCombinationController extends BaseController {
46 48 ShipmentHeaderService shipmentHeaderService;
47 49 @Autowired
48 50 ShipmentPreferenceService shipmentPreferenceService;
  51 + @Autowired
  52 + TaskHeaderService taskHeaderService;
49 53  
50 54  
51 55 /**
... ...
src/main/resources/mybatis/config/AddressMapper.xml
... ... @@ -5,11 +5,12 @@
5 5 <!--@mbg.generated-->
6 6 <id column="id" jdbcType="INTEGER" property="id" />
7 7 <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
  8 + <result column="number" jdbcType="INTEGER" property="number" />
8 9 <result column="param" jdbcType="VARCHAR" property="param" />
9 10 <result column="url" jdbcType="VARCHAR" property="url" />
10 11 </resultMap>
11 12 <sql id="Base_Column_List">
12 13 <!--@mbg.generated-->
13   - id, warehouseCode, param,url
  14 + id, warehouseCode,number, param,url
14 15 </sql>
15 16 </mapper>
16 17 \ No newline at end of file
... ...
src/main/resources/mybatis/config/ContainerMapper.xml
... ... @@ -78,4 +78,13 @@
78 78 )
79 79 </foreach>
80 80 </insert>
  81 +
  82 + <select id="selectListShelf" resultType="com.huaheng.pc.config.container.domain.Container">
  83 + SELECT
  84 + g.goodsShelfNo
  85 + FROM
  86 + ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE `status` = 'empty' AND type = 'A' GROUP BY goodsShelfNo ) g
  87 + INNER JOIN ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE type = 'A' GROUP BY goodsShelfNo ) s ON g.goodsShelfNo = s.goodsShelfNo
  88 + AND g.cunt = s.cunt
  89 + </select>
81 90 </mapper>
82 91 \ No newline at end of file
... ...
src/main/resources/mybatis/config/PointsMapper.xml 0 → 100644
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3 +<mapper namespace="com.huaheng.pc.config.points.mapper.PointsMapper">
  4 + <resultMap id="BaseResultMap" type="com.huaheng.pc.config.points.domain.Points">
  5 + <!--@mbg.generated-->
  6 + <id column="id" jdbcType="INTEGER" property="id" />
  7 + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" />
  8 + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" />
  9 + <result column="goodsShelfNo" jdbcType="VARCHAR" property="goodsShelfNo" />
  10 + <result column="intX" jdbcType="VARCHAR" property="intX" />
  11 + <result column="intY" jdbcType="VARCHAR" property="intY" />
  12 + <result column="oIntX" jdbcType="VARCHAR" property="oIntX" />
  13 + <result column="oIntY" jdbcType="VARCHAR" property="oIntY" />
  14 + <result column="num" jdbcType="INTEGER" property="num" />
  15 + <result column="isEmpty" jdbcType="INTEGER" property="isEmpty" />
  16 + <result column="isEnable" jdbcType="INTEGER" property="isEnable" />
  17 + <result column="isLocked" jdbcType="INTEGER" property="isLocked" />
  18 + </resultMap>
  19 + <sql id="Base_Column_List">
  20 + <!--@mbg.generated-->
  21 + warehouseCode,companyCode,goodsShelfNo,intX,intY,oIntX,oIntY,num,isEmpty,isEnable,isLocked
  22 + </sql>
  23 +
  24 +
  25 + <update id="updatePoints">
  26 + UPDATE points
  27 + <set>
  28 + <if test="isLocked != null">
  29 + isLocked = #{isLocked, jdbcType=INTEGER},
  30 + </if>
  31 + <if test="intX != null">
  32 + intX = #{intX, jdbcType=VARCHAR},
  33 + </if>
  34 + <if test="intY != null">
  35 + intY = #{intY, jdbcType=VARCHAR},
  36 + </if>
  37 + <if test="oIntX != null">
  38 + oIntX = #{oIntX, jdbcType=VARCHAR},
  39 + </if>
  40 + <if test="oIntY != null">
  41 + oIntY = #{oIntY, jdbcType=VARCHAR},
  42 + </if>
  43 + <if test="num != null">
  44 + num = #{num, jdbcType=INTEGER},
  45 + </if>
  46 + </set>
  47 + where goodsShelfNo=#{goodsShelfNo} and warehouseCode=#{warehouseCode}
  48 + </update>
  49 +
  50 +
  51 +
  52 + <update id="updateAll">
  53 + update points set isLocked = 0
  54 + </update>
  55 +
  56 +
  57 + <update id="updateIsEmpty">
  58 + update points set isEmpty = #{isEmpty}
  59 + WHERE goodsShelfNo IN
  60 + <foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
  61 + #{item}
  62 + </foreach>
  63 +
  64 + </update>
  65 +</mapper>
0 66 \ No newline at end of file
... ...
src/main/resources/static/huaheng.png

9.86 KB | W: 300px | H: 50px

19.2 KB | W: 250px | H: 50px

  • 2-up
  • Swipe
  • Onion skin
src/main/resources/templates/config/point/edit.html 0 → 100644
  1 +<!DOCTYPE HTML>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org">
  3 +<meta charset="utf-8">
  4 +<head th:include="include :: header"></head>
  5 +<body class="white-bg">
  6 +<div class="wrapper wrapper-content animated fadeInRight ibox-content">
  7 + <form class="form-horizontal m" id="form-zone-edit">
  8 + <div class="form-group">
  9 + <label class="col-sm-3 control-label">货架号:</label>
  10 + <div class="col-sm-8">
  11 + <input id="goodsShelfNo" name="goodsShelfNo" class="form-control" type="text">
  12 + </div>
  13 + </div>
  14 + <div class="form-group">
  15 + <label class="col-sm-3 control-label">货主:</label>
  16 + <div class="col-sm-8">
  17 + <select id="companyCode" name="companyCode" class="form-control" th:with="list=${@company.selectCompanyByCurrentUserId()}">
  18 + <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option>
  19 + </select>
  20 + </div>
  21 + </div>
  22 + <div class="form-group">
  23 + <div class="form-control-static col-sm-offset-9">
  24 + <button type="submit" class="btn btn-primary">提交</button>
  25 + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button>
  26 + </div>
  27 + </div>
  28 + </form>
  29 +</div>
  30 +<div th:include="include::footer"></div>
  31 +<script type="text/javascript">
  32 + let prefix = ctx + "config/point";
  33 + $("#form-zone-edit").validate({
  34 + rules:{
  35 + XX:{
  36 + required:true,
  37 + },
  38 + },
  39 + submitHandler: function(form) {
  40 + let tableValue = $.common.getTableValue("#form-zone-edit");
  41 + $.operate.save(prefix + "/edit", tableValue);
  42 + }
  43 + });
  44 +
  45 + $(function () {
  46 + $("#goodsShelfNo").val(window.parent.goodsShelfNos);
  47 + $("select[name='companyCode']").change(function (e) {
  48 + let companyCode=$("select[name='companyCode'] option:selected").attr('code');
  49 + $.ajax({
  50 + url: ctx + "receipt/receiptHeader/getwarehouse",
  51 + type:'post',
  52 + data:{code:companyCode},
  53 + success:function (response) {
  54 + if(response.code===200){
  55 + $("select[name='uWarehouseCode']").children().remove();
  56 + $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`);
  57 + for (let item of response.data) {
  58 + let option=`<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`;
  59 + $("select[name='uWarehouseCode']").append(option);
  60 + }
  61 + }
  62 + else {$.modal.msgError(response.msg)}
  63 + }
  64 + })
  65 + })
  66 + })
  67 +</script>
  68 +</body>
  69 +</html>
... ...
src/main/resources/templates/config/point/point.html 0 → 100644
  1 +<!DOCTYPE HTML>
  2 +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
  3 +<meta charset="utf-8">
  4 +<head th:include="include :: header"></head>
  5 +<body class="gray-bg">
  6 +<div class="container-div">
  7 + <div class="row">
  8 + <div class="col-sm-12 select-info">
  9 + <form id="zone-form">
  10 + <div class="select-list">
  11 + <ul>
  12 + <li>
  13 + 货架号:<input type="text" id="goodsShelfNo" name="goodsShelfNo"/>
  14 + </li>
  15 + <li>
  16 + 货主:<select name="companyCode" th:with="company=${@company.getEnableCompanyList()}">
  17 + <option value="">所有</option>
  18 + <option th:each="e : ${company}" th:text="${e['name']}" th:value="${e['code']}"></option></select>
  19 + </li>
  20 + <li>
  21 + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
  22 + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zone-form')"><i class="fa fa-refresh"></i>&nbsp;重置</a>
  23 + </li>
  24 + </ul>
  25 + </div>
  26 + </form>
  27 + </div>
  28 +
  29 + <!--<div class="btn-group hidden-xs" id="toolbar" role="group">-->
  30 + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:zone:add">-->
  31 + <!--<i class="fa fa-plus"></i> 新增-->
  32 + <!--</a>-->
  33 + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:zone:remove">-->
  34 + <!--<i class="fa fa-trash-o"></i> 删除-->
  35 + <!--</a>-->
  36 + <!--</div>-->
  37 +
  38 + <div class="col-sm-12 select-info">
  39 + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="restore()">
  40 + <i class="fa fa-paper-plane"></i> 状态恢复
  41 + </a>
  42 + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="detectShelf()">
  43 + <i class="fa fa-paper-plane"></i> 检测空货架
  44 + </a>
  45 + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table>
  46 + </div>
  47 + </div>
  48 +</div>
  49 +<div th:include="include :: footer"></div>
  50 +<script th:inline="javascript">
  51 + var prefix = ctx + "config/point";
  52 + var goodsShelfNos=null;
  53 + $(function() {
  54 + let options = {
  55 + url: prefix + "/list",
  56 + createUrl: prefix + "/add",
  57 + updateUrl: prefix + "/edit/{id}",
  58 + removeUrl: prefix + "/remove",
  59 + modalName: "货架",
  60 + search: false,
  61 + columns: [
  62 + // {
  63 + // checkbox: true
  64 + // },
  65 + {
  66 + field : 'goodsShelfNo',
  67 + title : '货架号',
  68 + sortable:true
  69 + },
  70 + {
  71 + field : 'companyName',
  72 + title : '货主名称',
  73 + sortable:true
  74 + },
  75 + {
  76 + field : 'isEmpty',
  77 + title : '是否空货架',
  78 + sortable:true,
  79 + formatter: function (value, item, index) {
  80 + if (value==true) {
  81 + return '<span class="badge" style="background-color: #00B83F;color: white;width: 36px;">' + ' 是 ' + '</span>';
  82 + }
  83 + else if (value==false) {
  84 + return '<span class="badge" style="background-color: #ff0000;color: white;width: 36px;">' + ' 否 ' + '</span>';
  85 + }
  86 + }
  87 + },
  88 + {
  89 + title: '操作',
  90 + align: 'center',
  91 + formatter: function(value, row, index) {
  92 + let actions = [];
  93 + actions.push('<a class="btn btn-success btn-xs" onclick="Edit(\'' + row.id + '\' , \'' + row.goodsShelfNo + '\' )"><i class="fa fa-edit"></i>编辑</a> ');
  94 + return actions.join('');
  95 + }
  96 + }
  97 + ]
  98 + };
  99 + $.table.init(options);
  100 + });
  101 +
  102 + function Edit(id, code) {
  103 + goodsShelfNos=code;
  104 + $.operate.edit(id)
  105 + }
  106 +
  107 + /* 恢复 */
  108 + function restore() {
  109 + $.ajax({
  110 + url:prefix+'/restore',
  111 + type:'post',
  112 + success:function (res) {
  113 + if(res.code==200){
  114 + $.table.refresh();
  115 + $.modal.msgSuccess(res.msg);
  116 + }
  117 + else{
  118 + $.modal.msgError(res.msg);
  119 + }
  120 + }
  121 + })
  122 + }
  123 +
  124 +
  125 +
  126 + /* 检测货架装货状态 */
  127 + function detectShelf() {
  128 + $.ajax({
  129 + url:prefix+'/detectShelf',
  130 + type:'post',
  131 + success:function (res) {
  132 + if(res.code==200){
  133 + $.table.refresh();
  134 + $.modal.msgSuccess(res.msg);
  135 + }
  136 + else{
  137 + $.modal.msgError(res.msg);
  138 + }
  139 + }
  140 + })
  141 + }
  142 +
  143 +</script>
  144 +</body>
  145 +</html>
0 146 \ No newline at end of file
... ...
src/main/resources/templates/index.html
... ... @@ -4,9 +4,9 @@
4 4 <meta charset="utf-8">
5 5 <meta name="viewport" content="width=device-width, initial-scale=1.0">
6 6 <meta name="renderer" content="webkit">
7   - <title>政田WMS管理系统首页</title>
8   - <meta name="keywords" content="政田WMS管理系统首页">
9   - <meta name="description" content="政田WMS管理系统首页">
  7 + <title>华恒WMS管理系统首页</title>
  8 + <meta name="keywords" content="华恒WMS管理系统首页">
  9 + <meta name="description" content="华恒WMS管理系统首页">
10 10 <!--[if lt IE 9]>
11 11 <meta http-equiv="refresh" content="0;ie.html"/>
12 12 <![endif]-->
... ... @@ -31,7 +31,7 @@
31 31 <li class="nav-header">
32 32 <div class="dropdown profile-element">
33 33 <span class="pull-left" style="padding-right: 10px;">
34   - <img th:src="(${user.avatar} == '') ? 'img/profiles.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/>
  34 + <img th:src="(${user.avatar} == '') ? 'img/profile.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/>
35 35 </span>
36 36 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
37 37 <span class="pull-left clear">
... ...
src/main/resources/templates/login.html
... ... @@ -4,8 +4,8 @@
4 4 <meta charset="utf-8">
5 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
6 6  
7   - <title>政田WMS仓库管理系统 - 登录</title>
8   - <meta name="keywords" content="政田WMS管理系统">
  7 + <title>华恒WMS仓库管理系统 - 登录</title>
  8 + <meta name="keywords" content="华恒WMS管理系统">
9 9 <meta name="description" content="huaheng">
10 10 <link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet"/>
11 11 <link href="../static/css/font-awesome.css" th:href="@{css/font-awesome.css}" rel="stylesheet"/>
... ... @@ -38,7 +38,7 @@
38 38 <h1><img alt="[ 华恒 ]" src="../static/huaheng.png" th:src="@{/huaheng.png}"></h1>
39 39 </div>
40 40 <div class="m-b"></div>
41   - <h4>欢迎使用政田WMS仓库管理系统_v2.0</h4>
  41 + <h4>欢迎使用华恒WMS仓库管理系统_v2.0</h4>
42 42 <!--<ul class="m-b">-->
43 43 <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>-->
44 44 <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>-->
... ...
src/main/resources/templates/system/user/edit.html
... ... @@ -58,14 +58,14 @@
58 58 </div>
59 59 </div>
60 60 </div>
61   - <div class="form-group">
62   - <label class="col-sm-3 control-label">货主:</label>
63   - <div class="col-sm-8">
64   - <label th:each="company:${companys}" class="checkbox-inline i-checks">
65   - <input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" >
66   - </label>
67   - </div>
68   - </div>
  61 + <!--<div class="form-group">-->
  62 + <!--<label class="col-sm-3 control-label">货主:</label>-->
  63 + <!--<div class="col-sm-8">-->
  64 + <!--<label th:each="company:${companys}" class="checkbox-inline i-checks">-->
  65 + <!--<input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" >-->
  66 + <!--</label>-->
  67 + <!--</div>-->
  68 + <!--</div>-->
69 69  
70 70 <div class="form-group">
71 71 <label class="col-sm-3 control-label">仓库:</label>
... ...
src/main/resources/templates/system/user/profile/profile.html
... ... @@ -35,7 +35,7 @@
35 35 <div class="contact-box">
36 36 <div class="col-sm-4">
37 37 <div class="text-center">
38   - <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profiles.jpg' : '/profile/' + ${user.avatar}">
  38 + <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profile.jpg' : '/profile/' + ${user.avatar}">
39 39 <div class="m-t-xs font-bold">[[${user.loginIp}]]</div>
40 40 </div>
41 41 </div>
... ...