diff --git a/src/main/java/com/huaheng/api/acs/controller/StateInfoUp.java b/src/main/java/com/huaheng/api/acs/controller/StateInfoUp.java new file mode 100644 index 0000000..af16f20 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/controller/StateInfoUp.java @@ -0,0 +1,36 @@ +package com.huaheng.api.acs.controller; + +import com.huaheng.api.acs.domain.StateInfoUploadModel; +import com.huaheng.api.acs.service.AcsService; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + + +@RestController +@RequestMapping("/api/ACS/v1") +@Api(tags = {"ACS"}, description = "登陆接口") +public class StateInfoUp extends BaseController { + @Resource + private AcsService acsService; + + /** + * AGV 信息上传 + */ +// @RequiresPermissions("api:acs:StateInfoUpload") + @Log(title = "AGV 信息上传", action = BusinessType.INSERT) + @PostMapping("/StateInfoUpload") + @ApiOperation("AGV 信息上传接口") + @ResponseBody + public AjaxResult StateInfoUpload(@RequestBody StateInfoUploadModel model) + { + return acsService.StateInfoUpload(model); + } + +} diff --git a/src/main/java/com/huaheng/api/acs/controller/TaskConfirm.java b/src/main/java/com/huaheng/api/acs/controller/TaskConfirm.java new file mode 100644 index 0000000..b1136f1 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/controller/TaskConfirm.java @@ -0,0 +1,37 @@ +package com.huaheng.api.acs.controller; + +import com.huaheng.api.acs.domain.AgvTask; +import com.huaheng.api.acs.service.AcsService; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + + +@RestController +@RequestMapping("/api/ACS/v1") +@Api(tags = {"ACS"}, description = "登陆接口") +public class TaskConfirm extends BaseController { + @Resource + private AcsService acsService; + + /** + * AGV 任务回传 + */ +// @RequiresPermissions("api:acs:TaskConfirm") + @Log(title = "AGV 任务回传", action = BusinessType.UPDATE) + @PostMapping("/TaskConfirm") + @ApiOperation("AGV 任务回传接口") + @ResponseBody + public AjaxResult TaskConfirm(@RequestBody AgvTask model) + { + return acsService.TaskConfirm(model); + } + + +} diff --git a/src/main/java/com/huaheng/api/acs/domain/AgvTask.java b/src/main/java/com/huaheng/api/acs/domain/AgvTask.java new file mode 100644 index 0000000..dbe3150 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/domain/AgvTask.java @@ -0,0 +1,243 @@ +package com.huaheng.api.acs.domain; + +import com.huaheng.framework.web.domain.BaseEntity; + +import java.util.Date; +import java.util.List; + +/** + * AGV任务实体 + * + */ +public class AgvTask extends BaseEntity { + + + private Integer id; + //交互标识 + private String interactionId; + //任务头标识 + private Integer taskHeaderId; + //任务子标识 + private Integer taskDetailId; + //任务类型 + private String taskType; + //货架编码 + private String shelfNo; + //站台编码 + private String station; + //源位置编码 + private String fromLocationNo; + //目的位置编码 + private String toLocationNo; + //方向 + private String orientation; + //平台 + private String platform; + //小车编号 + private String carNo; + //状态 + private String state; + //优先级 + private Integer status; + //仓库ID + private Integer warehouseId; + //仓库编码 + private String warehouseCode; + //货主ID + private Integer companyId; + //货主编码 + private String companyCode; + //货主ID list + private List<Integer> companyIdList; + //货主list + private List<String> companyCodeList; + + private Date date; + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public List<Integer> getCompanyIdList() { + return companyIdList; + } + + public void setCompanyIdList(List<Integer> companyIdList) { + this.companyIdList = companyIdList; + } + + public Integer getWarehouseId() { + return warehouseId; + } + + public void setWarehouseId(Integer warehouseId) { + this.warehouseId = warehouseId; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public Integer getCompanyId() { + return companyId; + } + + public void setCompanyId(Integer companyId) { + this.companyId = companyId; + } + + public String getCompanyCode() { + return companyCode; + } + + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + + public List<String> getCompanyCodeList() { + return companyCodeList; + } + + public void setCompanyCodeList(List<String> companyCodeList) { + this.companyCodeList = companyCodeList; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getInteractionId() { + return interactionId; + } + + public void setInteractionId(String interactionId) { + this.interactionId = interactionId; + } + + public Integer getTaskHeaderId() { + return taskHeaderId; + } + + public void setTaskHeaderId(Integer taskHeaderId) { + this.taskHeaderId = taskHeaderId; + } + + public Integer getTaskDetailId() { + return taskDetailId; + } + + public void setTaskDetailId(Integer taskDetailId) { + this.taskDetailId = taskDetailId; + } + + public String getTaskType() { + return taskType; + } + + public void setTaskType(String taskType) { + this.taskType = taskType; + } + + public String getShelfNo() { + return shelfNo; + } + + public void setShelfNo(String shelfNo) { + this.shelfNo = shelfNo; + } + + public String getStation() { + return station; + } + + public void setStation(String station) { + this.station = station; + } + + public String getFromLocationNo() { + return fromLocationNo; + } + + public void setFromLocationNo(String fromLocationNo) { + this.fromLocationNo = fromLocationNo; + } + + public String getToLocationNo() { + return toLocationNo; + } + + public void setToLocationNo(String toLocationNo) { + this.toLocationNo = toLocationNo; + } + + public String getOrientation() { + return orientation; + } + + public void setOrientation(String orientation) { + this.orientation = orientation; + } + + public String getPlatform() { + return platform; + } + + public void setPlatform(String platform) { + this.platform = platform; + } + + public String getCarNo() { + return carNo; + } + + public void setCarNo(String carNo) { + this.carNo = carNo; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + @Override + public String toString() { + return "AgvTask{" + + "id=" + id + + ", interactionId='" + interactionId + '\'' + + ", taskHeaderId=" + taskHeaderId + + ", taskDetailId=" + taskDetailId + + ", taskType='" + taskType + '\'' + + ", shelfNo='" + shelfNo + '\'' + + ", station='" + station + '\'' + + ", fromLocationNo='" + fromLocationNo + '\'' + + ", toLocationNo='" + toLocationNo + '\'' + + ", orientation='" + orientation + '\'' + + ", platform='" + platform + '\'' + + ", carNo='" + carNo + '\'' + + ", state='" + state + '\'' + + '}'; + } +} diff --git a/src/main/java/com/huaheng/api/acs/domain/StateInfoUploadModel.java b/src/main/java/com/huaheng/api/acs/domain/StateInfoUploadModel.java new file mode 100644 index 0000000..5f7fa99 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/domain/StateInfoUploadModel.java @@ -0,0 +1,161 @@ +package com.huaheng.api.acs.domain; + +import java.util.Date; + +/** + * 小车信息实体 + * + */ +public class StateInfoUploadModel { + + private String carNo; // 小车编号,string(50),唯一 ,必填 + private String interactionId; // 交互标识,int,默认 0,必填" + private String taskType; // 任务类型,string (50),putway 上架 pick 拣货,必填 + private String shelfNo; // 货架编码,string (50),默认 0,必填 + private String station; // 站台编码,string (50),默认 0,必填 + private String currentLocationNo; // 当前位置编码,string (50),默认 0 必填 + private String fromLocationNo; // 源位置编码,string (50),默认 0 必填 + private String toLocationNo; // 目的位置编码,string (50),默认 0 必填 + private String orientation; // 方向,string (50),N,S,E,W,必填 + private Integer percentCapacity; // 电量,int【0-100】,必填 + private Integer exceptionFlag; // 异常标志 0 正常 1 异常,int,默认 0 必填 + private String state; // 状态,string (50),0 空闲 1 预定 2 任务中 -1 充电,必填 + private String exceptionInfo; // 异常信息 string(200) + //仓库ID + private Integer warehouseId; + //仓库编码 + private String warehouseCode; + + private Date date; + + public Date getDate() { + return date; + } + + public void setDate(Date date) { + this.date = date; + } + + public Integer getWarehouseId() { + return warehouseId; + } + + public void setWarehouseId(Integer warehouseId) { + this.warehouseId = warehouseId; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getCarNo() { + return carNo; + } + + public void setCarNo(String carNo) { + this.carNo = carNo; + } + + public String getInteractionId() { + return interactionId; + } + + public void setInteractionId(String interactionId) { + this.interactionId = interactionId; + } + + public String getTaskType() { + return taskType; + } + + public void setTaskType(String taskType) { + this.taskType = taskType; + } + + public String getShelfNo() { + return shelfNo; + } + + public void setShelfNo(String shelfNo) { + this.shelfNo = shelfNo; + } + + public String getStation() { + return station; + } + + public void setStation(String station) { + this.station = station; + } + + public String getCurrentLocationNo() { + return currentLocationNo; + } + + public void setCurrentLocationNo(String currentLocationNo) { + this.currentLocationNo = currentLocationNo; + } + + public String getFromLocationNo() { + return fromLocationNo; + } + + public void setFromLocationNo(String fromLocationNo) { + this.fromLocationNo = fromLocationNo; + } + + public String getToLocationNo() { + return toLocationNo; + } + + public void setToLocationNo(String toLocationNo) { + this.toLocationNo = toLocationNo; + } + + public String getOrientation() { + return orientation; + } + + public void setOrientation(String orientation) { + this.orientation = orientation; + } + + public Integer getPercentCapacity() { + return percentCapacity; + } + + public void setPercentCapacity(Integer percentCapacity) { + this.percentCapacity = percentCapacity; + } + + public Integer getExceptionFlag() { + return exceptionFlag; + } + + public void setExceptionFlag(Integer exceptionFlag) { + this.exceptionFlag = exceptionFlag; + } + + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + public String getExceptionInfo() { + return exceptionInfo; + } + + public void setExceptionInfo(String exceptionInfo) { + this.exceptionInfo = exceptionInfo; + } + + + +} diff --git a/src/main/java/com/huaheng/api/acs/service/AcsService.java b/src/main/java/com/huaheng/api/acs/service/AcsService.java new file mode 100644 index 0000000..ce9bd92 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/service/AcsService.java @@ -0,0 +1,16 @@ +package com.huaheng.api.acs.service; + +import com.huaheng.api.acs.domain.AgvTask; +import com.huaheng.api.acs.domain.StateInfoUploadModel; +import com.huaheng.framework.web.domain.AjaxResult; + +public interface AcsService { + + + //AGV 信息上传 + AjaxResult StateInfoUpload(StateInfoUploadModel model); + + + //AGV 任务回传 + AjaxResult TaskConfirm(AgvTask agvTask); +} diff --git a/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java b/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java new file mode 100644 index 0000000..ea85102 --- /dev/null +++ b/src/main/java/com/huaheng/api/acs/service/AcsServiceImpl.java @@ -0,0 +1,25 @@ +package com.huaheng.api.acs.service; + +import com.huaheng.api.acs.domain.AgvTask; +import com.huaheng.api.acs.domain.StateInfoUploadModel; +import com.huaheng.framework.web.domain.AjaxResult; +import org.springframework.stereotype.Service; + +/** + * @ClassName AcsServiceImpl + * @Description TODO + * @Author Administrator + * @Date 2019/12/2615:38 + */ +@Service +public class AcsServiceImpl implements AcsService { + @Override + public AjaxResult StateInfoUpload(StateInfoUploadModel model) { + return null; + } + + @Override + public AjaxResult TaskConfirm(AgvTask agvTask) { + return null; + } +} diff --git a/src/main/java/com/huaheng/common/constant/QuantityConstant.java b/src/main/java/com/huaheng/common/constant/QuantityConstant.java index 252a0fe..c5cfcd0 100644 --- a/src/main/java/com/huaheng/common/constant/QuantityConstant.java +++ b/src/main/java/com/huaheng/common/constant/QuantityConstant.java @@ -348,5 +348,9 @@ public class QuantityConstant { //在库抽检 public static final Integer CHECK_TYPE_SELECT = 300; + //空货架 + public static final Integer POINTS_EMPTY = 0; + //非空货架 + public static final Integer POINTS_SOME = 1; } diff --git a/src/main/java/com/huaheng/pc/config/address/domain/Address.java b/src/main/java/com/huaheng/pc/config/address/domain/Address.java index 5ee9376..bfc3157 100644 --- a/src/main/java/com/huaheng/pc/config/address/domain/Address.java +++ b/src/main/java/com/huaheng/pc/config/address/domain/Address.java @@ -33,6 +33,13 @@ public class Address implements Serializable { private String warehouseCode; /** + * 编号 + */ + @TableField(value = "number") + @ApiModelProperty(value="编号") + private Integer number; + + /** * 参数 */ @TableField(value = "param") @@ -62,6 +69,14 @@ public class Address implements Serializable { this.warehouseCode = warehouseCode; } + public Integer getNumber() { + return number; + } + + public void setNumber(Integer number) { + this.number = number; + } + public String getParam() { return param; } diff --git a/src/main/java/com/huaheng/pc/config/container/domain/Container.java b/src/main/java/com/huaheng/pc/config/container/domain/Container.java index 210358f..7a4e5c0 100644 --- a/src/main/java/com/huaheng/pc/config/container/domain/Container.java +++ b/src/main/java/com/huaheng/pc/config/container/domain/Container.java @@ -65,6 +65,15 @@ public class Container implements Serializable { @Excel(name = "容器类型") private String containerType; + + /** + * 容器类型 + */ + @TableField(value = "goodsShelfNo") + @ApiModelProperty(value="AGV货架编码") + @Excel(name = "AGV货架编码") + private String goodsShelfNo; + /** * 创建时间 */ @@ -199,6 +208,8 @@ public class Container implements Serializable { public static final String COL_CONTAINERTYPE = "containerType"; + public static final String COL_GOODSSHELFNO = "goodsShelfNo"; + public static final String COL_CREATED = "created"; public static final String COL_CREATEDBY = "createdBy"; @@ -245,6 +256,7 @@ public class Container implements Serializable { sb.append(", warehouseCode=").append(warehouseCode); sb.append(", companyCode=").append(companyCode); sb.append(", containerType=").append(containerType); + sb.append(", goodsShelfNo=").append(goodsShelfNo); sb.append(", created=").append(created); sb.append(", createdBy=").append(createdBy); sb.append(", lastUpdated=").append(lastUpdated); diff --git a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java index a3b11dc..b6dcc81 100644 --- a/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java +++ b/src/main/java/com/huaheng/pc/config/container/mapper/ContainerMapper.java @@ -19,4 +19,6 @@ public interface ContainerMapper extends BaseMapper<Container> { int addList(@Param("containers") List<Container> containers); + //获得空货架编号 + List<Container> selectListShelf(); } \ No newline at end of file diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java index 3bbed8d..86825c9 100644 --- a/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java +++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerService.java @@ -22,4 +22,8 @@ public interface ContainerService extends IService<Container>{ void removeByCode(String containCode); Container findAllByCode(String containCode); + + + //获得空货架编号 + List<Container> selectListShelf(); } diff --git a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java index b93eea7..0d08e35 100644 --- a/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java +++ b/src/main/java/com/huaheng/pc/config/container/service/ContainerServiceImpl.java @@ -171,4 +171,10 @@ public class ContainerServiceImpl extends ServiceImpl<ContainerMapper, Container public Container findAllByCode(String code) { return containerMapper.findAllByCode(code); } + + + @Override + public List<Container> selectListShelf() { + return containerMapper.selectListShelf(); + } } diff --git a/src/main/java/com/huaheng/pc/config/points/controller/PointController.java b/src/main/java/com/huaheng/pc/config/points/controller/PointController.java new file mode 100644 index 0000000..c945480 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/points/controller/PointController.java @@ -0,0 +1,158 @@ +package com.huaheng.pc.config.points.controller; + + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.huaheng.common.utils.StringUtils; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.aspectj.lang.annotation.Log; +import com.huaheng.framework.aspectj.lang.constant.BusinessType; +import com.huaheng.framework.web.controller.BaseController; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.framework.web.page.PageDomain; +import com.huaheng.framework.web.page.TableDataInfo; +import com.huaheng.framework.web.page.TableSupport; +import com.huaheng.pc.config.company.domain.Company; +import com.huaheng.pc.config.company.service.CompanyService; +import com.huaheng.pc.config.container.domain.Container; +import com.huaheng.pc.config.container.service.ContainerService; +import com.huaheng.pc.config.points.domain.Points; +import com.huaheng.pc.config.points.service.PointsService; +import org.apache.shiro.authz.annotation.RequiresPermissions; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +/** + * 货架 信息操作处理 + * + * @author huaheng + * @date 2019-07-11 + */ +@Controller +@RequestMapping("/config/point") +public class PointController extends BaseController +{ + private String prefix = "config/point"; + + @Autowired + private PointsService pointsService; + @Autowired + private CompanyService companyService; + @Autowired + private ContainerService containerService; + + @RequiresPermissions("config:point:view") + @GetMapping() + public String point() + { + return prefix + "/point"; + } + + /** + * 查询货架列表 + */ + @RequiresPermissions("config:point:list") + @Log(title = "配置-货架设置", operating = "货架查看列表", action = BusinessType.GRANT) + @PostMapping("/list") + @ResponseBody + public TableDataInfo list(Points points) + { + + LambdaQueryWrapper<Points> lambdaQueryWrapper = Wrappers.lambdaQuery(); + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + lambdaQueryWrapper + .eq(StringUtils.isNotEmpty(points.getGoodsShelfNo()), Points::getGoodsShelfNo, points.getGoodsShelfNo()) + .eq(StringUtils.isNotEmpty(points.getCompanyCode()),Points::getCompanyCode, points.getCompanyCode()) + .eq(Points::getWarehouseCode, ShiroUtils.getWarehouseCode()); + + if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){ + /*使用分页查询*/ + Page<Points> page = new Page<>(pageNum, pageSize); + IPage<Points> iPage = pointsService.page(page, lambdaQueryWrapper); + return getMpDataTable(iPage.getRecords(), iPage.getTotal()); + } else { + List<Points> list = pointsService.list(lambdaQueryWrapper); + list.forEach(t->{ + LambdaQueryWrapper<Company> companyLamb = Wrappers.lambdaQuery(); + companyLamb.eq(Company::getCode,t.getCompanyCode()); + Company company= companyService.getOne(companyLamb); + if(company!=null) { + t.setCompanyName(company.getName()); + } + }); + return getDataTable(list); + } + } + + /** + * 修改货架 + */ + @GetMapping("/edit/{id}") + public String edit(@PathVariable("id") Integer id, ModelMap mmap) + { + + Points points = pointsService.getById(id); + mmap.put("points", points); + return prefix + "/edit"; + } + + /** + * 修改保存货架 + */ + @RequiresPermissions("config:point:edit") + @Log(title = "配置-货架设置", operating = "修改货架", action = BusinessType.UPDATE) + @PostMapping("/edit") + @ResponseBody + public AjaxResult editSave(Points points) + { + LambdaQueryWrapper<Container> containerLamb = Wrappers.lambdaQuery(); + containerLamb.eq(Container::getGoodsShelfNo,points.getGoodsShelfNo()) + .eq(Container::getWarehouseCode,ShiroUtils.getWarehouseCode()); + List<Container> containerList=containerService.list(containerLamb); + for(Container item:containerList){ + item.setCompanyCode(points.getCompanyCode()); + if(containerService.saveOrUpdate(item) == false){ + return AjaxResult.error("修改失败"); + } + } + if(pointsService.saveOrUpdate(points) == false){ + return AjaxResult.error("修改失败"); + } + return AjaxResult.success("修改成功"); + } + + + /** + * 恢复货架状态 + */ + @RequiresPermissions("config:point:edit") + @Log(title = "配置-货架设置", operating = "恢复货架状态", action = BusinessType.UPDATE) + @PostMapping("/restore") + @ResponseBody + public AjaxResult restore(){ + if(pointsService.updateAll() >0){ + return AjaxResult.success("货架状态恢复成功"); + }else { + return AjaxResult.error("失败"); + } + } + + /** + * 检测货架装货状态 + */ + @RequiresPermissions("config:point:edit") + @Log(title = "配置-货架设置", operating = "检测货架装货状态", action = BusinessType.UPDATE) + @PostMapping("/detectShelf") + @ResponseBody + public AjaxResult detectShelf(){ + return pointsService.detectShelf(); + } +} diff --git a/src/main/java/com/huaheng/pc/config/points/domain/Points.java b/src/main/java/com/huaheng/pc/config/points/domain/Points.java new file mode 100644 index 0000000..bd4e63e --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/points/domain/Points.java @@ -0,0 +1,183 @@ +package com.huaheng.pc.config.points.domain; + +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 com.huaheng.framework.web.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import lombok.Data; + +/** + * @author ricard + * @time 2019/12/26 + * 货架实体 + */ + +@ApiModel(value="com.huaheng.pc.config.points.domain.Points") +@Data +@TableName(value = "points") +public class Points extends BaseEntity { + //id + @TableId(value = "id", type = IdType.AUTO ) + private Integer id; + + //仓库编码 + @TableField(value = "warehouseCode") + private String warehouseCode; + + //货架号 + @TableField(value = "goodsShelfNo") + private String goodsShelfNo; + private Integer companyId; + + //货主 + @TableField(value = "companyCode") + private String companyCode; + //货主名称 + private String companyName; + + //货架调动次数 + @TableField(value = "num") + private Integer num; + + //是否为空 + @TableField(value = "isEmpty") + private Integer isEmpty; + + //是否可用 + @TableField(value = "isEnable") + private Integer isEnable; + + //货架状态 + @TableField(value = "isLocked") + private Integer isLocked; + + //回库后X轴位置 + @TableField(value = "intX") + private String intX; + + //回库后Y轴位置 + @TableField(value = "intY") + private String intY; + + //出库前x位置 + @TableField(value = "oIntX") + private String oIntX; + + //出库前Y位置 + @TableField(value = "oIntY") + private String oIntY; + + public Integer getCompanyId() { + return companyId; + } + + public void setCompanyId(Integer companyId) { + this.companyId = companyId; + } + + public String getCompanyCode() { + return companyCode; + } + + public void setCompanyCode(String companyCode) { + this.companyCode = companyCode; + } + + public String getCompanyName() { + return companyName; + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } + + public String getoIntX() { + return oIntX; + } + + public void setoIntX(String oIntX) { + this.oIntX = oIntX; + } + + public String getoIntY() { + return oIntY; + } + + public void setoIntY(String oIntY) { + this.oIntY = oIntY; + } + + public String getWarehouseCode() { + return warehouseCode; + } + + public void setWarehouseCode(String warehouseCode) { + this.warehouseCode = warehouseCode; + } + + public String getIntX() { + return intX; + } + + public void setIntX(String intX) { + this.intX = intX; + } + + public String getIntY() { + return intY; + } + + public void setIntY(String intY) { + this.intY = intY; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getGoodsShelfNo() { + return goodsShelfNo; + } + + public void setGoodsShelfNo(String goodsShelfNo) { + this.goodsShelfNo = goodsShelfNo; + } + + public Integer getIsEnable() { + return isEnable; + } + + public void setIsEnable(Integer isEnable) { + this.isEnable = isEnable; + } + + public Integer getIsLocked() { + return isLocked; + } + + public void setIsLocked(Integer isLocked) { + this.isLocked = isLocked; + } + + public Integer getNum() { + return num; + } + + public void setNum(Integer num) { + this.num = num; + } + + public Integer getIsEmpty() { + return isEmpty; + } + + public void setIsEmpty(Integer isEmpty) { + this.isEmpty = isEmpty; + } +} diff --git a/src/main/java/com/huaheng/pc/config/points/mapper/PointsMapper.java b/src/main/java/com/huaheng/pc/config/points/mapper/PointsMapper.java new file mode 100644 index 0000000..d0387d3 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/points/mapper/PointsMapper.java @@ -0,0 +1,25 @@ +package com.huaheng.pc.config.points.mapper; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.huaheng.pc.config.points.domain.Points; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 货架 数据层 + * + * @author ricard + * @date 2019-12-26 + */ +public interface PointsMapper extends BaseMapper<Points> { + + //修改货架位置信息 + int updatePoints(Points points); + + //修改所有货架的状态为初始状态 + int updateAll(); + + int updateIsEmpty(@Param("list") List<String> list, @Param("isEmpty") Integer isEmpty); +} diff --git a/src/main/java/com/huaheng/pc/config/points/service/PointsService.java b/src/main/java/com/huaheng/pc/config/points/service/PointsService.java new file mode 100644 index 0000000..40af2f5 --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/points/service/PointsService.java @@ -0,0 +1,26 @@ +package com.huaheng.pc.config.points.service; + + +import com.baomidou.mybatisplus.extension.service.IService; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.config.points.domain.Points; + +import java.util.List; +import java.util.Map; + +/** + * 货架 服务层 + * + * @author ricard + * @date 2019-02-26 + */ + +public interface PointsService extends IService<Points> { + + //修改所有货架的状态为初始状态 + int updateAll(); + + //检查货架是否是空货架,并修改 + AjaxResult detectShelf(); + +} diff --git a/src/main/java/com/huaheng/pc/config/points/service/PointsServiceImpl.java b/src/main/java/com/huaheng/pc/config/points/service/PointsServiceImpl.java new file mode 100644 index 0000000..c86e7ba --- /dev/null +++ b/src/main/java/com/huaheng/pc/config/points/service/PointsServiceImpl.java @@ -0,0 +1,81 @@ +package com.huaheng.pc.config.points.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.huaheng.common.constant.QuantityConstant; +import com.huaheng.common.utils.security.ShiroUtils; +import com.huaheng.framework.web.domain.AjaxResult; +import com.huaheng.pc.config.container.domain.Container; +import com.huaheng.pc.config.container.service.ContainerService; +import com.huaheng.pc.config.points.domain.Points; +import com.huaheng.pc.config.points.mapper.PointsMapper; +import org.apache.commons.collections.ListUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.List; + + +/** + * 货架 服务层实现 + * + * @author ricard + * @date 2019-12-26 + */ +@Service +public class PointsServiceImpl extends ServiceImpl<PointsMapper,Points> implements PointsService{ + + @Resource + private PointsMapper pointsMapper; + @Resource + private ContainerService containerService; + + @Override + public int updateAll() { + return pointsMapper.updateAll(); + } + + + + @Override + public AjaxResult detectShelf() { + //查找为空的货架 + List<Container> containers =containerService.selectListShelf(); + List<String> stringList = new ArrayList<>(); + for(Container item : containers){ + stringList.add(item.getGoodsShelfNo()); + } + Integer flag = 1; + + //修改空货架状态 + flag = pointsMapper.updateIsEmpty(stringList, QuantityConstant.POINTS_SOME); + if(flag < 1){ + return AjaxResult.error("修改空货架状态失败"); + } + + + //查找所以货架 + LambdaQueryWrapper<Points> pointsLamb = Wrappers.lambdaQuery(); + pointsLamb.eq(Points::getWarehouseCode,ShiroUtils.getWarehouseCode()); + List<Points> pointsList = this.list(pointsLamb); + + //去重 + List<String> list =new ArrayList<>(); + for(Points item : pointsList){ + list.add(item.getGoodsShelfNo()); + } + + List<String> list1 = ListUtils.subtract(list,stringList); + + //修改非空货架 + flag = pointsMapper.updateIsEmpty(list1,QuantityConstant.POINTS_EMPTY); + if(flag < 1){ + return AjaxResult.error("修改空货架状态失败"); + } + + return AjaxResult.success("成功"); + } + +} diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java index 46c3106..b9518af 100644 --- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java +++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/controller/ShippingCombinationController.java @@ -19,6 +19,8 @@ import com.huaheng.pc.shipment.shipmentDetail.service.ShipmentDetailServiceImpl; import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader; import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService; import com.huaheng.pc.shipment.shippingCombination.service.ShippingCombinationService; +import com.huaheng.pc.task.taskHeader.domain.TaskHeader; +import com.huaheng.pc.task.taskHeader.service.TaskHeaderService; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -46,6 +48,8 @@ public class ShippingCombinationController extends BaseController { ShipmentHeaderService shipmentHeaderService; @Autowired ShipmentPreferenceService shipmentPreferenceService; + @Autowired + TaskHeaderService taskHeaderService; /** diff --git a/src/main/resources/mybatis/config/AddressMapper.xml b/src/main/resources/mybatis/config/AddressMapper.xml index 6d76e05..20b9b48 100644 --- a/src/main/resources/mybatis/config/AddressMapper.xml +++ b/src/main/resources/mybatis/config/AddressMapper.xml @@ -5,11 +5,12 @@ <!--@mbg.generated--> <id column="id" jdbcType="INTEGER" property="id" /> <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="number" jdbcType="INTEGER" property="number" /> <result column="param" jdbcType="VARCHAR" property="param" /> <result column="url" jdbcType="VARCHAR" property="url" /> </resultMap> <sql id="Base_Column_List"> <!--@mbg.generated--> - id, warehouseCode, param,url + id, warehouseCode,number, param,url </sql> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/ContainerMapper.xml b/src/main/resources/mybatis/config/ContainerMapper.xml index db19354..886541a 100644 --- a/src/main/resources/mybatis/config/ContainerMapper.xml +++ b/src/main/resources/mybatis/config/ContainerMapper.xml @@ -78,4 +78,13 @@ ) </foreach> </insert> + + <select id="selectListShelf" resultType="com.huaheng.pc.config.container.domain.Container"> + SELECT + g.goodsShelfNo + FROM + ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE `status` = 'empty' AND type = 'A' GROUP BY goodsShelfNo ) g + INNER JOIN ( SELECT DISTINCT ( goodsShelfNo ) goodsShelfNo, COUNT( * ) cunt FROM container WHERE type = 'A' GROUP BY goodsShelfNo ) s ON g.goodsShelfNo = s.goodsShelfNo + AND g.cunt = s.cunt + </select> </mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis/config/PointsMapper.xml b/src/main/resources/mybatis/config/PointsMapper.xml new file mode 100644 index 0000000..ee036d5 --- /dev/null +++ b/src/main/resources/mybatis/config/PointsMapper.xml @@ -0,0 +1,65 @@ +<?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.huaheng.pc.config.points.mapper.PointsMapper"> + <resultMap id="BaseResultMap" type="com.huaheng.pc.config.points.domain.Points"> + <!--@mbg.generated--> + <id column="id" jdbcType="INTEGER" property="id" /> + <result column="warehouseCode" jdbcType="VARCHAR" property="warehouseCode" /> + <result column="companyCode" jdbcType="VARCHAR" property="companyCode" /> + <result column="goodsShelfNo" jdbcType="VARCHAR" property="goodsShelfNo" /> + <result column="intX" jdbcType="VARCHAR" property="intX" /> + <result column="intY" jdbcType="VARCHAR" property="intY" /> + <result column="oIntX" jdbcType="VARCHAR" property="oIntX" /> + <result column="oIntY" jdbcType="VARCHAR" property="oIntY" /> + <result column="num" jdbcType="INTEGER" property="num" /> + <result column="isEmpty" jdbcType="INTEGER" property="isEmpty" /> + <result column="isEnable" jdbcType="INTEGER" property="isEnable" /> + <result column="isLocked" jdbcType="INTEGER" property="isLocked" /> + </resultMap> + <sql id="Base_Column_List"> + <!--@mbg.generated--> + warehouseCode,companyCode,goodsShelfNo,intX,intY,oIntX,oIntY,num,isEmpty,isEnable,isLocked + </sql> + + + <update id="updatePoints"> + UPDATE points + <set> + <if test="isLocked != null"> + isLocked = #{isLocked, jdbcType=INTEGER}, + </if> + <if test="intX != null"> + intX = #{intX, jdbcType=VARCHAR}, + </if> + <if test="intY != null"> + intY = #{intY, jdbcType=VARCHAR}, + </if> + <if test="oIntX != null"> + oIntX = #{oIntX, jdbcType=VARCHAR}, + </if> + <if test="oIntY != null"> + oIntY = #{oIntY, jdbcType=VARCHAR}, + </if> + <if test="num != null"> + num = #{num, jdbcType=INTEGER}, + </if> + </set> + where goodsShelfNo=#{goodsShelfNo} and warehouseCode=#{warehouseCode} + </update> + + + + <update id="updateAll"> + update points set isLocked = 0 + </update> + + + <update id="updateIsEmpty"> + update points set isEmpty = #{isEmpty} + WHERE goodsShelfNo IN + <foreach collection="list" item="item" index="index" open="(" close=")" separator=","> + #{item} + </foreach> + + </update> +</mapper> \ No newline at end of file diff --git a/src/main/resources/static/huaheng.png b/src/main/resources/static/huaheng.png index 3c66d7f..463550d 100644 --- a/src/main/resources/static/huaheng.png +++ b/src/main/resources/static/huaheng.png diff --git a/src/main/resources/templates/config/point/edit.html b/src/main/resources/templates/config/point/edit.html new file mode 100644 index 0000000..1f60a90 --- /dev/null +++ b/src/main/resources/templates/config/point/edit.html @@ -0,0 +1,69 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-zone-edit"> + <div class="form-group"> + <label class="col-sm-3 control-label">货架号:</label> + <div class="col-sm-8"> + <input id="goodsShelfNo" name="goodsShelfNo" class="form-control" type="text"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">货主:</label> + <div class="col-sm-8"> + <select id="companyCode" name="companyCode" class="form-control" th:with="list=${@company.selectCompanyByCurrentUserId()}"> + <option th:each="item : ${list}" th:text="${item['name']}" th:value="${item['code']}" th:attr = " code = ${item['code']}"></option> + </select> + </div> + </div> + <div class="form-group"> + <div class="form-control-static col-sm-offset-9"> + <button type="submit" class="btn btn-primary">提交</button> + <button onclick="$.modal.close()" class="btn btn-danger" type="button">关闭</button> + </div> + </div> + </form> +</div> +<div th:include="include::footer"></div> +<script type="text/javascript"> + let prefix = ctx + "config/point"; + $("#form-zone-edit").validate({ + rules:{ + XX:{ + required:true, + }, + }, + submitHandler: function(form) { + let tableValue = $.common.getTableValue("#form-zone-edit"); + $.operate.save(prefix + "/edit", tableValue); + } + }); + + $(function () { + $("#goodsShelfNo").val(window.parent.goodsShelfNos); + $("select[name='companyCode']").change(function (e) { + let companyCode=$("select[name='companyCode'] option:selected").attr('code'); + $.ajax({ + url: ctx + "receipt/receiptHeader/getwarehouse", + type:'post', + data:{code:companyCode}, + success:function (response) { + if(response.code===200){ + $("select[name='uWarehouseCode']").children().remove(); + $("select[name='uWarehouseCode']").append(`<option value="">所有</option>`); + for (let item of response.data) { + let option=`<option value="${item.uWarehouseCode}">${item.uWarehouseName}</option>`; + $("select[name='uWarehouseCode']").append(option); + } + } + else {$.modal.msgError(response.msg)} + } + }) + }) + }) +</script> +</body> +</html> diff --git a/src/main/resources/templates/config/point/point.html b/src/main/resources/templates/config/point/point.html new file mode 100644 index 0000000..b05ea27 --- /dev/null +++ b/src/main/resources/templates/config/point/point.html @@ -0,0 +1,145 @@ +<!DOCTYPE HTML> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<meta charset="utf-8"> +<head th:include="include :: header"></head> +<body class="gray-bg"> +<div class="container-div"> + <div class="row"> + <div class="col-sm-12 select-info"> + <form id="zone-form"> + <div class="select-list"> + <ul> + <li> + 货架号:<input type="text" id="goodsShelfNo" name="goodsShelfNo"/> + </li> + <li> + 货主:<select name="companyCode" th:with="company=${@company.getEnableCompanyList()}"> + <option value="">所有</option> + <option th:each="e : ${company}" th:text="${e['name']}" th:value="${e['code']}"></option></select> + </li> + <li> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset('zone-form')"><i class="fa fa-refresh"></i> 重置</a> + </li> + </ul> + </div> + </form> + </div> + + <!--<div class="btn-group hidden-xs" id="toolbar" role="group">--> + <!--<a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:zone:add">--> + <!--<i class="fa fa-plus"></i> 新增--> + <!--</a>--> + <!--<a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:zone:remove">--> + <!--<i class="fa fa-trash-o"></i> 删除--> + <!--</a>--> + <!--</div>--> + + <div class="col-sm-12 select-info"> + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="restore()"> + <i class="fa fa-paper-plane"></i> 状态恢复 + </a> + <a class="btn btn-outline btn-primary btn-rounded to-receive" onclick="detectShelf()"> + <i class="fa fa-paper-plane"></i> 检测空货架 + </a> + <table id="bootstrap-table" data-mobile-responsive="true" class="table table-bordered table-hover"></table> + </div> + </div> +</div> +<div th:include="include :: footer"></div> +<script th:inline="javascript"> + var prefix = ctx + "config/point"; + var goodsShelfNos=null; + $(function() { + let options = { + url: prefix + "/list", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + modalName: "货架", + search: false, + columns: [ + // { + // checkbox: true + // }, + { + field : 'goodsShelfNo', + title : '货架号', + sortable:true + }, + { + field : 'companyName', + title : '货主名称', + sortable:true + }, + { + field : 'isEmpty', + title : '是否空货架', + sortable:true, + formatter: function (value, item, index) { + if (value==true) { + return '<span class="badge" style="background-color: #00B83F;color: white;width: 36px;">' + ' 是 ' + '</span>'; + } + else if (value==false) { + return '<span class="badge" style="background-color: #ff0000;color: white;width: 36px;">' + ' 否 ' + '</span>'; + } + } + }, + { + title: '操作', + align: 'center', + formatter: function(value, row, index) { + let actions = []; + actions.push('<a class="btn btn-success btn-xs" onclick="Edit(\'' + row.id + '\' , \'' + row.goodsShelfNo + '\' )"><i class="fa fa-edit"></i>编辑</a> '); + return actions.join(''); + } + } + ] + }; + $.table.init(options); + }); + + function Edit(id, code) { + goodsShelfNos=code; + $.operate.edit(id) + } + + /* 恢复 */ + function restore() { + $.ajax({ + url:prefix+'/restore', + type:'post', + success:function (res) { + if(res.code==200){ + $.table.refresh(); + $.modal.msgSuccess(res.msg); + } + else{ + $.modal.msgError(res.msg); + } + } + }) + } + + + + /* 检测货架装货状态 */ + function detectShelf() { + $.ajax({ + url:prefix+'/detectShelf', + type:'post', + success:function (res) { + if(res.code==200){ + $.table.refresh(); + $.modal.msgSuccess(res.msg); + } + else{ + $.modal.msgError(res.msg); + } + } + }) + } + +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/index.html b/src/main/resources/templates/index.html index 4163164..44a297d 100644 --- a/src/main/resources/templates/index.html +++ b/src/main/resources/templates/index.html @@ -4,9 +4,9 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="renderer" content="webkit"> - <title>政田WMS管理系统首页</title> - <meta name="keywords" content="政田WMS管理系统首页"> - <meta name="description" content="政田WMS管理系统首页"> + <title>华恒WMS管理系统首页</title> + <meta name="keywords" content="华恒WMS管理系统首页"> + <meta name="description" content="华恒WMS管理系统首页"> <!--[if lt IE 9]> <meta http-equiv="refresh" content="0;ie.html"/> <![endif]--> @@ -31,7 +31,7 @@ <li class="nav-header"> <div class="dropdown profile-element"> <span class="pull-left" style="padding-right: 10px;"> - <img th:src="(${user.avatar} == '') ? 'img/profiles.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/> + <img th:src="(${user.avatar} == '') ? 'img/profile.jpg' : 'profile/' + ${user.avatar}" alt="image" class="img-circle" height="45" width="45"/> </span> <a href="#" class="dropdown-toggle" data-toggle="dropdown"> <span class="pull-left clear"> diff --git a/src/main/resources/templates/login.html b/src/main/resources/templates/login.html index a2e7a0b..2f617f9 100644 --- a/src/main/resources/templates/login.html +++ b/src/main/resources/templates/login.html @@ -4,8 +4,8 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> - <title>政田WMS仓库管理系统 - 登录</title> - <meta name="keywords" content="政田WMS管理系统"> + <title>华恒WMS仓库管理系统 - 登录</title> + <meta name="keywords" content="华恒WMS管理系统"> <meta name="description" content="huaheng"> <link href="../static/css/bootstrap.min.css" th:href="@{css/bootstrap.min.css}" rel="stylesheet"/> <link href="../static/css/font-awesome.css" th:href="@{css/font-awesome.css}" rel="stylesheet"/> @@ -38,7 +38,7 @@ <h1><img alt="[ 华恒 ]" src="../static/huaheng.png" th:src="@{/huaheng.png}"></h1> </div> <div class="m-b"></div> - <h4>欢迎使用政田WMS仓库管理系统_v2.0</h4> + <h4>欢迎使用华恒WMS仓库管理系统_v2.0</h4> <!--<ul class="m-b">--> <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> SpringBoot</li>--> <!--<li><i class="fa fa-arrow-circle-o-right m-r-xs"></i> Mybatis</li>--> diff --git a/src/main/resources/templates/system/user/edit.html b/src/main/resources/templates/system/user/edit.html index 3c52036..ccd7e3f 100644 --- a/src/main/resources/templates/system/user/edit.html +++ b/src/main/resources/templates/system/user/edit.html @@ -58,14 +58,14 @@ </div> </div> </div> - <div class="form-group"> - <label class="col-sm-3 control-label">货主:</label> - <div class="col-sm-8"> - <label th:each="company:${companys}" class="checkbox-inline i-checks"> - <input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" > - </label> - </div> - </div> + <!--<div class="form-group">--> + <!--<label class="col-sm-3 control-label">货主:</label>--> + <!--<div class="col-sm-8">--> + <!--<label th:each="company:${companys}" class="checkbox-inline i-checks">--> + <!--<input name="company" type="checkbox" th:value="${company.id}" th:text=" ${company.name}" th:checked="${company.flag}" >--> + <!--</label>--> + <!--</div>--> + <!--</div>--> <div class="form-group"> <label class="col-sm-3 control-label">仓库:</label> diff --git a/src/main/resources/templates/system/user/profile/profile.html b/src/main/resources/templates/system/user/profile/profile.html index 37892d7..aaaee57 100644 --- a/src/main/resources/templates/system/user/profile/profile.html +++ b/src/main/resources/templates/system/user/profile/profile.html @@ -35,7 +35,7 @@ <div class="contact-box"> <div class="col-sm-4"> <div class="text-center"> - <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profiles.jpg' : '/profile/' + ${user.avatar}"> + <img alt="image" class="img-circle m-t-xs img-responsive" th:src="(${user.avatar} == '') ? '../../img/profile.jpg' : '/profile/' + ${user.avatar}"> <div class="m-t-xs font-bold">[[${user.loginIp}]]</div> </div> </div>