自动化立体仓库 - WMS系统
*
lsh
2 天以前 49f306cb470a8ee824204b701796d1d8f63ff223
*
8个文件已修改
18个文件已添加
2746 ■■■■■ 已修改文件
src/main/java/basAgvLocDetl.sql 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/basAgvWrkDetl.sql 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BasAgvLocDetlController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasAgvLocDetl.java 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java 503 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/WrkMast.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasAgvLocDetlMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasAgvLocDetlService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasAgvLocDetlServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/task/WorkLogScheduler.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/service/CommonService.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/WcsController.java 66 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasAgvLocDetlMapper.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/BasAgvWrkDetlMapper.xml 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basAgvLocDetl/basAgvLocDetl.js 301 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/wrkMast/wrkMast.js 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basAgvLocDetl/basAgvLocDetl.html 386 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html 391 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakin/order.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderPakout/order.html 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/basAgvLocDetl.sql
New file
@@ -0,0 +1,18 @@
-- save basAgvLocDetl record
-- mysql
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl/basAgvLocDetl.html', 'basAgvLocDetl管理', null , '2', null , '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl#view', '查询', '', '3', '0', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl#btn-add', '新增', '', '3', '1', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl#btn-edit', '编辑', '', '3', '2', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl#btn-delete', '删除', '', '3', '3', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvLocDetl#btn-export', '导出', '', '3', '4', '1');
-- sqlserver
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl/basAgvLocDetl.html', N'basAgvLocDetl管理', null, '2', null, '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl#view', N'查询', '', '3', '0', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl#btn-add', N'新增', '', '3', '1', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl#btn-edit', N'编辑', '', '3', '2', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl#btn-delete', N'删除', '', '3', '3', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvLocDetl#btn-export', N'导出', '', '3', '4', '1');
src/main/java/basAgvWrkDetl.sql
New file
@@ -0,0 +1,18 @@
-- save basAgvWrkDetl record
-- mysql
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl/basAgvWrkDetl.html', 'basAgvWrkDetl管理', null , '2', null , '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#view', '查询', '', '3', '0', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-add', '新增', '', '3', '1', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-edit', '编辑', '', '3', '2', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-delete', '删除', '', '3', '3', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'basAgvWrkDetl#btn-export', '导出', '', '3', '4', '1');
-- sqlserver
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl/basAgvWrkDetl.html', N'basAgvWrkDetl管理', null, '2', null, '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#view', N'查询', '', '3', '0', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-add', N'新增', '', '3', '1', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-edit', N'编辑', '', '3', '2', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-delete', N'删除', '', '3', '3', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'basAgvWrkDetl#btn-export', N'导出', '', '3', '4', '1');
src/main/java/com/zy/asrs/controller/BasAgvLocDetlController.java
New file
@@ -0,0 +1,9 @@
package com.zy.asrs.controller;
import com.zy.common.web.BaseController;
import org.springframework.web.bind.annotation.*;
@RestController
public class BasAgvLocDetlController extends BaseController {
}
src/main/java/com/zy/asrs/controller/BasAgvWrkDetlController.java
New file
@@ -0,0 +1,9 @@
package com.zy.asrs.controller;
import com.zy.common.web.BaseController;
import org.springframework.web.bind.annotation.*;
@RestController
public class BasAgvWrkDetlController extends BaseController {
}
src/main/java/com/zy/asrs/entity/BasAgvLocDetl.java
New file
@@ -0,0 +1,338 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.core.common.SpringUtils;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.entity.LocMast;
import com.baomidou.mybatisplus.annotations.TableField;
import com.core.common.SpringUtils;
import com.zy.common.utils.Synchro;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
@Data
@TableName("asr_bas_agv_loc_detl")
public class BasAgvLocDetl implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 库位号
     */
    @ApiModelProperty(value= "库位号")
    @TableField("loc_no")
    private String locNo;
    /**
     * 托盘条码
     */
    @ApiModelProperty(value= "托盘条码")
    private String zpallet;
    /**
     * 数量
     */
    @ApiModelProperty(value= "数量")
    private Double anfme;
    /**
     * 物料
     */
    @ApiModelProperty(value= "物料")
    private String matnr;
    /**
     * 物料描述
     */
    @ApiModelProperty(value= "物料描述")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value= "批号")
    private String batch;
    @ApiModelProperty(value= "")
    @TableField("order_no")
    private String orderNo;
    /**
     * 仓库号
     */
    @ApiModelProperty(value= "仓库号")
    private String specs;
    /**
     * 转储请求编号
     */
    @ApiModelProperty(value= "转储请求编号")
    private String model;
    /**
     * 颜色
     */
    @ApiModelProperty(value= "颜色")
    private String color;
    @ApiModelProperty(value= "")
    private String brand;
    @ApiModelProperty(value= "")
    private String unit;
    @ApiModelProperty(value= "")
    private Double price;
    @ApiModelProperty(value= "")
    private String sku;
    @ApiModelProperty(value= "")
    private Double units;
    @ApiModelProperty(value= "")
    private String barcode;
    @ApiModelProperty(value= "")
    private String origin;
    @ApiModelProperty(value= "")
    private String manu;
    @ApiModelProperty(value= "")
    @TableField("manu_date")
    private String manuDate;
    @ApiModelProperty(value= "")
    @TableField("item_num")
    private String itemNum;
    @ApiModelProperty(value= "")
    @TableField("safe_qty")
    private Double safeQty;
    @ApiModelProperty(value= "")
    private Double weight;
    @ApiModelProperty(value= "")
    @TableField("man_length")
    private Double manLength;
    @ApiModelProperty(value= "")
    private Double volume;
    @ApiModelProperty(value= "")
    @TableField("three_code")
    private String threeCode;
    @ApiModelProperty(value= "")
    private String supp;
    @ApiModelProperty(value= "")
    @TableField("supp_code")
    private String suppCode;
    @ApiModelProperty(value= "")
    @TableField("be_batch")
    private Integer beBatch;
    @ApiModelProperty(value= "")
    @TableField("dead_time")
    private String deadTime;
    @ApiModelProperty(value= "")
    @TableField("dead_warn")
    private Integer deadWarn;
    @ApiModelProperty(value= "")
    private Integer source;
    @ApiModelProperty(value= "")
    private Integer inspect;
    @ApiModelProperty(value= "")
    private Integer danger;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date modiTime;
    /**
     * 创建者
     */
    @ApiModelProperty(value= "创建者")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date appeTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    /**
     * 库龄
     */
    @ApiModelProperty(value= "库龄")
    @TableField("store_date")
    private Double storeDate;
    @ApiModelProperty(value= "")
    private Integer owner;
    /**
     * 是否冻结,0.未冻结,1.已冻结
     */
    @ApiModelProperty(value= "是否冻结,0.未冻结,1.已冻结")
    private Integer frozen;
    @ApiModelProperty(value= "")
    private String standby1;
    @ApiModelProperty(value= "")
    private String standby2;
    @ApiModelProperty(value= "")
    private String standby3;
    @ApiModelProperty(value= "")
    @TableField("box_type1")
    private String boxType1;
    @ApiModelProperty(value= "")
    @TableField("box_type2")
    private String boxType2;
    @ApiModelProperty(value= "")
    @TableField("box_type3")
    private String boxType3;
    public BasAgvLocDetl() {}
    public BasAgvLocDetl(String locNo,String zpallet,Double anfme,String matnr,String maktx,String batch,String orderNo,String specs,String model,String color,String brand,String unit,Double price,String sku,Double units,String barcode,String origin,String manu,String manuDate,String itemNum,Double safeQty,Double weight,Double manLength,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer inspect,Integer danger,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String memo,Double storeDate,Integer owner,Integer frozen,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
        this.locNo = locNo;
        this.zpallet = zpallet;
        this.anfme = anfme;
        this.matnr = matnr;
        this.maktx = maktx;
        this.batch = batch;
        this.orderNo = orderNo;
        this.specs = specs;
        this.model = model;
        this.color = color;
        this.brand = brand;
        this.unit = unit;
        this.price = price;
        this.sku = sku;
        this.units = units;
        this.barcode = barcode;
        this.origin = origin;
        this.manu = manu;
        this.manuDate = manuDate;
        this.itemNum = itemNum;
        this.safeQty = safeQty;
        this.weight = weight;
        this.manLength = manLength;
        this.volume = volume;
        this.threeCode = threeCode;
        this.supp = supp;
        this.suppCode = suppCode;
        this.beBatch = beBatch;
        this.deadTime = deadTime;
        this.deadWarn = deadWarn;
        this.source = source;
        this.inspect = inspect;
        this.danger = danger;
        this.modiUser = modiUser;
        this.modiTime = modiTime;
        this.appeUser = appeUser;
        this.appeTime = appeTime;
        this.memo = memo;
        this.storeDate = storeDate;
        this.owner = owner;
        this.frozen = frozen;
        this.standby1 = standby1;
        this.standby2 = standby2;
        this.standby3 = standby3;
        this.boxType1 = boxType1;
        this.boxType2 = boxType2;
        this.boxType3 = boxType3;
    }
    public String getLocNo$(){
        LocMastService service = SpringUtils.getBean(LocMastService.class);
        LocMast locMast = service.selectById(this.locNo);
        if (!Cools.isEmpty(locMast)){
            return String.valueOf(locMast.getLocNo());
        }
        return null;
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getAppeTime$(){
        if (Cools.isEmpty(this.appeTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/BasAgvWrkDetl.java
New file
@@ -0,0 +1,503 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.zy.common.utils.Synchro;
import org.springframework.format.annotation.DateTimeFormat;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.core.common.SpringUtils;
import com.zy.system.service.UserService;
import com.zy.system.entity.User;
import java.text.SimpleDateFormat;
import java.util.Date;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;
@Data
@TableName("asr_bas_agv_wrk_detl")
public class BasAgvWrkDetl implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 工作号
     */
    @ApiModelProperty(value= "工作号")
    @TableField("wrk_no")
    private Integer wrkNo;
    /**
     * 工作时间
     */
    @ApiModelProperty(value= "工作时间")
    @TableField("io_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date ioTime;
    /**
     * 数量
     */
    @ApiModelProperty(value= "数量")
    private Double anfme;
    /**
     * 托盘条码
     */
    @ApiModelProperty(value= "托盘条码")
    private String zpallet;
    /**
     * 商品编号
     */
    @ApiModelProperty(value= "商品编号")
    private String matnr;
    /**
     * 商品名称
     */
    @ApiModelProperty(value= "商品名称")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value= "批号")
    private String batch;
    /**
     * 单据编号
     */
    @ApiModelProperty(value= "单据编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 规格
     */
    @ApiModelProperty(value= "规格")
    private String specs;
    /**
     * 型号
     */
    @ApiModelProperty(value= "型号")
    private String model;
    /**
     * 颜色
     */
    @ApiModelProperty(value= "颜色")
    private String color;
    /**
     * 品牌
     */
    @ApiModelProperty(value= "品牌")
    private String brand;
    /**
     * 单位
     */
    @ApiModelProperty(value= "单位")
    private String unit;
    /**
     * 单价
     */
    @ApiModelProperty(value= "单价")
    private Double price;
    /**
     * sku
     */
    @ApiModelProperty(value= "sku")
    private String sku;
    /**
     * 单位量
     */
    @ApiModelProperty(value= "单位量")
    private Double units;
    /**
     * 条码
     */
    @ApiModelProperty(value= "条码")
    private String barcode;
    /**
     * 产地
     */
    @ApiModelProperty(value= "产地")
    private String origin;
    /**
     * 厂家
     */
    @ApiModelProperty(value= "厂家")
    private String manu;
    /**
     * 生产日期
     */
    @ApiModelProperty(value= "生产日期")
    @TableField("manu_date")
    private String manuDate;
    /**
     * 品项数
     */
    @ApiModelProperty(value= "品项数")
    @TableField("item_num")
    private String itemNum;
    /**
     * 安全库存量
     */
    @ApiModelProperty(value= "安全库存量")
    @TableField("safe_qty")
    private Double safeQty;
    /**
     * 重量
     */
    @ApiModelProperty(value= "重量")
    private Double weight;
    /**
     * 长度
     */
    @ApiModelProperty(value= "长度")
    @TableField("man_length")
    private Double manLength;
    /**
     * 体积
     */
    @ApiModelProperty(value= "体积")
    private Double volume;
    /**
     * 三方编码
     */
    @ApiModelProperty(value= "三方编码")
    @TableField("three_code")
    private String threeCode;
    /**
     * 供应商
     */
    @ApiModelProperty(value= "供应商")
    private String supp;
    /**
     * 供应商编码
     */
    @ApiModelProperty(value= "供应商编码")
    @TableField("supp_code")
    private String suppCode;
    /**
     * 是否批次 1: 是  0: 否
     */
    @ApiModelProperty(value= "是否批次 1: 是  0: 否  ")
    @TableField("be_batch")
    private Integer beBatch;
    /**
     * 保质期
     */
    @ApiModelProperty(value= "保质期")
    @TableField("dead_time")
    private String deadTime;
    /**
     * 预警天数
     */
    @ApiModelProperty(value= "预警天数")
    @TableField("dead_warn")
    private Integer deadWarn;
    /**
     * 制购 1: 制造  2: 采购  3: 外协
     */
    @ApiModelProperty(value= "制购 1: 制造  2: 采购  3: 外协  ")
    private Integer source;
    /**
     * 要求检验 1: 是  0: 否
     */
    @ApiModelProperty(value= "要求检验 1: 是  0: 否  ")
    private Integer inspect;
    /**
     * 危险品 1: 是  0: 否
     */
    @ApiModelProperty(value= "危险品 1: 是  0: 否  ")
    private Integer danger;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("modi_user")
    private Long modiUser;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("modi_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date modiTime;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    @TableField("appe_user")
    private Long appeUser;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("appe_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date appeTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    @ApiModelProperty(value= "")
    @TableField("line_number")
    private Long lineNumber;
    @ApiModelProperty(value= "")
    private String standby1;
    @ApiModelProperty(value= "")
    private String standby2;
    @ApiModelProperty(value= "")
    private String standby3;
    @ApiModelProperty(value= "")
    @TableField("box_type1")
    private String boxType1;
    @ApiModelProperty(value= "")
    @TableField("box_type2")
    private String boxType2;
    @ApiModelProperty(value= "")
    @TableField("box_type3")
    private String boxType3;
    public BasAgvWrkDetl() {}
    public BasAgvWrkDetl(Integer wrkNo,Date ioTime,Double anfme,String zpallet,String matnr,String maktx,String batch,String orderNo,String specs,String model,String color,String brand,String unit,Double price,String sku,Double units,String barcode,String origin,String manu,String manuDate,String itemNum,Double safeQty,Double weight,Double manLength,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer inspect,Integer danger,Long modiUser,Date modiTime,Long appeUser,Date appeTime,String memo,Long lineNumber,String standby1,String standby2,String standby3,String boxType1,String boxType2,String boxType3) {
        this.wrkNo = wrkNo;
        this.ioTime = ioTime;
        this.anfme = anfme;
        this.zpallet = zpallet;
        this.matnr = matnr;
        this.maktx = maktx;
        this.batch = batch;
        this.orderNo = orderNo;
        this.specs = specs;
        this.model = model;
        this.color = color;
        this.brand = brand;
        this.unit = unit;
        this.price = price;
        this.sku = sku;
        this.units = units;
        this.barcode = barcode;
        this.origin = origin;
        this.manu = manu;
        this.manuDate = manuDate;
        this.itemNum = itemNum;
        this.safeQty = safeQty;
        this.weight = weight;
        this.manLength = manLength;
        this.volume = volume;
        this.threeCode = threeCode;
        this.supp = supp;
        this.suppCode = suppCode;
        this.beBatch = beBatch;
        this.deadTime = deadTime;
        this.deadWarn = deadWarn;
        this.source = source;
        this.inspect = inspect;
        this.danger = danger;
        this.modiUser = modiUser;
        this.modiTime = modiTime;
        this.appeUser = appeUser;
        this.appeTime = appeTime;
        this.memo = memo;
        this.lineNumber = lineNumber;
        this.standby1 = standby1;
        this.standby2 = standby2;
        this.standby3 = standby3;
        this.boxType1 = boxType1;
        this.boxType2 = boxType2;
        this.boxType3 = boxType3;
    }
//    BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl(
//            null,    // 工作号[非空]
//            null,    // 工作时间
//            null,    // 数量
//            null,    // 托盘条码
//            null,    // 商品编号[非空]
//            null,    // 商品名称
//            null,    // 批号
//            null,    // 单据编号
//            null,    // 规格
//            null,    // 型号
//            null,    // 颜色
//            null,    // 品牌
//            null,    // 单位
//            null,    // 单价
//            null,    // sku
//            null,    // 单位量
//            null,    // 条码
//            null,    // 产地
//            null,    // 厂家
//            null,    // 生产日期
//            null,    // 品项数
//            null,    // 安全库存量
//            null,    // 重量
//            null,    // 长度
//            null,    // 体积
//            null,    // 三方编码
//            null,    // 供应商
//            null,    // 供应商编码
//            null,    // 是否批次
//            null,    // 保质期
//            null,    // 预警天数
//            null,    // 制购
//            null,    // 要求检验
//            null,    // 危险品
//            null,    // 修改人员
//            null,    // 修改时间
//            null,    // 添加人员
//            null,    // 添加时间
//            null,    // 备注
//            null,    //
//            null,    //
//            null,    //
//            null,    //
//            null,    //
//            null,    //
//            null    //
//    );
    public String getIoTime$(){
        if (Cools.isEmpty(this.ioTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.ioTime);
    }
    public String getBeBatch$(){
        if (null == this.beBatch){ return null; }
        switch (this.beBatch){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.beBatch);
        }
    }
    public String getSource$(){
        if (null == this.source){ return null; }
        switch (this.source){
            case 1:
                return "制造";
            case 2:
                return "采购";
            case 3:
                return "外协";
            default:
                return String.valueOf(this.source);
        }
    }
    public String getInspect$(){
        if (null == this.inspect){ return null; }
        switch (this.inspect){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.inspect);
        }
    }
    public String getDanger$(){
        if (null == this.danger){ return null; }
        switch (this.danger){
            case 1:
                return "是";
            case 0:
                return "否";
            default:
                return String.valueOf(this.danger);
        }
    }
    public String getModiUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.modiUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getModiTime$(){
        if (Cools.isEmpty(this.modiTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.modiTime);
    }
    public String getAppeUser$(){
        UserService service = SpringUtils.getBean(UserService.class);
        User user = service.selectById(this.appeUser);
        if (!Cools.isEmpty(user)){
            return String.valueOf(user.getNickname());
        }
        return null;
    }
    public String getAppeTime$(){
        if (Cools.isEmpty(this.appeTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.appeTime);
    }
    public void sync(Object source) {
        Synchro.Copy(source, this);
    }
}
src/main/java/com/zy/asrs/entity/WrkMast.java
@@ -481,6 +481,51 @@
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.errorTime);
    }
    public String getTaskNone$(){
        if (Cools.isEmpty(this.takeNone)){
            return "非自动";
        }
        switch (this.takeNone){
            case "0":
                return "非自动";
            case "1":
                return "等待下发";
            case "2":
                return "已下发";
            case "3":
                return "无需下发";
            case "4":
                return "无可用AGV库位";
            default:
                return "非自动";
        }
    }
    public boolean getStaNoAgvSign(){
        if (Cools.isEmpty(this.staNo)){
            return false;
        }
        switch (this.staNo){
            //出库  AGV接
            case 1041:
            case 4006:
            //出库  AGV接  空板供应
            case 2033:
//            //入库  AGV放
//            case 1037:
//            case 2034:
//            case 4003:
//
//            //入库  AGV接   空板
//            case 1039:
                return true;
            default:
                return false;
        }
    }
//    public void setErrorMemo(String errorMemo) {
//        if (errorMemo.length() > 255) {
//            errorMemo = errorMemo.substring(0, 150);
src/main/java/com/zy/asrs/mapper/BasAgvLocDetlMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.BasAgvLocDetl;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface BasAgvLocDetlMapper extends BaseMapper<BasAgvLocDetl> {
}
src/main/java/com/zy/asrs/mapper/BasAgvWrkDetlMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.BasAgvWrkDetl;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface BasAgvWrkDetlMapper extends BaseMapper<BasAgvWrkDetl> {
}
src/main/java/com/zy/asrs/service/BasAgvLocDetlService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.BasAgvLocDetl;
import com.baomidou.mybatisplus.service.IService;
public interface BasAgvLocDetlService extends IService<BasAgvLocDetl> {
}
src/main/java/com/zy/asrs/service/BasAgvWrkDetlService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.BasAgvWrkDetl;
import com.baomidou.mybatisplus.service.IService;
public interface BasAgvWrkDetlService extends IService<BasAgvWrkDetl> {
}
src/main/java/com/zy/asrs/service/impl/BasAgvLocDetlServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.BasAgvLocDetlMapper;
import com.zy.asrs.entity.BasAgvLocDetl;
import com.zy.asrs.service.BasAgvLocDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("basAgvLocDetlService")
public class BasAgvLocDetlServiceImpl extends ServiceImpl<BasAgvLocDetlMapper, BasAgvLocDetl> implements BasAgvLocDetlService {
}
src/main/java/com/zy/asrs/service/impl/BasAgvWrkDetlServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.BasAgvWrkDetlMapper;
import com.zy.asrs.entity.BasAgvWrkDetl;
import com.zy.asrs.service.BasAgvWrkDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("basAgvWrkDetlService")
public class BasAgvWrkDetlServiceImpl extends ServiceImpl<BasAgvWrkDetlMapper, BasAgvWrkDetl> implements BasAgvWrkDetlService {
}
src/main/java/com/zy/asrs/service/impl/WorkServiceImpl.java
@@ -98,6 +98,12 @@
    @Resource
    private OrderPakoutService orderPakOutService;
    @Resource
    private BasAgvLocDetlService basAgvLocDetlService;
    @Resource
    private BasAgvWrkDetlService basAgvWrkDetlService;
    @Override
    @Transactional
    public String startupFullPutStore(FullStoreParam param, Long userId) {
@@ -311,14 +317,7 @@
                dtos.add(new OutLocDto(locNo, locDetlDto));
            }
        }
        Config config = configService.selectConfigByCode("AutoMPArea");
        List<LocMast> list = locMastMapper.selectList(
                new EntityWrapper<LocMast>()
                        .eq("whs_type", 5)
                        .eq("loc_sts", "O")
        );
        LocMast locMastRgv = list.isEmpty() ? null : list.get(0);
        Config configAutoMPArea = configService.selectConfigByCode("AutoMPArea");
        Integer ioType = null;
        // 生成工作档
@@ -364,12 +363,26 @@
            wrkMast.setEmptyMk("N"); // 空板
            wrkMast.setLinkMis("N");
            wrkMast.setBarcode(locMast.getBarcode());
//            if(locMastRgv !=null){
                if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null && ioType != 107) {  //若有空库位且配置允许则绑定其备料库位号
//                    wrkMast.setLocNo(locMastRgv.getLocNo());
                    wrkMast.setTakeNone("0");  //0rgv未取,1rgv已取货
            wrkMast.setTakeNone("0");  //0非自动
            List<BasAgvWrkDetl> basAgvWrkDetls = null;
            List<BasAgvLocDetl> basAgvLocDetls = null;
            try{
                if (Boolean.parseBoolean(configAutoMPArea.getValue())){
                    if (wrkMast.getStaNoAgvSign()){
                        if (ioType==101){
                            // 全板出库
                            basAgvLocDetls = new ArrayList<>();
                        } else {
                            // 拣料出库
                            basAgvWrkDetls = new ArrayList<>();
                        }
                        wrkMast.setTakeNone("1"); //等待下发
                    } else {
                        wrkMast.setTakeNone("3");  //无需AGV搬运
                    }
                }
//            }
            } catch (Exception e) {}  //配置项不存在,不做处理
            wrkMast.setAppeUser(userId); // 操作人员数据
            wrkMast.setAppeTime(now);
            wrkMast.setModiUser(userId);
@@ -377,6 +390,7 @@
            if (!wrkMastService.insert(wrkMast)) {
                throw new CoolException("保存工作档失败,出库库位号:"+dto.getLocNo());
            }
            // 生成工作档明细
            for (LocDetlDto detlDto : dto.getLocDetlDtos()) {
                if (detlDto.getCount()==null || detlDto.getCount() <= 0.0D) {continue;}
@@ -391,6 +405,15 @@
                wrkDetl.setAppeUser(userId);
                wrkDetl.setModiTime(now);
                wrkDetl.setModiUser(userId);
                try{
                    if (basAgvWrkDetls != null){
                        BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl();
                        basAgvWrkDetl.sync(wrkDetl);
                        basAgvWrkDetls.add(basAgvWrkDetl);
                    }
                } catch (Exception e) {}  //配置项不存在,不做处理
                if (!wrkDetlService.insert(wrkDetl)) {
                    throw new CoolException("保存工作档明细失败");
                }
@@ -412,6 +435,18 @@
            // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
            locMast = locMastService.selectById(dto.getLocNo());
            if (locMast.getLocSts().equals("F")) {
                try{
                    if (basAgvLocDetls != null){
                        List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
                        for (LocDetl locDetl : locDetlList) {
                            BasAgvLocDetl basAgvLocDetl = new BasAgvLocDetl();
                            basAgvLocDetl.sync(locDetl);
                            basAgvLocDetls.add(basAgvLocDetl);
                        }
                    }
                } catch (Exception e) {}  //配置项不存在,不做处理
                locMast.setLocSts(ioType==101?"R":"P");
                locMast.setModiUser(userId);
                locMast.setModiTime(now);
@@ -421,6 +456,21 @@
            } else {
                throw new CoolException(dto.getLocNo() + "库位不是在库状态");
            }
            try{
                // 增加AGV库存中转数量
                if (basAgvLocDetls != null){
                    for (BasAgvLocDetl basAgvLocDetl : basAgvLocDetls) {
                        basAgvLocDetlService.insert(basAgvLocDetl);
                    }
                }
                if (basAgvWrkDetls != null){
                    for (BasAgvWrkDetl basAgvWrkDetl : basAgvWrkDetls) {
                        basAgvWrkDetlService.insert(basAgvWrkDetl);
                    }
                }
            }catch (Exception e){}
        }
    }
@@ -434,7 +484,7 @@
                throw new CoolException("订单出库异常,请联系管理员");
            }
        }
        Config config = configService.selectConfigByCode("AutoMPArea");
        Config configAutoMPArea = configService.selectConfigByCode("AutoMPArea");
        // 获取库位
        LocMast locMast = locMastService.selectById(taskDto.getLocNo());
@@ -466,10 +516,27 @@
        wrkMast.setSourceStaNo(staDesc.getCrnStn()); // 源站
        wrkMast.setStaNo(staDesc.getStnNo()); // 目标站
        wrkMast.setSourceLocNo(taskDto.getLocNo()); // 源库位
        if (Boolean.parseBoolean(config.getValue()) && locMastRgv.getLocNo() != null) {  //若有空库位且配置允许则绑定其备料库位号
            wrkMast.setLocNo(locMastRgv.getLocNo());
            wrkMast.setTakeNone("0");  //0rgv未取,1rgv已取货
        }
        wrkMast.setTakeNone("0");  //0非自动
        List<BasAgvWrkDetl> basAgvWrkDetls = null;
        List<BasAgvLocDetl> basAgvLocDetls = null;
        try{
            if (Boolean.parseBoolean(configAutoMPArea.getValue())){
                if (wrkMast.getStaNoAgvSign()){
                    if (ioType==101){
                        // 全板出库
                        basAgvLocDetls = new ArrayList<>();
                    } else {
                        // 拣料出库
                        basAgvWrkDetls = new ArrayList<>();
                    }
                    wrkMast.setTakeNone("1"); //等待下发
                } else {
                    wrkMast.setTakeNone("3");  //无需AGV搬运
                }
            }
        } catch (Exception e) {}  //配置项不存在,不做处理
        wrkMast.setFullPlt("Y"); // 满板:Y
        wrkMast.setPicking("N"); // 拣料
        wrkMast.setExitMk("N"); // 退出
@@ -506,6 +573,15 @@
            wrkDetl.setAppeUser(userId);
            wrkDetl.setModiTime(now);
            wrkDetl.setModiUser(userId);
            try{
                if (basAgvWrkDetls != null){
                    BasAgvWrkDetl basAgvWrkDetl = new BasAgvWrkDetl();
                    basAgvWrkDetl.sync(wrkDetl);
                    basAgvWrkDetls.add(basAgvWrkDetl);
                }
            } catch (Exception e) {}  //配置项不存在,不做处理
            if (!wrkDetlService.insert(wrkDetl)) {
                throw new CoolException("保存工作档明细失败");
            }
@@ -535,6 +611,17 @@
        // 修改库位状态:   F.在库 ====>>> R.出库预约/P.拣料/盘点/并板出库中
        locMast = locMastService.selectById(taskDto.getLocNo());
        if (locMast.getLocSts().equals("F")) {
            try{
                if (basAgvLocDetls != null){
                    List<LocDetl> locDetlList = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", locMast.getLocNo()));
                    for (LocDetl locDetl : locDetlList) {
                        BasAgvLocDetl basAgvLocDetl = new BasAgvLocDetl();
                        basAgvLocDetl.sync(locDetl);
                        basAgvLocDetls.add(basAgvLocDetl);
                    }
                }
            } catch (Exception e) {}  //配置项不存在,不做处理
            locMast.setLocSts(ioType==101?"R":"P");
            locMast.setModiUser(userId);
            locMast.setModiTime(now);
@@ -544,6 +631,23 @@
        } else {
            throw new CoolException(taskDto.getLocNo() + "库位不是在库状态");
        }
        try{
            // 增加AGV库存中转数量
            if (basAgvLocDetls != null){
                for (BasAgvLocDetl basAgvLocDetl : basAgvLocDetls) {
                    basAgvLocDetlService.insert(basAgvLocDetl);
                }
            }
            if (basAgvWrkDetls != null){
                for (BasAgvWrkDetl basAgvWrkDetl : basAgvWrkDetls) {
                    basAgvWrkDetlService.insert(basAgvWrkDetl);
                }
            }
        }catch (Exception e){}
    }
    @Override
src/main/java/com/zy/asrs/task/WorkLogScheduler.java
@@ -42,6 +42,9 @@
                    continue;
                }
            }
            if (!Cools.isEmpty(wrkMast.getTakeNone()) && wrkMast.getTakeNone().equals("1")){
                continue;
            }
            ReturnT<String> result = workLogHandler.start(wrkMast);
            if (!result.isSuccess()) {
                log.error("工作档[workNo={}]历史档处理失败", wrkMast.getWrkNo());
src/main/java/com/zy/common/service/CommonService.java
@@ -1026,15 +1026,16 @@
                log.error("type_no={},stn_no={},crn_no={}", staDescId, sourceStaNo, crnNo);
//                throw new CoolException("入库路径不存在");
                crnNo = 0;
            } else {
                staNo = basDevpService.selectById(staDesc.getCrnStn());
                if (!staNo.getAutoing().equals("Y")) {
                    log.error("目标站" + staDesc.getCrnStn() + "不可用");
//                throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用");
                    crnNo = 0;
                }
                startupDto.setStaNo(staNo.getDevNo());
            }
//            else {
//                staNo = basDevpService.selectById(staDesc.getCrnStn());
//                if (!staNo.getAutoing().equals("Y")) {
//                    log.error("目标站" + staDesc.getCrnStn() + "不可用");
////                throw new CoolException("目标站"+staDesc.getCrnStn()+"不可用");
//                    crnNo = 0;
//                }
//                startupDto.setStaNo(staNo.getDevNo());
//            }
        }
        // 更新库位排号
src/main/java/com/zy/common/web/WcsController.java
@@ -106,6 +106,44 @@
        return R.ok().add(dto);
    }
    @PostMapping("/pakin/agv/loc/v1")
    @ResponseBody
    public synchronized R getLocNoAgv(@RequestBody SearchLocParam param) {
        log.info("收到WCS入库接口请求====>>入参:{}", param);
        if (Cools.isEmpty(param.getIoType())) {
            return R.error("入出库类型不能为空");
        }
        if (Cools.isEmpty(param.getSourceStaNo())) {
            return R.error("源站编号不能为空");
        }
        if (param.getIoType() == 1) {
            if (Cools.isEmpty(param.getBarcode())) {
                return R.error("条码不能为空");
            }
        }
        if (Cools.isEmpty(param.getLocType1())){
            return R.error("高低检测信号不能为空");
        }
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true);
        sourceStaNo.setLocType1(param.getLocType1());
        LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo);
        StartupDto dto = null;
        switch (param.getIoType()) {
            case 1://满托盘入库
            case 10://空托盘入库
                dto = startupFullPutStoreAgv(param.getSourceStaNo(), param.getBarcode(), locTypeDto);
                break;
//                dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode());
//                break;
            default:
                break;
        }
        log.info("WCS入库接口返参:{},托盘码:{}", dto, param.getBarcode());
        return R.ok().add(dto);
    }
    @PostMapping("/auto/emptyIn/v1")
    @ResponseBody
    public R autoEmptyIn(@RequestBody LocTypeDto locTypeDto){
@@ -319,6 +357,34 @@
    /**
     * 全板入库AGV
     */
    @Transactional
    public StartupDto startupFullPutStoreAgv(Integer devpNo, String barcode, LocTypeDto locTypeDto) {
        // 源站点状态检测
        BasDevp sourceStaNo = basDevpService.checkSiteStatus(devpNo, true);
        // 检索库位
        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo();
//        FindLocNoAttributeVo findLocNoAttributeVo = new FindLocNoAttributeVo(waitPakins.get(0));
        StartupDto dto = commonService.getLocNo( 1, devpNo,findLocNoAttributeVo, locTypeDto);
        // 更新目标库位状态
        Date now = new Date();
        LocMast locMast = locMastService.selectById(dto.getLocNo());
        if (locMast.getLocSts().equals("O")){
            locMast.setLocSts("S"); // S.入库预约
            locMast.setBarcode(barcode);
            locMast.setModiTime(now);
            if (!locMastService.updateById(locMast)){
                throw new CoolException("改变库位状态失败");
            }
        } else {
            throw new CoolException(dto.getLocNo()+"目标库位已被占用");
        }
        return dto;
    }
    /**
     * 全板入库
     */
    @Transactional
src/main/resources/mapper/BasAgvLocDetlMapper.xml
New file
@@ -0,0 +1,57 @@
<?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.zy.asrs.mapper.BasAgvLocDetlMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasAgvLocDetl">
        <result column="loc_no" property="locNo" />
        <result column="zpallet" property="zpallet" />
        <result column="anfme" property="anfme" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="batch" property="batch" />
        <result column="order_no" property="orderNo" />
        <result column="specs" property="specs" />
        <result column="model" property="model" />
        <result column="color" property="color" />
        <result column="brand" property="brand" />
        <result column="unit" property="unit" />
        <result column="price" property="price" />
        <result column="sku" property="sku" />
        <result column="units" property="units" />
        <result column="barcode" property="barcode" />
        <result column="origin" property="origin" />
        <result column="manu" property="manu" />
        <result column="manu_date" property="manuDate" />
        <result column="item_num" property="itemNum" />
        <result column="safe_qty" property="safeQty" />
        <result column="weight" property="weight" />
        <result column="man_length" property="manLength" />
        <result column="volume" property="volume" />
        <result column="three_code" property="threeCode" />
        <result column="supp" property="supp" />
        <result column="supp_code" property="suppCode" />
        <result column="be_batch" property="beBatch" />
        <result column="dead_time" property="deadTime" />
        <result column="dead_warn" property="deadWarn" />
        <result column="source" property="source" />
        <result column="inspect" property="inspect" />
        <result column="danger" property="danger" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="store_date" property="storeDate" />
        <result column="owner" property="owner" />
        <result column="frozen" property="frozen" />
        <result column="standby1" property="standby1" />
        <result column="standby2" property="standby2" />
        <result column="standby3" property="standby3" />
        <result column="box_type1" property="boxType1" />
        <result column="box_type2" property="boxType2" />
        <result column="box_type3" property="boxType3" />
    </resultMap>
</mapper>
src/main/resources/mapper/BasAgvWrkDetlMapper.xml
New file
@@ -0,0 +1,56 @@
<?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.zy.asrs.mapper.BasAgvWrkDetlMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.BasAgvWrkDetl">
        <result column="wrk_no" property="wrkNo" />
        <result column="io_time" property="ioTime" />
        <result column="anfme" property="anfme" />
        <result column="zpallet" property="zpallet" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="batch" property="batch" />
        <result column="order_no" property="orderNo" />
        <result column="specs" property="specs" />
        <result column="model" property="model" />
        <result column="color" property="color" />
        <result column="brand" property="brand" />
        <result column="unit" property="unit" />
        <result column="price" property="price" />
        <result column="sku" property="sku" />
        <result column="units" property="units" />
        <result column="barcode" property="barcode" />
        <result column="origin" property="origin" />
        <result column="manu" property="manu" />
        <result column="manu_date" property="manuDate" />
        <result column="item_num" property="itemNum" />
        <result column="safe_qty" property="safeQty" />
        <result column="weight" property="weight" />
        <result column="man_length" property="manLength" />
        <result column="volume" property="volume" />
        <result column="three_code" property="threeCode" />
        <result column="supp" property="supp" />
        <result column="supp_code" property="suppCode" />
        <result column="be_batch" property="beBatch" />
        <result column="dead_time" property="deadTime" />
        <result column="dead_warn" property="deadWarn" />
        <result column="source" property="source" />
        <result column="inspect" property="inspect" />
        <result column="danger" property="danger" />
        <result column="modi_user" property="modiUser" />
        <result column="modi_time" property="modiTime" />
        <result column="appe_user" property="appeUser" />
        <result column="appe_time" property="appeTime" />
        <result column="memo" property="memo" />
        <result column="line_number" property="lineNumber" />
        <result column="standby1" property="standby1" />
        <result column="standby2" property="standby2" />
        <result column="standby3" property="standby3" />
        <result column="box_type1" property="boxType1" />
        <result column="box_type2" property="boxType2" />
        <result column="box_type3" property="boxType3" />
    </resultMap>
</mapper>
src/main/webapp/static/js/basAgvLocDetl/basAgvLocDetl.js
New file
@@ -0,0 +1,301 @@
var pageCurr;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin'], function(){
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var layDate = layui.laydate;
    var form = layui.form;
    var admin = layui.admin;
    // 数据渲染
    tableIns = table.render({
        elem: '#basAgvLocDetl',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/basAgvLocDetl/list/auth',
        page: true,
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        toolbar: '#toolbar',
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'locNo$', align: 'center',title: '库位号'}
            ,{field: 'zpallet', align: 'center',title: '托盘条码'}
            ,{field: 'anfme', align: 'center',title: '数量'}
            ,{field: 'matnr', align: 'center',title: '物料'}
            ,{field: 'maktx', align: 'center',title: '物料描述'}
            ,{field: 'batch', align: 'center',title: '批号'}
            ,{field: 'orderNo', align: 'center',title: ''}
            ,{field: 'specs', align: 'center',title: '仓库号'}
            ,{field: 'model', align: 'center',title: '转储请求编号'}
            ,{field: 'color', align: 'center',title: '颜色'}
            ,{field: 'brand', align: 'center',title: ''}
            ,{field: 'unit', align: 'center',title: ''}
            ,{field: 'price', align: 'center',title: ''}
            ,{field: 'sku', align: 'center',title: ''}
            ,{field: 'units', align: 'center',title: ''}
            ,{field: 'barcode', align: 'center',title: ''}
            ,{field: 'origin', align: 'center',title: ''}
            ,{field: 'manu', align: 'center',title: ''}
            ,{field: 'manuDate', align: 'center',title: ''}
            ,{field: 'itemNum', align: 'center',title: ''}
            ,{field: 'safeQty', align: 'center',title: ''}
            ,{field: 'weight', align: 'center',title: ''}
            ,{field: 'manLength', align: 'center',title: ''}
            ,{field: 'volume', align: 'center',title: ''}
            ,{field: 'threeCode', align: 'center',title: ''}
            ,{field: 'supp', align: 'center',title: ''}
            ,{field: 'suppCode', align: 'center',title: ''}
            ,{field: 'beBatch', align: 'center',title: ''}
            ,{field: 'deadTime', align: 'center',title: ''}
            ,{field: 'deadWarn', align: 'center',title: ''}
            ,{field: 'source', align: 'center',title: ''}
            ,{field: 'inspect', align: 'center',title: ''}
            ,{field: 'danger', align: 'center',title: ''}
            ,{field: 'modiUser$', align: 'center',title: '修改人员'}
            ,{field: 'modiTime$', align: 'center',title: '修改时间'}
            ,{field: 'appeUser$', align: 'center',title: '创建者'}
            ,{field: 'appeTime$', align: 'center',title: '添加时间'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'storeDate', align: 'center',title: '库龄'}
            ,{field: 'owner', align: 'center',title: ''}
            ,{field: 'frozen', align: 'center',title: '是否冻结,0.未冻结,1.已冻结'}
            ,{field: 'standby1', align: 'center',title: ''}
            ,{field: 'standby2', align: 'center',title: ''}
            ,{field: 'standby3', align: 'center',title: ''}
            ,{field: 'boxType1', align: 'center',title: ''}
            ,{field: 'boxType2', align: 'center',title: ''}
            ,{field: 'boxType3', align: 'center',title: ''}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            }
        },
        response: {
            statusCode: 200
        },
        done: function(res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
            }
            pageCurr=curr;
            limit();
        }
    });
    // 监听排序事件
    table.on('sort(basAgvLocDetl)', function (obj) {
        var searchData = {};
        $.each($('#search-box [name]').serializeArray(), function() {
            searchData[this.name] = this.value;
        });
        searchData['orderByField'] = obj.field;
        searchData['orderByType'] = obj.type;
        tableIns.reload({
            where: searchData,
            page: {curr: 1}
        });
    });
    // 监听头工具栏事件
    table.on('toolbar(basAgvLocDetl)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id).data;
        switch(obj.event) {
            case 'addData':
                showEditModel();
                break;
            case 'deleteData':
               if (checkStatus.length === 0) {
                   layer.msg('请选择要删除的数据', {icon: 2});
                   return;
               }
               del(checkStatus.map(function (d) {
                   return d.id;
               }));
               break;
            case 'exportData':
                admin.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
                    var fields=[];
                    obj.config.cols[0].map(function (col) {
                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                            titles.push(col.title);
                            fields.push(col.field);
                        }
                    });
                    var exportData = {};
                    $.each($('#search-box [name]').serializeArray(), function() {
                        exportData[this.name] = this.value;
                    });
                    var param = {
                        'basAgvLocDetl': exportData,
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/basAgvLocDetl/export/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        dataType:'json',
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            layer.closeAll();
                            if (res.code === 200) {
                                table.exportFile(titles,res.data,'xls');
                            } else if (res.code === 403) {
                                top.location.href = baseUrl+"/";
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    });
                });
                break;
        }
    });
    // 监听行工具事件
    table.on('tool(basAgvLocDetl)', function(obj){
        var data = obj.data;
        switch (obj.event) {
            case 'edit':
                showEditModel(data);
                break;
            case "del":
                del([data.id]);
                break;
        }
    });
    /* 弹窗 - 新增、修改 */
    function showEditModel(mData) {
        admin.open({
            type: 1,
            area: '600px',
            title: (mData ? '修改' : '添加') + '订单状态',
            content: $('#editDialog').html(),
            success: function (layero, dIndex) {
                layDateRender(mData);
                form.val('detail', mData);
                form.on('submit(editSubmit)', function (data) {
                    var loadIndex = layer.load(2);
                    $.ajax({
                        url: baseUrl+"/basAgvLocDetl/"+(mData?'update':'add')+"/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: data.field,
                        method: 'POST',
                        success: function (res) {
                            layer.close(loadIndex);
                            if (res.code === 200){
                                layer.close(dIndex);
                                layer.msg(res.msg, {icon: 1});
                                tableReload();
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            }else {
                                layer.msg(res.msg, {icon: 2});
                            }
                        }
                    })
                    return false;
                });
                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                layui.form.render('select');
            }
        });
    }
    /* 删除 */
    function del(ids) {
        layer.confirm('确定要删除选中数据吗?', {
            skin: 'layui-layer-admin',
            shade: .1
        }, function (i) {
            layer.close(i);
            var loadIndex = layer.load(2);
            $.ajax({
                url: baseUrl+"/basAgvLocDetl/delete/auth",
                headers: {'token': localStorage.getItem('token')},
                data: {ids: ids},
                method: 'POST',
                success: function (res) {
                    layer.close(loadIndex);
                    if (res.code === 200){
                        layer.msg(res.msg, {icon: 1});
                        tableReload();
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";
                    } else {
                        layer.msg(res.msg, {icon: 2});
                    }
                }
            })
        });
    }
    // 搜索
    form.on('submit(search)', function (data) {
        pageCurr = 1;
        tableReload(false);
    });
    // 重置
    form.on('submit(reset)', function (data) {
        pageCurr = 1;
        clearFormVal($('#search-box'));
        tableReload(false);
    });
    // 时间选择器
    function layDateRender(data) {
        setTimeout(function () {
            layDate.render({
                elem: '.layui-laydate-range'
                ,type: 'datetime'
                ,range: true
            });
            layDate.render({
                elem: '#modiTime\\$',
                type: 'datetime',
                value: data!==undefined?data['modiTime\\$']:null
            });
            layDate.render({
                elem: '#appeTime\\$',
                type: 'datetime',
                value: data!==undefined?data['appeTime\\$']:null
            });
        }, 300);
    }
    layDateRender();
});
// 关闭动作
$(document).on('click','#data-detail-close', function () {
    parent.layer.closeAll();
});
function tableReload(child) {
    var searchData = {};
    $.each($('#search-box [name]').serializeArray(), function() {
        searchData[this.name] = this.value;
    });
    tableIns.reload({
        where: searchData,
        page: {curr: pageCurr}
     });
}
src/main/webapp/static/js/basAgvWrkDetl/basAgvWrkDetl.js
New file
@@ -0,0 +1,305 @@
var pageCurr;
layui.config({
    base: baseUrl + "/static/layui/lay/modules/"
}).use(['table','laydate', 'form', 'admin'], function(){
    var table = layui.table;
    var $ = layui.jquery;
    var layer = layui.layer;
    var layDate = layui.laydate;
    var form = layui.form;
    var admin = layui.admin;
    // 数据渲染
    tableIns = table.render({
        elem: '#basAgvWrkDetl',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/basAgvWrkDetl/list/auth',
        page: true,
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        toolbar: '#toolbar',
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'wrkNo', align: 'center',title: '工作号'}
            ,{field: 'ioTime$', align: 'center',title: '工作时间'}
            ,{field: 'anfme', align: 'center',title: '数量'}
            ,{field: 'zpallet', align: 'center',title: '托盘条码'}
            ,{field: 'matnr', align: 'center',title: '商品编号'}
            ,{field: 'maktx', align: 'center',title: '商品名称'}
            ,{field: 'batch', align: 'center',title: '批号'}
            ,{field: 'orderNo', align: 'center',title: '单据编号'}
            ,{field: 'specs', align: 'center',title: '规格'}
            ,{field: 'model', align: 'center',title: '型号'}
            ,{field: 'color', align: 'center',title: '颜色'}
            ,{field: 'brand', align: 'center',title: '品牌'}
            ,{field: 'unit', align: 'center',title: '单位'}
            ,{field: 'price', align: 'center',title: '单价'}
            ,{field: 'sku', align: 'center',title: 'sku'}
            ,{field: 'units', align: 'center',title: '单位量'}
            ,{field: 'barcode', align: 'center',title: '条码'}
            ,{field: 'origin', align: 'center',title: '产地'}
            ,{field: 'manu', align: 'center',title: '厂家'}
            ,{field: 'manuDate', align: 'center',title: '生产日期'}
            ,{field: 'itemNum', align: 'center',title: '品项数'}
            ,{field: 'safeQty', align: 'center',title: '安全库存量'}
            ,{field: 'weight', align: 'center',title: '重量'}
            ,{field: 'manLength', align: 'center',title: '长度'}
            ,{field: 'volume', align: 'center',title: '体积'}
            ,{field: 'threeCode', align: 'center',title: '三方编码'}
            ,{field: 'supp', align: 'center',title: '供应商'}
            ,{field: 'suppCode', align: 'center',title: '供应商编码'}
            ,{field: 'beBatch$', align: 'center',title: '是否批次'}
            ,{field: 'deadTime', align: 'center',title: '保质期'}
            ,{field: 'deadWarn', align: 'center',title: '预警天数'}
            ,{field: 'source$', align: 'center',title: '制购'}
            ,{field: 'inspect$', align: 'center',title: '要求检验'}
            ,{field: 'danger$', align: 'center',title: '危险品'}
            ,{field: 'modiUser$', align: 'center',title: '修改人员'}
            ,{field: 'modiTime$', align: 'center',title: '修改时间'}
            ,{field: 'appeUser$', align: 'center',title: '添加人员'}
            ,{field: 'appeTime$', align: 'center',title: '添加时间'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'lineNumber', align: 'center',title: ''}
            ,{field: 'standby1', align: 'center',title: ''}
            ,{field: 'standby2', align: 'center',title: ''}
            ,{field: 'standby3', align: 'center',title: ''}
            ,{field: 'boxType1', align: 'center',title: ''}
            ,{field: 'boxType2', align: 'center',title: ''}
            ,{field: 'boxType3', align: 'center',title: ''}
            ,{fixed: 'right', title:'操作', align: 'center', toolbar: '#operate', width:120}
        ]],
        request: {
            pageName: 'curr',
            pageSize: 'limit'
        },
        parseData: function (res) {
            return {
                'code': res.code,
                'msg': res.msg,
                'count': res.data.total,
                'data': res.data.records
            }
        },
        response: {
            statusCode: 200
        },
        done: function(res, curr, count) {
            if (res.code === 403) {
                top.location.href = baseUrl+"/";
            }
            pageCurr=curr;
            limit();
        }
    });
    // 监听排序事件
    table.on('sort(basAgvWrkDetl)', function (obj) {
        var searchData = {};
        $.each($('#search-box [name]').serializeArray(), function() {
            searchData[this.name] = this.value;
        });
        searchData['orderByField'] = obj.field;
        searchData['orderByType'] = obj.type;
        tableIns.reload({
            where: searchData,
            page: {curr: 1}
        });
    });
    // 监听头工具栏事件
    table.on('toolbar(basAgvWrkDetl)', function (obj) {
        var checkStatus = table.checkStatus(obj.config.id).data;
        switch(obj.event) {
            case 'addData':
                showEditModel();
                break;
            case 'deleteData':
               if (checkStatus.length === 0) {
                   layer.msg('请选择要删除的数据', {icon: 2});
                   return;
               }
               del(checkStatus.map(function (d) {
                   return d.id;
               }));
               break;
            case 'exportData':
                admin.confirm('确定导出Excel吗', {shadeClose: true}, function(){
                    var titles=[];
                    var fields=[];
                    obj.config.cols[0].map(function (col) {
                        if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
                            titles.push(col.title);
                            fields.push(col.field);
                        }
                    });
                    var exportData = {};
                    $.each($('#search-box [name]').serializeArray(), function() {
                        exportData[this.name] = this.value;
                    });
                    var param = {
                        'basAgvWrkDetl': exportData,
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/basAgvWrkDetl/export/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: JSON.stringify(param),
                        dataType:'json',
                        contentType:'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function (res) {
                            layer.closeAll();
                            if (res.code === 200) {
                                table.exportFile(titles,res.data,'xls');
                            } else if (res.code === 403) {
                                top.location.href = baseUrl+"/";
                            } else {
                                layer.msg(res.msg, {icon: 2})
                            }
                        }
                    });
                });
                break;
        }
    });
    // 监听行工具事件
    table.on('tool(basAgvWrkDetl)', function(obj){
        var data = obj.data;
        switch (obj.event) {
            case 'edit':
                showEditModel(data);
                break;
            case "del":
                del([data.id]);
                break;
        }
    });
    /* 弹窗 - 新增、修改 */
    function showEditModel(mData) {
        admin.open({
            type: 1,
            area: '600px',
            title: (mData ? '修改' : '添加') + '订单状态',
            content: $('#editDialog').html(),
            success: function (layero, dIndex) {
                layDateRender(mData);
                form.val('detail', mData);
                form.on('submit(editSubmit)', function (data) {
                    var loadIndex = layer.load(2);
                    $.ajax({
                        url: baseUrl+"/basAgvWrkDetl/"+(mData?'update':'add')+"/auth",
                        headers: {'token': localStorage.getItem('token')},
                        data: data.field,
                        method: 'POST',
                        success: function (res) {
                            layer.close(loadIndex);
                            if (res.code === 200){
                                layer.close(dIndex);
                                layer.msg(res.msg, {icon: 1});
                                tableReload();
                            } else if (res.code === 403){
                                top.location.href = baseUrl+"/";
                            }else {
                                layer.msg(res.msg, {icon: 2});
                            }
                        }
                    })
                    return false;
                });
                $(layero).children('.layui-layer-content').css('overflow', 'visible');
                layui.form.render('select');
            }
        });
    }
    /* 删除 */
    function del(ids) {
        layer.confirm('确定要删除选中数据吗?', {
            skin: 'layui-layer-admin',
            shade: .1
        }, function (i) {
            layer.close(i);
            var loadIndex = layer.load(2);
            $.ajax({
                url: baseUrl+"/basAgvWrkDetl/delete/auth",
                headers: {'token': localStorage.getItem('token')},
                data: {ids: ids},
                method: 'POST',
                success: function (res) {
                    layer.close(loadIndex);
                    if (res.code === 200){
                        layer.msg(res.msg, {icon: 1});
                        tableReload();
                    } else if (res.code === 403){
                        top.location.href = baseUrl+"/";
                    } else {
                        layer.msg(res.msg, {icon: 2});
                    }
                }
            })
        });
    }
    // 搜索
    form.on('submit(search)', function (data) {
        pageCurr = 1;
        tableReload(false);
    });
    // 重置
    form.on('submit(reset)', function (data) {
        pageCurr = 1;
        clearFormVal($('#search-box'));
        tableReload(false);
    });
    // 时间选择器
    function layDateRender(data) {
        setTimeout(function () {
            layDate.render({
                elem: '.layui-laydate-range'
                ,type: 'datetime'
                ,range: true
            });
            layDate.render({
                elem: '#ioTime\\$',
                type: 'datetime',
                value: data!==undefined?data['ioTime\\$']:null
            });
            layDate.render({
                elem: '#modiTime\\$',
                type: 'datetime',
                value: data!==undefined?data['modiTime\\$']:null
            });
            layDate.render({
                elem: '#appeTime\\$',
                type: 'datetime',
                value: data!==undefined?data['appeTime\\$']:null
            });
        }, 300);
    }
    layDateRender();
});
// 关闭动作
$(document).on('click','#data-detail-close', function () {
    parent.layer.closeAll();
});
function tableReload(child) {
    var searchData = {};
    $.each($('#search-box [name]').serializeArray(), function() {
        searchData[this.name] = this.value;
    });
    tableIns.reload({
        where: searchData,
        page: {curr: pageCurr}
     });
}
src/main/webapp/static/js/wrkMast/wrkMast.js
@@ -32,17 +32,7 @@
            ,{field: 'locNo$', align: 'center',title: '目标库位'}
            ,{field: 'barcode', align: 'center',title: '条码'}
            ,{field: 'preHave', align: 'center',title: '先入品', hide: true}
            ,{field: 'takeNone', align: 'center', title: 'AGV锁定',
                templet: function(d){
                    if(d.takeNone === "0"){
                        return "未取货";
                    } else if(d.takeNone === "1"){
                        return "已取货";
                    } else {
                        return "";
                    }
                }
            }
            ,{field: 'takeNone$', align: 'center', title: 'AGV锁定',hide: false}
            // ,{field: 'picking', align: 'center',title: '拣料', templet:function(row){
            //         var html = "<input value='picking' type='checkbox' lay-skin='primary' lay-filter='tableCheckbox' table-index='"+row.LAY_TABLE_INDEX+"'";
src/main/webapp/views/basAgvLocDetl/basAgvLocDetl.html
New file
@@ -0,0 +1,386 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
</head>
<body>
<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-card-body">
            <div class="layui-form toolbar" id="search-box">
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off">
                        </div>
                    </div>
                     <div class="layui-inline" style="width: 300px">
                        <div class="layui-input-inline">
                            <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">&emsp;
                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
                            <i class="layui-icon">&#xe615;</i>搜索
                        </button>
                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
                            <i class="layui-icon">&#xe666;</i>重置
                        </button>
                    </div>
                </div>
            </div>
            <table class="layui-hide" id="basAgvLocDetl" lay-filter="basAgvLocDetl"></table>
        </div>
    </div>
</div>
<script type="text/html" id="toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>
    </div>
</script>
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/basAgvLocDetl/basAgvLocDetl.js" charset="utf-8"></script>
</body>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog">
    <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
        <input name="id" type="hidden">
        <div class="layui-row">
            <div class="layui-col-md12">
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">库位号: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="locNo" placeholder="请输入库位号" lay-vertype="tips" lay-verify="required" style="display: none">
                        <input id="locNo$" name="locNo$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入库位号" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="locMastQueryBylocNo" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="locMastQueryBylocNoSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">托盘条码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="zpallet" placeholder="请输入托盘条码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">数量: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="anfme" placeholder="请输入数量">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">物料: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="matnr" placeholder="请输入物料" lay-vertype="tips" lay-verify="required">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">物料描述: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="maktx" placeholder="请输入物料描述">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">批号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="batch" placeholder="请输入批号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="orderNo" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">仓库号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="specs" placeholder="请输入仓库号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">转储请求编号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="model" placeholder="请输入转储请求编号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">颜色: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="color" placeholder="请输入颜色">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="brand" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="unit" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="price" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="sku" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="units" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="barcode" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="origin" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manu" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manuDate" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="itemNum" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="safeQty" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="weight" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manLength" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="volume" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="threeCode" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="supp" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="suppCode" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="beBatch" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="deadTime" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="deadWarn" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="source" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="inspect" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="danger" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改人员: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="modiUser" placeholder="请输入修改人员" style="display: none">
                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入修改人员" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="请输入修改时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">创建者: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="appeUser" placeholder="请输入创建者" style="display: none">
                        <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入创建者" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">添加时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="请输入添加时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">备注: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="memo" placeholder="请输入备注">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">库龄: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="storeDate" placeholder="请输入库龄">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="owner" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">是否冻结,0.未冻结,1.已冻结: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="frozen" placeholder="请输入是否冻结,0.未冻结,1.已冻结">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby1" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby2" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby3" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType1" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType2" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType3" placeholder="请输入">
                    </div>
                </div>
             </div>
        </div>
        <hr class="layui-bg-gray">
        <div class="layui-form-item text-right">
            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button>
            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
        </div>
    </form>
</script>
</html>
src/main/webapp/views/basAgvWrkDetl/basAgvWrkDetl.html
New file
@@ -0,0 +1,391 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
    <link rel="stylesheet" href="../../static/css/cool.css" media="all">
</head>
<body>
<div class="layui-fluid">
    <div class="layui-card">
        <div class="layui-card-body">
            <div class="layui-form toolbar" id="search-box">
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="id" placeholder="编号" autocomplete="off">
                        </div>
                    </div>
                     <div class="layui-inline" style="width: 300px">
                        <div class="layui-input-inline">
                            <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="起始时间 - 终止时间" autocomplete="off" style="width: 300px">
                        </div>
                    </div>
                    <div class="layui-inline">
                        <div class="layui-input-inline">
                            <input class="layui-input" type="text" name="condition" placeholder="请输入" autocomplete="off">
                        </div>
                    </div>
                    <div class="layui-inline">&emsp;
                        <button class="layui-btn icon-btn" lay-filter="search" lay-submit>
                            <i class="layui-icon">&#xe615;</i>搜索
                        </button>
                        <button class="layui-btn icon-btn" lay-filter="reset" lay-submit>
                            <i class="layui-icon">&#xe666;</i>重置
                        </button>
                    </div>
                </div>
            </div>
            <table class="layui-hide" id="basAgvWrkDetl" lay-filter="basAgvWrkDetl"></table>
        </div>
    </div>
</div>
<script type="text/html" id="toolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">新增</button>
        <button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">删除</button>
        <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">导出</button>
    </div>
</script>
<script type="text/html" id="operate">
    <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">修改</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">删除</a>
</script>
<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
<script type="text/javascript" src="../../static/js/basAgvWrkDetl/basAgvWrkDetl.js" charset="utf-8"></script>
</body>
<!-- 表单弹窗 -->
<script type="text/html" id="editDialog">
    <form id="detail" lay-filter="detail" class="layui-form admin-form model-form">
        <input name="id" type="hidden">
        <div class="layui-row">
            <div class="layui-col-md12">
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">工作号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="wrkNo" placeholder="请输入工作号" lay-vertype="tips" lay-verify="required">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">工作时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="ioTime" id="ioTime$" placeholder="请输入工作时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">数量: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="anfme" placeholder="请输入数量">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">托盘条码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="zpallet" placeholder="请输入托盘条码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label layui-form-required">商品编号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="matnr" placeholder="请输入商品编号" lay-vertype="tips" lay-verify="required">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">商品名称: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="maktx" placeholder="请输入商品名称">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">批号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="batch" placeholder="请输入批号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">单据编号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="orderNo" placeholder="请输入单据编号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">规格: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="specs" placeholder="请输入规格">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">型号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="model" placeholder="请输入型号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">颜色: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="color" placeholder="请输入颜色">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">品牌: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="brand" placeholder="请输入品牌">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">单位: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="unit" placeholder="请输入单位">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">单价: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="price" placeholder="请输入单价">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">sku: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="sku" placeholder="请输入sku">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">单位量: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="units" placeholder="请输入单位量">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">条码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="barcode" placeholder="请输入条码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">产地: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="origin" placeholder="请输入产地">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">厂家: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manu" placeholder="请输入厂家">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">生产日期: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manuDate" placeholder="请输入生产日期">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">品项数: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="itemNum" placeholder="请输入品项数">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">安全库存量: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="safeQty" placeholder="请输入安全库存量">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">重量: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="weight" placeholder="请输入重量">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">长度: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="manLength" placeholder="请输入长度">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">体积: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="volume" placeholder="请输入体积">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">三方编码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="threeCode" placeholder="请输入三方编码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">供应商: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="supp" placeholder="请输入供应商">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">供应商编码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="suppCode" placeholder="请输入供应商编码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">是否批次: </label>
                    <div class="layui-input-block">
                        <select name="beBatch">
                            <option value="">请选择是否批次</option>
                            <option value="1">是</option>
                            <option value="0">否</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">保质期: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="deadTime" placeholder="请输入保质期">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">预警天数: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="deadWarn" placeholder="请输入预警天数">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">制购: </label>
                    <div class="layui-input-block">
                        <select name="source">
                            <option value="">请选择制购</option>
                            <option value="1">制造</option>
                            <option value="2">采购</option>
                            <option value="3">外协</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">要求检验: </label>
                    <div class="layui-input-block">
                        <select name="inspect">
                            <option value="">请选择要求检验</option>
                            <option value="1">是</option>
                            <option value="0">否</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">危险品: </label>
                    <div class="layui-input-block">
                        <select name="danger">
                            <option value="">请选择危险品</option>
                            <option value="1">是</option>
                            <option value="0">否</option>
                        </select>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改人员: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="modiUser" placeholder="请输入修改人员" style="display: none">
                        <input id="modiUser$" name="modiUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入修改人员" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="userQueryBymodiUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryBymodiUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">修改时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="modiTime" id="modiTime$" placeholder="请输入修改时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">添加人员: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="appeUser" placeholder="请输入添加人员" style="display: none">
                        <input id="appeUser$" name="appeUser$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)" type="text" placeholder="请输入添加人员" onfocus=this.blur()>
                        <div class="cool-auto-complete-window">
                            <input class="cool-auto-complete-window-input" data-key="userQueryByappeUser" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryByappeUserSelect" onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
                            </select>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">添加时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="appeTime" id="appeTime$" placeholder="请输入添加时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">备注: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="memo" placeholder="请输入备注">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="lineNumber" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby1" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby2" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="standby3" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType1" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType2" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="boxType3" placeholder="请输入">
                    </div>
                </div>
             </div>
        </div>
        <hr class="layui-bg-gray">
        <div class="layui-form-item text-right">
            <button class="layui-btn" lay-filter="editSubmit" lay-submit="">保存</button>
            <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">取消</button>
        </div>
    </form>
</script>
</html>
src/main/webapp/views/orderPakin/order.html
@@ -79,8 +79,8 @@
                        <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                            <i class="layui-icon">&#xe615;</i>搜索
                        </button>
                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加
                        </button>
<!--                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加-->
<!--                        </button>-->
                    </div>
                </div>
            </div>
src/main/webapp/views/orderPakout/order.html
@@ -79,8 +79,8 @@
                        <button class="layui-btn icon-btn" lay-filter="tbSearch" lay-submit>
                            <i class="layui-icon">&#xe615;</i>搜索
                        </button>
                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加
                        </button>
<!--                        <button id="orderAddBtn" class="layui-btn icon-btn btn-add"><i class="layui-icon">&#xe654;</i>添加-->
<!--                        </button>-->
                    </div>
                </div>
            </div>