自动化立体仓库 - WCS系统
zjj
2024-12-23 937798fcb19161d9f266c0f661e4fa0858b7fe3d
#led信息显示订单信息
18个文件已添加
4个文件已修改
2902 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OrderController.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderDetlController.java 125 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/Order.java 426 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/OrderDetl.java 538 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/mapper/OrderMapper.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderDetlService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OrderService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/CodeBuilder.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/model/MatDto.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/common/web/BaseController.java 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/order.sql 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/orderDetl.sql 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderDetlMapper.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/OrderMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/order/order.js 300 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/orderDetl/orderDetl.js 312 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/order/order.html 350 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/orderDetl/orderDetl.html 407 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OrderController.java
New file
@@ -0,0 +1,125 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.asrs.entity.Order;
import com.zy.asrs.service.OrderService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
public class OrderController extends BaseController {
    @Autowired
    private OrderService orderService;
    @RequestMapping(value = "/order/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(orderService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/order/list/auth")
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam(required = false)String condition,
                  @RequestParam Map<String, Object> param){
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        allLike(Order.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
        for (Map.Entry<String, Object> entry : map.entrySet()){
            String val = String.valueOf(entry.getValue());
            if (val.contains(RANGE_TIME_LINK)){
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), val);
            }
        }
    }
    @RequestMapping(value = "/order/add/auth")
    @ManagerAuth
    public R add(Order order) {
        orderService.insert(order);
        return R.ok();
    }
    @RequestMapping(value = "/order/update/auth")
    @ManagerAuth
    public R update(Order order){
        if (Cools.isEmpty(order) || null==order.getId()){
            return R.error();
        }
        orderService.updateById(order);
        return R.ok();
    }
    @RequestMapping(value = "/order/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam(value="ids[]") Long[] ids){
         for (Long id : ids){
            orderService.deleteById(id);
        }
        return R.ok();
    }
    @RequestMapping(value = "/order/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param){
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("order"));
        convert(map, wrapper);
        List<Order> list = orderService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/orderQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<Order> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<Order> page = orderService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (Order order : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", order.getId());
            map.put("value", order.getId());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/order/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<Order> wrapper = new EntityWrapper<Order>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != orderService.selectOne(wrapper)){
            return R.parse(BaseRes.REPEAT).add(getComment(Order.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
}
src/main/java/com/zy/asrs/controller/OrderDetlController.java
New file
@@ -0,0 +1,125 @@
package com.zy.asrs.controller;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.OrderDetlService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.common.R;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.*;
@RestController
public class OrderDetlController extends BaseController {
    @Autowired
    private OrderDetlService orderDetlService;
    @RequestMapping(value = "/orderDetl/{id}/auth")
    @ManagerAuth
    public R get(@PathVariable("id") String id) {
        return R.ok(orderDetlService.selectById(String.valueOf(id)));
    }
    @RequestMapping(value = "/orderDetl/list/auth")
    @ManagerAuth
    public R list(@RequestParam(defaultValue = "1")Integer curr,
                  @RequestParam(defaultValue = "10")Integer limit,
                  @RequestParam(required = false)String orderByField,
                  @RequestParam(required = false)String orderByType,
                  @RequestParam(required = false)String condition,
                  @RequestParam Map<String, Object> param){
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        excludeTrash(param);
        convert(param, wrapper);
        allLike(OrderDetl.class, param.keySet(), wrapper, condition);
        if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
        return R.ok(orderDetlService.selectPage(new Page<>(curr, limit), wrapper));
    }
    private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
        for (Map.Entry<String, Object> entry : map.entrySet()){
            String val = String.valueOf(entry.getValue());
            if (val.contains(RANGE_TIME_LINK)){
                String[] dates = val.split(RANGE_TIME_LINK);
                wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
                wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
            } else {
                wrapper.like(entry.getKey(), val);
            }
        }
    }
    @RequestMapping(value = "/orderDetl/add/auth")
    @ManagerAuth
    public R add(OrderDetl orderDetl) {
        orderDetlService.insert(orderDetl);
        return R.ok();
    }
    @RequestMapping(value = "/orderDetl/update/auth")
    @ManagerAuth
    public R update(OrderDetl orderDetl){
        if (Cools.isEmpty(orderDetl) || null==orderDetl.getId()){
            return R.error();
        }
        orderDetlService.updateById(orderDetl);
        return R.ok();
    }
    @RequestMapping(value = "/orderDetl/delete/auth")
    @ManagerAuth
    public R delete(@RequestParam(value="ids[]") Long[] ids){
         for (Long id : ids){
            orderDetlService.deleteById(id);
        }
        return R.ok();
    }
    @RequestMapping(value = "/orderDetl/export/auth")
    @ManagerAuth
    public R export(@RequestBody JSONObject param){
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
        Map<String, Object> map = excludeTrash(param.getJSONObject("orderDetl"));
        convert(map, wrapper);
        List<OrderDetl> list = orderDetlService.selectList(wrapper);
        return R.ok(exportSupport(list, fields));
    }
    @RequestMapping(value = "/orderDetlQuery/auth")
    @ManagerAuth
    public R query(String condition) {
        EntityWrapper<OrderDetl> wrapper = new EntityWrapper<>();
        wrapper.like("id", condition);
        Page<OrderDetl> page = orderDetlService.selectPage(new Page<>(0, 10), wrapper);
        List<Map<String, Object>> result = new ArrayList<>();
        for (OrderDetl orderDetl : page.getRecords()){
            Map<String, Object> map = new HashMap<>();
            map.put("id", orderDetl.getId());
            map.put("value", orderDetl.getId());
            result.add(map);
        }
        return R.ok(result);
    }
    @RequestMapping(value = "/orderDetl/check/column/auth")
    @ManagerAuth
    public R query(@RequestBody JSONObject param) {
        Wrapper<OrderDetl> wrapper = new EntityWrapper<OrderDetl>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
        if (null != orderDetlService.selectOne(wrapper)){
            return R.parse(BaseRes.REPEAT).add(getComment(OrderDetl.class, String.valueOf(param.get("key"))));
        }
        return R.ok();
    }
}
src/main/java/com/zy/asrs/entity/Order.java
New file
@@ -0,0 +1,426 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableField;
import com.core.common.SpringUtils;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.core.common.SpringUtils;
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("man_order")
public class Order implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    private Long id;
    /**
     * 编号
     */
    @ApiModelProperty(value= "编号")
    private String uuid;
    /**
     * 订单编号
     */
    @ApiModelProperty(value= "订单编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 单据日期
     */
    @ApiModelProperty(value= "单据日期")
    @TableField("order_time")
    private String orderTime;
    /**
     * 单据类型
     */
    @ApiModelProperty(value= "单据类型")
    @TableField("doc_type")
    private Long docType;
    /**
     * 项目编号
     */
    @ApiModelProperty(value= "项目编号")
    @TableField("item_id")
    private Long itemId;
    @ApiModelProperty(value= "")
    @TableField("item_name")
    private String itemName;
    /**
     * 调拨项目编号
     */
    @ApiModelProperty(value= "调拨项目编号")
    @TableField("allot_item_id")
    private Long allotItemId;
    /**
     * 初始票据号
     */
    @ApiModelProperty(value= "初始票据号")
    @TableField("def_number")
    private String defNumber;
    /**
     * 票据号
     */
    @ApiModelProperty(value= "票据号")
    private String number;
    /**
     * 客户编号
     */
    @ApiModelProperty(value= "客户编号")
    private Long cstmr;
    /**
     * 客户
     */
    @ApiModelProperty(value= "客户")
    @TableField("cstmr_name")
    private String cstmrName;
    /**
     * 联系方式
     */
    @ApiModelProperty(value= "联系方式")
    private String tel;
    /**
     * 操作人员
     */
    @ApiModelProperty(value= "操作人员")
    @TableField("oper_memb")
    private String operMemb;
    /**
     * 合计金额
     */
    @ApiModelProperty(value= "合计金额")
    @TableField("total_fee")
    private Double totalFee;
    /**
     * 优惠率
     */
    @ApiModelProperty(value= "优惠率")
    private Double discount;
    /**
     * 优惠金额
     */
    @ApiModelProperty(value= "优惠金额")
    @TableField("discount_fee")
    private Double discountFee;
    /**
     * 销售或采购费用合计
     */
    @ApiModelProperty(value= "销售或采购费用合计")
    @TableField("other_fee")
    private Double otherFee;
    /**
     * 实付金额
     */
    @ApiModelProperty(value= "实付金额")
    @TableField("act_fee")
    private Double actFee;
    /**
     * 付款类型 1: 现金  2: 记账
     */
    @ApiModelProperty(value= "付款类型 1: 现金  2: 记账  ")
    @TableField("pay_type")
    private Integer payType;
    /**
     * 业务员
     */
    @ApiModelProperty(value= "业务员")
    private String salesman;
    /**
     * 结算天数
     */
    @ApiModelProperty(value= "结算天数")
    @TableField("account_day")
    private Integer accountDay;
    /**
     * 邮费支付类型 1: 在线支付  2: 货到付款
     */
    @ApiModelProperty(value= "邮费支付类型 1: 在线支付  2: 货到付款  ")
    @TableField("post_fee_type")
    private Integer postFeeType;
    /**
     * 邮费
     */
    @ApiModelProperty(value= "邮费")
    @TableField("post_fee")
    private Double postFee;
    /**
     * 付款时间
     */
    @ApiModelProperty(value= "付款时间")
    @TableField("pay_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date payTime;
    /**
     * 发货时间
     */
    @ApiModelProperty(value= "发货时间")
    @TableField("send_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date sendTime;
    /**
     * 物流名称
     */
    @ApiModelProperty(value= "物流名称")
    @TableField("ship_name")
    private String shipName;
    /**
     * 物流单号
     */
    @ApiModelProperty(value= "物流单号")
    @TableField("ship_code")
    private String shipCode;
    /**
     * 订单状态
     */
    @ApiModelProperty(value= "订单状态")
    private Long settle;
    /**
     * 状态 1: 正常  0: 禁用
     */
    @ApiModelProperty(value= "状态 1: 正常  0: 禁用  ")
    private Integer status;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    @TableField("create_by")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("create_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("update_by")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("update_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    @ApiModelProperty(value= "")
    @TableField("move_status")
    private Integer moveStatus;
    public Order() {}
    public Order(String uuid,String orderNo,String orderTime,Long docType,Long itemId,String itemName,Long allotItemId,String defNumber,String number,Long cstmr,String cstmrName,String tel,String operMemb,Double totalFee,Double discount,Double discountFee,Double otherFee,Double actFee,Integer payType,String salesman,Integer accountDay,Integer postFeeType,Double postFee,Date payTime,Date sendTime,String shipName,String shipCode,Long settle,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Integer moveStatus) {
        this.uuid = uuid;
        this.orderNo = orderNo;
        this.orderTime = orderTime;
        this.docType = docType;
        this.itemId = itemId;
        this.itemName = itemName;
        this.allotItemId = allotItemId;
        this.defNumber = defNumber;
        this.number = number;
        this.cstmr = cstmr;
        this.cstmrName = cstmrName;
        this.tel = tel;
        this.operMemb = operMemb;
        this.totalFee = totalFee;
        this.discount = discount;
        this.discountFee = discountFee;
        this.otherFee = otherFee;
        this.actFee = actFee;
        this.payType = payType;
        this.salesman = salesman;
        this.accountDay = accountDay;
        this.postFeeType = postFeeType;
        this.postFee = postFee;
        this.payTime = payTime;
        this.sendTime = sendTime;
        this.shipName = shipName;
        this.shipCode = shipCode;
        this.settle = settle;
        this.status = status;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
        this.moveStatus = moveStatus;
    }
//    Order order = new Order(
//            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,    // 添加时间
//            null,    // 修改人员
//            null,    // 修改时间
//            null,    // 备注
//            null    //
//    );
    public String getPayType$(){
        if (null == this.payType){ return null; }
        switch (this.payType){
            case 1:
                return "现金";
            case 2:
                return "记账";
            default:
                return String.valueOf(this.payType);
        }
    }
    public String getPostFeeType$(){
        if (null == this.postFeeType){ return null; }
        switch (this.postFeeType){
            case 1:
                return "在线支付";
            case 2:
                return "货到付款";
            default:
                return String.valueOf(this.postFeeType);
        }
    }
    public String getPayTime$(){
        if (Cools.isEmpty(this.payTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.payTime);
    }
    public String getSendTime$(){
        if (Cools.isEmpty(this.sendTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.sendTime);
    }
    public String getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return "正常";
            case 0:
                return "禁用";
            default:
                return String.valueOf(this.status);
        }
    }
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getUpdateTime$(){
        if (Cools.isEmpty(this.updateTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
}
src/main/java/com/zy/asrs/entity/OrderDetl.java
New file
@@ -0,0 +1,538 @@
package com.zy.asrs.entity;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.core.common.SpringUtils;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.entity.Order;
import com.baomidou.mybatisplus.annotations.TableField;
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 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 java.text.SimpleDateFormat;
import java.util.Date;
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("man_order_detl")
public class OrderDetl implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * ID
     */
    @ApiModelProperty(value= "ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 订单内码
     */
    @ApiModelProperty(value= "订单内码")
    @TableField("order_id")
    private Long orderId;
    /**
     * 单据编号
     */
    @ApiModelProperty(value= "单据编号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 数量
     */
    @ApiModelProperty(value= "数量")
    private Double anfme;
    @ApiModelProperty(value= "")
    private Double qty;
    /**
     * 商品编码
     */
    @ApiModelProperty(value= "商品编码")
    private String matnr;
    /**
     * 商品名称
     */
    @ApiModelProperty(value= "商品名称")
    private String maktx;
    /**
     * 批号
     */
    @ApiModelProperty(value= "批号")
    private String batch;
    /**
     * 规格
     */
    @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= "长度")
    private Double length;
    /**
     * 体积
     */
    @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;
    /**
     * 状态 1: 正常  0: 禁用
     */
    @ApiModelProperty(value= "状态 1: 正常  0: 禁用  ")
    private Integer status;
    /**
     * 添加人员
     */
    @ApiModelProperty(value= "添加人员")
    @TableField("create_by")
    private Long createBy;
    /**
     * 添加时间
     */
    @ApiModelProperty(value= "添加时间")
    @TableField("create_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date createTime;
    /**
     * 修改人员
     */
    @ApiModelProperty(value= "修改人员")
    @TableField("update_by")
    private Long updateBy;
    /**
     * 修改时间
     */
    @ApiModelProperty(value= "修改时间")
    @TableField("update_time")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
    /**
     * 备注
     */
    @ApiModelProperty(value= "备注")
    private String memo;
    @ApiModelProperty(value= "")
    @TableField("work_qty")
    private Double workQty;
    /**
     * 条形码
     */
    @ApiModelProperty(value= "条形码")
    @TableField("qr_code")
    private String qrCode;
    /**
     * 收卷开始日期
     */
    @ApiModelProperty(value= "收卷开始日期")
    @TableField("start_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startDate;
    /**
     * 收卷结束日期
     */
    @ApiModelProperty(value= "收卷结束日期")
    @TableField("end_date")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date endDate;
    /**
     * 预留1
     */
    @ApiModelProperty(value= "预留1")
    private String temp1;
    @ApiModelProperty(value= "")
    private String temp2;
    @ApiModelProperty(value= "")
    private String temp3;
    @ApiModelProperty(value= "")
    private String temp4;
    public OrderDetl() {}
    public OrderDetl(Long orderId,String orderNo,Double anfme,Double qty,String matnr,String maktx,String batch,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 length,Double volume,String threeCode,String supp,String suppCode,Integer beBatch,String deadTime,Integer deadWarn,Integer source,Integer inspect,Integer danger,Integer status,Long createBy,Date createTime,Long updateBy,Date updateTime,String memo,Double workQty,String qrCode,Date startDate,Date endDate,String temp1,String temp2,String temp3,String temp4) {
        this.orderId = orderId;
        this.orderNo = orderNo;
        this.anfme = anfme;
        this.qty = qty;
        this.matnr = matnr;
        this.maktx = maktx;
        this.batch = batch;
        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.length = length;
        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.status = status;
        this.createBy = createBy;
        this.createTime = createTime;
        this.updateBy = updateBy;
        this.updateTime = updateTime;
        this.memo = memo;
        this.workQty = workQty;
        this.qrCode = qrCode;
        this.startDate = startDate;
        this.endDate = endDate;
        this.temp1 = temp1;
        this.temp2 = temp2;
        this.temp3 = temp3;
        this.temp4 = temp4;
    }
//    OrderDetl orderDetl = new OrderDetl(
//            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,    // 预留1
//            null,    //
//            null,    //
//            null    //
//    );
    public String getOrderId$(){
        OrderService service = SpringUtils.getBean(OrderService.class);
        Order order = service.selectById(this.orderId);
        if (!Cools.isEmpty(order)){
            return String.valueOf(order.getId());
        }
        return null;
    }
    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 getStatus$(){
        if (null == this.status){ return null; }
        switch (this.status){
            case 1:
                return "正常";
            case 0:
                return "禁用";
            default:
                return String.valueOf(this.status);
        }
    }
    public String getCreateTime$(){
        if (Cools.isEmpty(this.createTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.createTime);
    }
    public String getUpdateTime$(){
        if (Cools.isEmpty(this.updateTime)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime);
    }
    public String getStartDate$(){
        if (Cools.isEmpty(this.startDate)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.startDate);
    }
    public String getEndDate$(){
        if (Cools.isEmpty(this.endDate)){
            return "";
        }
        return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.endDate);
    }
}
src/main/java/com/zy/asrs/mapper/OrderDetlMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.OrderDetl;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface OrderDetlMapper extends BaseMapper<OrderDetl> {
}
src/main/java/com/zy/asrs/mapper/OrderMapper.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.mapper;
import com.zy.asrs.entity.Order;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
@Mapper
@Repository
public interface OrderMapper extends BaseMapper<Order> {
}
src/main/java/com/zy/asrs/service/OrderDetlService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.OrderDetl;
import com.baomidou.mybatisplus.service.IService;
public interface OrderDetlService extends IService<OrderDetl> {
}
src/main/java/com/zy/asrs/service/OrderService.java
New file
@@ -0,0 +1,8 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.Order;
import com.baomidou.mybatisplus.service.IService;
public interface OrderService extends IService<Order> {
}
src/main/java/com/zy/asrs/service/impl/MainServiceImpl.java
@@ -91,15 +91,11 @@
    @Autowired
    private BasCrnErrorMapper basCrnErrorMapper;
    @Autowired
    private WrkMastStaMapper wrkMastStaMapper;
    @Autowired
    private BasRgvService basRgvService;
    @Autowired
    private BasRgvMapMapper basRgvMapMapper;
    @Autowired
    private WrkMastService wrkMastService;
    @Autowired
    private BasRgvMapService basRgvMapService;
    private OrderService orderService;
    @Autowired
    private OrderDetlService orderDetlService;
    @Value("${wms.url}")
    private String wmsUrl;
@@ -1591,15 +1587,31 @@
                        } else {
                            total = locDetl.getAnfme();
                        }
                        if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                        if (!Cools.isEmpty(wrkDetl.getOrderNo())){
                            OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("order_no", wrkDetl.getOrderNo())
                                    .eq("matnr", wrkDetl.getMatnr()).eq("batch", wrkDetl.getBatch()));
                            if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total,orderDetl.getSuppCode(),orderDetl.getSku()));
                            }
                            if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total,orderDetl.getSuppCode(),orderDetl.getSku()));
                            }
                            if (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total,orderDetl.getSuppCode(),orderDetl.getSku()));
                            }
                        }else {
                            if (wrkMast.getIoType() == 101 || wrkMast.getIoType() == 1) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                            }
                            if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                            }
                            if (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104) {
                                ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                            }
                        }
                        if (wrkMast.getIoType() == 103 && (null == wrkDetl.getInspect() || 0 == wrkDetl.getInspect())) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                        }
                        if (wrkMast.getIoType() == 107 || wrkMast.getIoType() == 104) {
                            ledCommand.getMatDtos().add(new MatDto(wrkDetl.getMatnr(), wrkDetl.getMaktx(), wrkDetl.getBatch(), wrkDetl.getSpecs(), wrkDetl.getManu(), wrkDetl.getMemo(), wrkDetl.getAnfme(),total));
                        }
                    });
                }
                commands.add(ledCommand);
src/main/java/com/zy/asrs/service/impl/OrderDetlServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.OrderDetlMapper;
import com.zy.asrs.entity.OrderDetl;
import com.zy.asrs.service.OrderDetlService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("orderDetlService")
public class OrderDetlServiceImpl extends ServiceImpl<OrderDetlMapper, OrderDetl> implements OrderDetlService {
}
src/main/java/com/zy/asrs/service/impl/OrderServiceImpl.java
New file
@@ -0,0 +1,12 @@
package com.zy.asrs.service.impl;
import com.zy.asrs.mapper.OrderMapper;
import com.zy.asrs.entity.Order;
import com.zy.asrs.service.OrderService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
@Service("orderService")
public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements OrderService {
}
src/main/java/com/zy/common/CodeBuilder.java
@@ -1,6 +1,7 @@
package com.zy.common;
import com.core.generators.CoolGenerator;
import com.core.generators.constant.SqlOsType;
/**
 * Created by vincent on 2019-06-04
@@ -15,10 +16,11 @@
//        generator.password="xltys1995";
//        generator.table="sys_host";
        // sqlserver
        generator.url="192.168.3.208:1433;databasename=cool";
        generator.sqlOsType = SqlOsType.SQL_SERVER;
        generator.url="127.0.0.1:1433;databasename=jxgtasrs";
        generator.username="sa";
        generator.password="sa@123";
        generator.table="asr_wrk_detl";
        generator.table="man_order_detl";
        generator.packagePath="com.zy.asrs";
        generator.build();
    }
src/main/java/com/zy/common/model/MatDto.java
@@ -29,6 +29,10 @@
    private Double total;
    private String orderNo;
    private String customer;
    public MatDto() {
    }
    public MatDto(String matnr, String maknx, String batch, String specs, String manu, String memo, Double count, Double total) {
@@ -42,6 +46,19 @@
        this.total = total;
    }
    public MatDto(String matnr, String maknx, String batch, String specs, String manu, String memo, Double count, Double total,String orderNo,String customer) {
        this.matnr = matnr;
        this.maknx = maknx;
        this.batch = batch;
        this.specs = specs;
        this.manu = manu;
        this.memo = memo;
        this.count = count;
        this.total = total;
        this.orderNo = orderNo;
        this.customer = customer;
    }
    public MatDto(String matNo, String maknx, Double count) {
        this.matnr = matNo;
        this.maknx = maknx;
src/main/java/com/zy/common/web/BaseController.java
@@ -1,5 +1,7 @@
package com.zy.common.web;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.core.common.BaseRes;
import com.core.common.Cools;
import com.core.controller.AbstractBaseController;
@@ -11,11 +13,17 @@
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
 * Created by vincent on 2019-09-09
 */
public class BaseController extends AbstractBaseController {
    protected static final String RANGE_TIME_LINK = " - ";
    @Autowired
    protected HttpServletRequest request;
@@ -43,4 +51,46 @@
        }
        return "";
    }
    /**
     * 全字段模糊搜索
     * @param cls 模型类
     * @param set 排除字段集合
     * @param condition 搜索内容
     */
    protected <T> void allLike(Class<T> cls, Set<String> set, EntityWrapper<T> wrapper, String condition){
        if (Cools.isEmpty(condition)) {
            return;
        }
        List<String> columns = new ArrayList<>();
        for (Field field :Cools.getAllFields(cls)){
            if (Modifier.isFinal(field.getModifiers())
                    || Modifier.isStatic(field.getModifiers())
                    || Modifier.isTransient(field.getModifiers())){
                continue;
            }
            String column = null;
            if (field.isAnnotationPresent(TableField.class)) {
                column = field.getAnnotation(TableField.class).value();
            }
            if (Cools.isEmpty(column)) {
                column = field.getName();
            }
            if (!set.contains(column)) {
                columns.add(column);
            }
        }
        if (columns.isEmpty()) {
            return;
        }
        for (int i=0;i<columns.size();i++){
            if (i==0){
                wrapper.andNew();
            } else {
                wrapper.or();
            }
            wrapper.like(columns.get(i), condition);
        }
    }
}
src/main/java/order.sql
New file
@@ -0,0 +1,18 @@
-- save order record
-- mysql
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order/order.html', 'order管理', null , '2', null , '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order#view', '查询', '', '3', '0', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order#btn-add', '新增', '', '3', '1', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order#btn-edit', '编辑', '', '3', '2', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order#btn-delete', '删除', '', '3', '3', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'order#btn-export', '导出', '', '3', '4', '1');
-- sqlserver
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order/order.html', N'order管理', null, '2', null, '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order#view', N'查询', '', '3', '0', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order#btn-add', N'新增', '', '3', '1', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order#btn-edit', N'编辑', '', '3', '2', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order#btn-delete', N'删除', '', '3', '3', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'order#btn-export', N'导出', '', '3', '4', '1');
src/main/java/orderDetl.sql
New file
@@ -0,0 +1,18 @@
-- save orderDetl record
-- mysql
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl/orderDetl.html', 'orderDetl管理', null , '2', null , '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#view', '查询', '', '3', '0', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-add', '新增', '', '3', '1', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-edit', '编辑', '', '3', '2', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-delete', '删除', '', '3', '3', '1');
insert into `sys_resource` ( `code`, `name`, `resource_id`, `level`, `sort`, `status`) values ( 'orderDetl#btn-export', '导出', '', '3', '4', '1');
-- sqlserver
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl/orderDetl.html', N'orderDetl管理', null, '2', null, '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#view', N'查询', '', '3', '0', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-add', N'新增', '', '3', '1', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-edit', N'编辑', '', '3', '2', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-delete', N'删除', '', '3', '3', '1');
insert [dbo].[sys_resource] ( [code], [name], [resource_id], [level], [sort], [status]) values ( N'orderDetl#btn-export', N'导出', '', '3', '4', '1');
src/main/resources/mapper/OrderDetlMapper.xml
New file
@@ -0,0 +1,58 @@
<?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.OrderDetlMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.OrderDetl">
        <id column="id" property="id" />
        <result column="order_id" property="orderId" />
        <result column="order_no" property="orderNo" />
        <result column="anfme" property="anfme" />
        <result column="qty" property="qty" />
        <result column="matnr" property="matnr" />
        <result column="maktx" property="maktx" />
        <result column="batch" property="batch" />
        <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="length" property="length" />
        <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="status" property="status" />
        <result column="create_by" property="createBy" />
        <result column="create_time" property="createTime" />
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="work_qty" property="workQty" />
        <result column="qr_code" property="qrCode" />
        <result column="start_date" property="startDate" />
        <result column="end_date" property="endDate" />
        <result column="temp1" property="temp1" />
        <result column="temp2" property="temp2" />
        <result column="temp3" property="temp3" />
        <result column="temp4" property="temp4" />
    </resultMap>
</mapper>
src/main/resources/mapper/OrderMapper.xml
New file
@@ -0,0 +1,46 @@
<?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.OrderMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.zy.asrs.entity.Order">
        <id column="id" property="id" />
        <result column="uuid" property="uuid" />
        <result column="order_no" property="orderNo" />
        <result column="order_time" property="orderTime" />
        <result column="doc_type" property="docType" />
        <result column="item_id" property="itemId" />
        <result column="item_name" property="itemName" />
        <result column="allot_item_id" property="allotItemId" />
        <result column="def_number" property="defNumber" />
        <result column="number" property="number" />
        <result column="cstmr" property="cstmr" />
        <result column="cstmr_name" property="cstmrName" />
        <result column="tel" property="tel" />
        <result column="oper_memb" property="operMemb" />
        <result column="total_fee" property="totalFee" />
        <result column="discount" property="discount" />
        <result column="discount_fee" property="discountFee" />
        <result column="other_fee" property="otherFee" />
        <result column="act_fee" property="actFee" />
        <result column="pay_type" property="payType" />
        <result column="salesman" property="salesman" />
        <result column="account_day" property="accountDay" />
        <result column="post_fee_type" property="postFeeType" />
        <result column="post_fee" property="postFee" />
        <result column="pay_time" property="payTime" />
        <result column="send_time" property="sendTime" />
        <result column="ship_name" property="shipName" />
        <result column="ship_code" property="shipCode" />
        <result column="settle" property="settle" />
        <result column="status" property="status" />
        <result column="create_by" property="createBy" />
        <result column="create_time" property="createTime" />
        <result column="update_by" property="updateBy" />
        <result column="update_time" property="updateTime" />
        <result column="memo" property="memo" />
        <result column="move_status" property="moveStatus" />
    </resultMap>
</mapper>
src/main/webapp/static/js/order/order.js
New file
@@ -0,0 +1,300 @@
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: '#order',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/order/list/auth',
        page: true,
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        toolbar: '#toolbar',
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'id', align: 'center',title: 'ID'}
            ,{field: 'uuid', align: 'center',title: '编号'}
            ,{field: 'orderNo', align: 'center',title: '订单编号'}
            ,{field: 'orderTime', align: 'center',title: '单据日期'}
            ,{field: 'docType$', align: 'center',title: '单据类型'}
            ,{field: 'itemId$', align: 'center',title: '项目编号'}
            ,{field: 'itemName', align: 'center',title: ''}
            ,{field: 'allotItemId$', align: 'center',title: '调拨项目编号'}
            ,{field: 'defNumber', align: 'center',title: '初始票据号'}
            ,{field: 'number', align: 'center',title: '票据号'}
            ,{field: 'cstmr$', align: 'center',title: '客户编号'}
            ,{field: 'cstmrName', align: 'center',title: '客户'}
            ,{field: 'tel', align: 'center',title: '联系方式'}
            ,{field: 'operMemb', align: 'center',title: '操作人员'}
            ,{field: 'totalFee', align: 'center',title: '合计金额'}
            ,{field: 'discount', align: 'center',title: '优惠率'}
            ,{field: 'discountFee', align: 'center',title: '优惠金额'}
            ,{field: 'otherFee', align: 'center',title: '销售或采购费用合计'}
            ,{field: 'actFee', align: 'center',title: '实付金额'}
            ,{field: 'payType$', align: 'center',title: '付款类型'}
            ,{field: 'salesman', align: 'center',title: '业务员'}
            ,{field: 'accountDay', align: 'center',title: '结算天数'}
            ,{field: 'postFeeType$', align: 'center',title: '邮费支付类型'}
            ,{field: 'postFee', align: 'center',title: '邮费'}
            ,{field: 'payTime$', align: 'center',title: '付款时间'}
            ,{field: 'sendTime$', align: 'center',title: '发货时间'}
            ,{field: 'shipName', align: 'center',title: '物流名称'}
            ,{field: 'shipCode', align: 'center',title: '物流单号'}
            ,{field: 'settle$', align: 'center',title: '订单状态'}
            ,{field: 'status$', align: 'center',title: '状态'}
            ,{field: 'createBy$', align: 'center',title: '添加人员'}
            ,{field: 'createTime$', align: 'center',title: '添加时间'}
            ,{field: 'updateBy$', align: 'center',title: '修改人员'}
            ,{field: 'updateTime$', align: 'center',title: '修改时间'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'moveStatus', 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(order)', 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(order)', 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 = {
                        'order': exportData,
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/order/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(order)', 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+"/order/"+(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+"/order/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: '#payTime\\$',
                type: 'datetime',
                value: data!==undefined?data['payTime\\$']:null
            });
            layDate.render({
                elem: '#sendTime\\$',
                type: 'datetime',
                value: data!==undefined?data['sendTime\\$']:null
            });
            layDate.render({
                elem: '#createTime\\$',
                type: 'datetime',
                value: data!==undefined?data['createTime\\$']:null
            });
            layDate.render({
                elem: '#updateTime\\$',
                type: 'datetime',
                value: data!==undefined?data['updateTime\\$']: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/orderDetl/orderDetl.js
New file
@@ -0,0 +1,312 @@
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: '#orderDetl',
        headers: {token: localStorage.getItem('token')},
        url: baseUrl+'/orderDetl/list/auth',
        page: true,
        limit: 15,
        limits: [15, 30, 50, 100, 200, 500],
        toolbar: '#toolbar',
        cellMinWidth: 50,
        height: 'full-120',
        cols: [[
            {type: 'checkbox'}
            ,{field: 'id', align: 'center',title: 'ID'}
            ,{field: 'orderId$', align: 'center',title: '订单内码'}
            ,{field: 'orderNo', align: 'center',title: '单据编号'}
            ,{field: 'anfme', align: 'center',title: '数量'}
            ,{field: 'qty', align: 'center',title: ''}
            ,{field: 'matnr', align: 'center',title: '商品编码'}
            ,{field: 'maktx', align: 'center',title: '商品名称'}
            ,{field: 'batch', 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: 'length', 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: 'status$', align: 'center',title: '状态'}
            ,{field: 'createBy$', align: 'center',title: '添加人员'}
            ,{field: 'createTime$', align: 'center',title: '添加时间'}
            ,{field: 'updateBy$', align: 'center',title: '修改人员'}
            ,{field: 'updateTime$', align: 'center',title: '修改时间'}
            ,{field: 'memo', align: 'center',title: '备注'}
            ,{field: 'workQty', align: 'center',title: ''}
            ,{field: 'qrCode', align: 'center',title: '条形码'}
            ,{field: 'startDate$', align: 'center',title: '收卷开始日期'}
            ,{field: 'endDate$', align: 'center',title: '收卷结束日期'}
            ,{field: 'temp1', align: 'center',title: '预留1'}
            ,{field: 'temp2', align: 'center',title: ''}
            ,{field: 'temp3', align: 'center',title: ''}
            ,{field: 'temp4', 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(orderDetl)', 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(orderDetl)', 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 = {
                        'orderDetl': exportData,
                        'fields': fields
                    };
                    $.ajax({
                        url: baseUrl+"/orderDetl/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(orderDetl)', 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+"/orderDetl/"+(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+"/orderDetl/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: '#createTime\\$',
                type: 'datetime',
                value: data!==undefined?data['createTime\\$']:null
            });
            layDate.render({
                elem: '#updateTime\\$',
                type: 'datetime',
                value: data!==undefined?data['updateTime\\$']:null
            });
            layDate.render({
                elem: '#startDate\\$',
                type: 'datetime',
                value: data!==undefined?data['startDate\\$']:null
            });
            layDate.render({
                elem: '#endDate\\$',
                type: 'datetime',
                value: data!==undefined?data['endDate\\$']: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/views/order/order.html
New file
@@ -0,0 +1,350 @@
<!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="order" lay-filter="order"></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/order/order.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="uuid" 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="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="orderTime" 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="docType" placeholder="请输入单据类型" style="display: none">
                        <input id="docType$" name="docType$" 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="docTypeQueryBydocType" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="docTypeQueryBydocTypeSelect" 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 cool-auto-complete">
                        <input class="layui-input" name="itemId" placeholder="请输入项目编号" style="display: none">
                        <input id="itemId$" name="itemId$" 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="itemQueryByitemId" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="itemQueryByitemIdSelect" 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="itemName" 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="allotItemId" placeholder="请输入调拨项目编号" style="display: none">
                        <input id="allotItemId$" name="allotItemId$" 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="itemQueryByallotItemId" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="itemQueryByallotItemIdSelect" 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="defNumber" placeholder="请输入初始票据号">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">票据号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="number" 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="cstmr" placeholder="请输入客户编号" style="display: none">
                        <input id="cstmr$" name="cstmr$" 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="cstmrQueryBycstmr" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="cstmrQueryBycstmrSelect" 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="cstmrName" placeholder="请输入客户">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">联系方式: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="tel" placeholder="请输入联系方式">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">操作人员: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="operMemb" placeholder="请输入操作人员">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">合计金额: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="totalFee" placeholder="请输入合计金额">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">优惠率: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="discount" placeholder="请输入优惠率">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">优惠金额: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="discountFee" placeholder="请输入优惠金额">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">销售或采购费用合计: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="otherFee" placeholder="请输入销售或采购费用合计">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">实付金额: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="actFee" placeholder="请输入实付金额">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">付款类型: </label>
                    <div class="layui-input-block">
                        <select name="payType">
                            <option value="">请选择付款类型</option>
                            <option value="1">现金</option>
                            <option value="2">记账</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="salesman" placeholder="请输入业务员">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">结算天数: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="accountDay" placeholder="请输入结算天数">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">邮费支付类型: </label>
                    <div class="layui-input-block">
                        <select name="postFeeType">
                            <option value="">请选择邮费支付类型</option>
                            <option value="1">在线支付</option>
                            <option value="2">货到付款</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="postFee" placeholder="请输入邮费">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">付款时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="payTime" id="payTime$" placeholder="请输入付款时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">发货时间: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="sendTime" id="sendTime$" placeholder="请输入发货时间">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">物流名称: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="shipName" placeholder="请输入物流名称">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">物流单号: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="shipCode" 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="settle" placeholder="请输入订单状态" style="display: none">
                        <input id="settle$" name="settle$" 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="orderSettleQueryBysettle" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="orderSettleQueryBysettleSelect" 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">
                        <select name="status">
                            <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="createBy" placeholder="请输入添加人员" style="display: none">
                        <input id="createBy$" name="createBy$" 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="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" 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="createTime" id="createTime$" 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="updateBy" placeholder="请输入修改人员" style="display: none">
                        <input id="updateBy$" name="updateBy$" 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="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" 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="updateTime" id="updateTime$" 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="moveStatus" 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/orderDetl/orderDetl.html
New file
@@ -0,0 +1,407 @@
<!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="orderDetl" lay-filter="orderDetl"></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/orderDetl/orderDetl.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">订单内码: </label>
                    <div class="layui-input-block cool-auto-complete">
                        <input class="layui-input" name="orderId" placeholder="请输入订单内码" style="display: none">
                        <input id="orderId$" name="orderId$" 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="orderQueryByorderId" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="orderQueryByorderIdSelect" 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="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="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="qty" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">商品编码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="matnr" placeholder="请输入商品编码">
                    </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="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="length" 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">
                        <select name="status">
                            <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="createBy" placeholder="请输入添加人员" style="display: none">
                        <input id="createBy$" name="createBy$" 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="userQueryBycreateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryBycreateBySelect" 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="createTime" id="createTime$" 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="updateBy" placeholder="请输入修改人员" style="display: none">
                        <input id="updateBy$" name="updateBy$" 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="userQueryByupdateBy" onkeyup="autoLoad(this.getAttribute('data-key'))">
                            <select class="cool-auto-complete-window-select" data-key="userQueryByupdateBySelect" 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="updateTime" id="updateTime$" 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="workQty" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">条形码: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="qrCode" placeholder="请输入条形码">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">收卷开始日期: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="startDate" id="startDate$" placeholder="请输入收卷开始日期">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">收卷结束日期: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="endDate" id="endDate$" placeholder="请输入收卷结束日期">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">预留1: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="temp1" placeholder="请输入预留1">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="temp2" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="temp3" placeholder="请输入">
                    </div>
                </div>
                <div class="layui-form-item">
                    <label class="layui-form-label">: </label>
                    <div class="layui-input-block">
                        <input class="layui-input" name="temp4" 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>