admin 发表于 2018-6-2 22:20:44

进销存数据库设计


CREATE TABLE user(
User_Id varchar(6),
User_Pwd varchar(8) NULL,
Again_Pwd varchar(8) NULL,
Bel_Group varchar(3) NULL,
Div_Type varchar(1) NULL,
User_Auth varchar(1) NULL,
Auth_Type varchar(1) NULL,
User_Status varchar(1) NULL,
Create_User varchar(6) NULL,
Create_Date varchar(7) NULL,
Create_Time varchar(6) NULL,
Appr_User varchar(6) NULL,
Appr_Date varchar(7) NULL,
Appr_Time varchar(6) NULL,
Pwd_Date varchar(7) NULL,
Err_Count float NULL,
Use_eJCIC varchar(1) NULL
)
CREATE TABLE Supplier/*供应商表*/
(
Supplier_ID   int   IDENTITY(1,1)   NOT NULL, /* 供应商编号 ,主键 */
Name            varchar(250)            NOT NULL, /* 供应商名称 */
Address         varchar(250)            NOT NULL, /* 地址 */
Phone         varchar(25)               NULL,   /* 电话 */
Fax             varchar(25)               NULL,   /* 传真 */
PostalCode      varchar(10)               NULL,   /* 邮编 */
ConstactPersonvarchar(20)               NULL      /* 联系人 */
)

CREATE TABLE Customer   /* 客户表*/
(
Customer_ID   int    IDENTITY(1,1)      NOT NULL, /* 客户编号,主键*/
Name            varchar(250)            NOT NULL, /* 客户名称 */
Address         varchar(250)            NOT NULL, /* 地址 */
Phone         varchar(25)               NULL,   /* 电话 */
Fax             varchar(25)               NULL,   /* 传真 */
PostalCode      varchar(10)               NULL,   /* 邮编 */
ConstactPersonvarchar(20)               NULL      /* 联系人 */
)

CREATE TABLE Dept      /* 部门表 */
(
Dept_ID      int   IDENTITY(1,1)      NOT NULL, /* 部门编号,主键 */
Name         varchar(30)                NOT NULL, /* 名称 */
Remark         varchar(250)               NOT NULL/* 描述,备注 */
)

CREATE TABLE Dept_Supplier /* 部门--供应商表*/
(
Dept_ID       int                         NOT NULL,/* 部门编号,主键 ,外键( 参照 DEPT 表)*/
Supplier_ID   int                         NOT NULL   /* 供应商编号 ,主键,外键( 参照 SUPPLIER 表) */
)

CREATE TABLE Dept_Customer /* 部门--客户表*/
(
Dept_ID       int                         NOT NULL, /* 部门编号,主键 ,外键( 参照 DEPT 表)*/
Customer_ID   int                         NOT NULL/* 客户编号,主键,外键( 参照 SUPPLIER 表) */
)

CREATE TABLE StoreHouse   /* 仓库表 */
(
StoreHouse_ID   int IDENTITY(1,1)         NOT NULL,/* 仓库编号,主键 */
Address         varchar(250)            NOT NULL,/* 地址 */
Phone         varchar(25)               NULL,      /* 电话 */
Employee_ID   INT                     NOT NULL,/* 仓库保管 ,外键 ( 参照 EMPLOYEE 表 ) */
CreateDate      datetime                  NULL       /* 仓库成立时间 */
)

CREATE TABLE ProductClass/* 商品总分类表 */
(
ProductClass_IDint IDENTITY(1,1)      NOT NULL,/* 商品总分类编号, 主键 */
Name             varchar(30)            NOT NULL,/* 商品分类名称 */
Employee_ID      INT                      NOT NULL,/* 建分类人 ,外键 ( 参照 EMPLOYEE 表 )*/
CreateDate       datetime               NULL,      /* 建分类时间 */
Remark             varchar(250)             NULL,    /* 描述,备注 */
)

CREATE TABLE ProductList/* 商品细分类表 */
(
ProductClass_IDINT                      NOT NULL, /* 商品总分类编号, 外键 ( 参照PRODUCTCLASS 表 ) */
ProductList_ID   int IDENTITY(1,1)      NOT NULL, /* 商品细分类编号,主键 */
Name             varchar(30)            NOT NULL, /* 商品名称 */
Employee_ID      INT                      NOT NULL, /* 建分类人,外键 ( 参照 EMPLOYEE 表 )*/
CreateDate       datetime               NULL,   /* 建分类时间 */
Remark             varchar(250)             NULL,   /* 描述 ,备注 */
)

CREATE TABLE ProductSpec/* 商品规格表 */
(
ProductSpec_ID   INT IDENTITY(1,1)      NOT NULL, /* 商品规格编号,主键 */
Name             varchar(30)            NOT NULL, /* 商品规格名称 */
Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/
CreateDate       datetime               NULL,   /* 创建时间 */
Remark             varchar(250)             NULL    /* 描述,备注 */
)
CREATE TABLE ProductUnit /* 商品计量单位表 */
(
ProductUnit_ID   INT IDENTITY(1,1)      NOT NULL, /* 计量单位编号 ,主键 */
Name             varchar(30)            NOT NULL, /* 计量单位名称 */
Employee_ID      INT                      NOT NULL, /* 操作员 ,外键 ( 参照 EMPLOYEE 表 )*/
CreateDate       datetime               NULL,   /* 创建时间 */
Remark             varchar(250)             NULL    /* 描述,备注 */
)

CREATE TABLE Product    /* 商品目录表 */
(
ProductList_ID   int                      NOT NULL,/* 商品细分类编号, 外键 ( 参照 PRODUCTLIST 表 ) */
Product_ID       INT IDENTITY(1,1)      NOT NULL,/* 商品名称编号, 主键 */
Name             varchar(30)            NOT NULL,/* 商品名称 */
ProductSpec_ID   INT                      NOT NULL,/* 商品规格, 外键 ( 参照 PRODUCTSPEC 表 ) */
ProductUnit_ID   INT                      NOT NULL,/* 计量单位, 外键 ( 参照 PRODUCTUNIT 表 ) */
Price            MONEY                  NULL,      /* 参考价格 */
Employee_ID      INT                      NOT NULL,/* 操作员,   外键 ( 参照 EMPLOYEE 表 )*/
CreateDate       datetime               NULL,      /* 创建时间 */
Remark             varchar(250)             NULL   /* 描述,备注 */
)

CREATE TABLE Product_Supplier/* 商品--供应商表 */
(
Product_ID       INT                      NOT NULL,   /* 商品名称编号,主键 , 外键( 参照 PRODUCT 表)*/
Supplier_ID      INT                      NOT NULL    /* 供应商编号 , 主键,外键( 参照 SUPPLIER 表) */
)

CREATE TABLE Employee/* 员工表 */
(
Employee_ID      INT IDENTITY(1,1)      NOT NULL,/* 员工编号 */
Dept_ID          INT                      NOT NULL,/* 所属部门编号 */
Name             varchar(30)            NOT NULL,/* 姓名 */
Duty             varchar(20)            NOT NULL,/* 职务 */
Gender         varchar(6)               NOT NULL,/* 性别 */
BirthDate      datetime               NOT NULL,/* 出生日期 */
HireDate         datetime               NULL,      /* 合同签订 日期 */
MatureDate       datetime               NULL,      /* 合同到期日 */
IdentityCard   varchar(20)            NULL,      /* 身份证号 */
Address          varchar(250)             NULL,      /* 住址 */
Phone            varchar(25)            NULL,      /* 电话 */
Email            varchar(30)            NULL       /* E_MAIL */
)


/*-///////////////////////////////////////////////////////////////////////////////////////-*/

CREATE TABLE BuyOrder    /* 进货合同 */
(
BuyOrder_ID   INT IDENTITY(1,1)      NOT NULL, /* 进货合同编号 , 主键 */
WriteDate       datetime               NOT NULL, /* 合同签订日期*/
InsureDate      datetime               NOT NULL, /* 合同生效日期*/
EndDate         datetime               NOT NULL, /* 合同到期日期*/
Dept_ID         INT                      NOT NULL, /* 签订部门, 外键 ( 参照 DEPT 表 ) */
Supplier_ID   INT                      NOT NULL, /* 供应商,   外键 ( 参照 SUPPLIER 表 ) */
Employee_ID   INT                      NOT NULL/* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */
)
CREATE TABLE BuyOrder_Detail/* 进货合同明细表 */
(
BuyOrder_ID   INT                      NOT NULL,/* 进货合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */
Product_ID      INT                      NOT NULL,/* 所进商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity      INT                      NOT NULL,/* 商品数量 */
Price         money                  NOT NULL   /* 商品进价 */
)


CREATE TABLE EnterStock    /* 入库单表 */
(
EnterStock_ID    INT IDENTITY(1,1)       NOT NULL, /* 入库单编号 , 主键 */
EnterDate      datetime                NOT NULL, /* 入库时间 */
Dept_ID          INT                     NOT NULL, /* 入库部门 ,外键 ( 参照 DEPT 表 )*/
StoreHouse_ID    INT                     NOT NULL, /* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
Employee_ID      INT                     NOT NULL/* 入库人 ,外键 ( 参照 EMPLOYEE 表)*/
/*需添加 仓库保管员如何来验证入库单 ?? */
)

CREATE TABLE EnterStock_Detail /* 入库单明细 */
(
EnterStock_ID    INT                     NOT NULL, /* 入库单编号 , 主键, 外键 (参照 ENTERSTOCK 表 )*/
Product_ID       INT                     NOT NULL, /* 此种商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity         int                     NOT NULL, /* 此种商品数量 */
Price            money                   NULL,   /* 此种商品参考价格*/
HaveInvoice      bit                     not null, /* 此种商品有没有开发票 ( 缺省为 0 , 有没有开票 )*/
InvoiceNum       varchar(30)             NULL      /* 发票号 */
)


CREATE TABLE BackStock/* 退库单表 */
(
BackStock_ID   INT IDENTITY(1,1)       NOT NULL, /* 退库单编号 , 主键 */
BackDate         datetime                NOT NULL, /* 退库时间 */
Dept_ID          INT                     NOT NULL, /* 退库部门 ,外键 ( 参照 DEPT 表 )*/
StoreHouse_ID    INT                     NOT NULL, /* 所退入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
Employee_ID      INT                     NOT NULL, /* 退库人 ,    外键 ( 参照 EMPLOYEE 表)*/
Remark             varchar(250)            NULL    /* 退库原因 */

)
CREATE TABLE BackStock_Detail /* 退库单明细表 */
(
BackStock_ID   INT                     NOT NULL, /* 退库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/
Product_ID       INT                     NOT NULL, /* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity         int                     NOT NULL, /* 退入数量 */
Price            money                   NULL      /* 参考价格 */

)

CREATE TABLE LeaveStock/* 出库单表 */
(
LeaveStock_ID    INT IDENTITY(1,1)       NOT NULL,/* 出库单编号 , 主键, 外键 (参照 LEAVESTOCK 表 )*/
LeaveDate      datetime                NOT NULL,/* 出库时间 */
Dept_ID          INT                     NOT NULL,/* 出库部门 ,外键 ( 参照 DEPT 表 )*/
StoreHouse_ID    INT                     NOT NULL,/* 所出仓库 ,外键 ( 参照 STOREHOUSE 表)*/
ToStoreHouse_IDINT                     NOT NULL,/* 所入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
Employee_ID      INT                     NOT NULL   /* 出库人 ,    外键 ( 参照 EMPLOYEE 表)*/
/* 仓库保管员如何来验证出库单 ?? */
)

CREATE TABLE LeaveStock_Detail/* 出库单明细表 */
(
LeaveStock_ID    INT                     NOT NULL,/* 出库单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/
Product_ID       INT                     NOT NULL,/* 所出商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity         int                     NOT NULL,/* 出库数量 */
Price            money                   NULL       /* 出库价格 */
)

CREATE TABLE BackSale/* 退货单表 */
(
BackSale_ID      INT IDENTITY(1,1)       NOT NULL,/* 退货单编号 , 主键 */
BackDate         datetime                NOT NULL,/* 退货日期*/
Dept_ID          INT                     NOT NULL,/* 退货部门 ,外键 ( 参照 DEPT 表 )*/
StoreHouse_ID    INT                     NOT NULL,/* 退入仓库 ,外键 ( 参照 STOREHOUSE 表)*/
Employee_ID      INT                     NOT NULL,/* 退货人 ,    外键 ( 参照 EMPLOYEE 表)*/
Remark             varchar(250)            NULL   /* 退货原因 */

)
CREATE TABLE BackSale_Detail/* 退货单明细表 */
(
BackSale_ID      INT                     NOT NULL,/* 退货单编号 , 主键, 外键 (参照 BACKSTOCK 表 )*/
Product_ID       INT                     NOT NULL,/* 所退商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity         int                     NOT NULL,/* 退货数量 */
Price            money                   NULL       /* 价格 */

)


CREATE TABLE SaleOrder    /* 销售合同 */
(
SaleOrder_ID   INT IDENTITY(1,1)       NOT NULL,/* 合同编号 , 主键 */
WriteDate      datetime                NOT NULL,/* 合同签订日期*/
InsureDate       datetime                NOT NULL,/* 合同生效日期*/
EndDate          datetime                NOT NULL,/* 合同到期日期*/
Dept_ID          INT                     NOT NULL,/* 签订部门, 外键 ( 参照 DEPT 表 ) */
Customer_ID      INT                     NOT NULL,/* 客户编号, 外键 ( 参照 CUSTOMER 表 ) */
Employee_ID      INT                     NOT NULL   /* 合同主要负责人, 外键 ( 参照 EMPLOYEE 表) */
)
CREATE TABLE SaleOrder_Detail/* 销售合同明细表 */
(
SaleOrder_ID   INT                     NOT NULL,/* 销售合同编号,主键, 外键 ( 参照 BUYORDER 表 ) */
Product_ID       INT                     NOT NULL,/* 销售商品编号,主键, 外键 (参照 PRODUCT 表 ) */
Quantity         int                     not null,/* 商品数量 */
Price            money                   null       /* 商品进价 */
)


CREATE TABLE Buy   /* 进货表 ( 验货表 ) */
(
   Buy_ID          INT IDENTITY(1,1)         NOT NULL, /* 进货编号 , 主键 */
   ComeDate      datetime                  NOT NULL, /* 进货日期 */
   Dept_ID         INT                     NOT NULL, /* 进货部门, 外键 ( 参照 DEPT 表 ) */
   Employee_ID   INT                     NOT NULL/* 验货人,   外键 ( 参照 EMPLOYEE 表)*/
)

CREATE TABLE Buy_Detail/* 进货表明细 ( 验货表 ) */
(
Buy_ID         INT                      NOT NULL, /* 进货编号,主键, 外键 ( 参照 BUY 表 ) */
Product_ID       INT                      NOT NULL, /* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */
BuyOrder_ID      INT                      NULL,   /* 采购合同,外键 ( 参照 BUYORDER 表 ) */
Quantity         int                      not null, /* 数量 */
Price            money                  null      /* 价格 */

/* BUYORDER_ID 为 NULL 时, 为现金进货 */
)

CREATE TABLE Sale   /* 销售 表 */
(
Sale_ID          INT IDENTITY(1,1)      NOT NULL,/* 销售 编号*/
SaleDate         datetime               not null,/* 销售 日期 */
Dept_ID          INT                      NOT NULL,/* 销售部门, 外键 ( 参照 DEPT 表 ) */
Employee_ID      INT                      NOT NULL   /* 售货人,   外键 ( 参照 EMPLOYEE 表)*/
)

CREATE TABLE Sale_Detail/* 销售明细 ( 验货表 ) */
(
Sale_ID          INT                      NOT NULL,/* 销售编号,主键, 外键 ( 参照 SALE 表 ) */
Product_ID       INT                      NOT NULL,/* 商品编号,主键, 外键 ( 参照 PRODUCT 表 ) */
SaleOrder_ID   INT                      NULL,      /* 销售合同, 外键 ( 参照 SALEORDER 表 ) */
Quantity         int                      not null,/* 数量 */
Price            money                  not null,/* 价格 */
Discount         int                      null       /* 折扣 */

/* SALEORDER_ID 为 NULL 时, 为现金销售 */
)


CREATE TABLE StockPile/* 库存表 */
(
StockPile_ID   INT IDENTITY(1,1)      NOT NULL, /* 库存编号 , 主键 */
Dept_ID          INT                      NOT NULL, /* 商品所属部门, 外键 ( 参照 DEPT 表 ) */
StoreHouse_ID    INT                      NOT NULL, /* 所在仓库,   外键 ( 参照 SOTREHOUSE 表 ) */   
Product_ID       INT                      NOT NULL, /* 商品编号,   外键 ( 参照 PRODUCT 表 ) */   
FirstEnterDate   datetime               not null, /* 此种商品第一次入库时间 */
LastLeaveDate    datetime               null,   /* 此种商品最后一次出库时间 */
Quantity         int                      not null, /* 所存数量 */
Price            money                  not null/* 加权价 */
/* LASTLEAVEDATE 为NULL 时,此种商品从来没有 卖过 */
)


admin 发表于 2018-6-2 22:35:25

有段很漂亮的代码。来自http://efe.baidu.com/blog/mobile-fixed-layout/   也许以后会用上,可以用来判断滚动条是否到某个位置,还有滑动的方向,以此来判断什么时候阻止滚动条滚动。代码已经过详细注释:
<script type="text/javascript">
// 防止内容区域滚到底后引起页面整体的滚动
var content = document.querySelector('main');
var startY;

content.addEventListener('touchstart', function (e) {
    //起始位置
    startY = e.touches.clientY;
});

content.addEventListener('touchmove', function (e) {
    // 高位表示向上滚动
    // 底位表示向下滚动
    // 1容许 0禁止
    var status = '11';
    var ele = this;
    //当前位置
    var currentY = e.touches.clientY;
    //如果垂直偏移量scrollTop为0,说明要么内容小于容器没有滚动条,要么大于容器但滚动条在顶部
    if (ele.scrollTop === 0) {
      // 如果内容小于容器则同时禁止上下滚动,若大于则可以向下滚动
      status = ele.offsetHeight >= ele.scrollHeight ? '00' : '01';
    } else if (ele.scrollTop + ele.offsetHeight >= ele.scrollHeight) {
   /*
   1.垂直偏移量scrollTop+整个元素的尺寸offsetHeight(包括边框)=整个内容区域scrollHeight
   证明已经滚到底部了只能向上滚动;
   2.其中offsetHeight(包括边框)是否要换成clientHeight(不包括边框)?
   */
         
      status = '10';
    }
    //若status==11则上面三种情况都不是,这种情况是有滚动条且滚动条不在顶部也不在底部
    if (status != '11') {
      // 判断当前的滚动方向
      var direction = currentY - startY > 0 ? '10' : '01';
      /*
      1.操作方向和当前允许状态求与运算,运算结果为0,就说明不允许该方向滚动,则禁止默认事件,阻止滚动
      2.status为00,说明没有滚动条,此时无论direction是上还是下,都要阻止滚动
      3.status为01,说明有滚动条,可以向下滚动,此时direction为01则符合向下滚动
      4.status为10,说明有滚动条,可以向上滚动,此时direction为10则符合向上滚动
      5.综上a.没有滚动条 b.滚动条在顶部但还向上滚动 c.滚动条在底部但还向下滚动 都要阻止滚动
      */
      if (!(parseInt(status, 2) & parseInt(direction, 2))) {
            stopEvent(e);
      }
    }
});
</script>

admin 发表于 2018-6-2 22:37:09

$(function(){
        // 让当前对象滚动到顶部
        $("#name").click(function(){
                setTimeout(function(){
                        document.getElementById("name").scrollintoview();// 参数可以是true, false, 空参数
                }, 300);
        });

        // 让当前对象上面的元素滚动到顶部,使当前对象处于比较中间的位置
        $("#age").click(function(){
                setTimeout(function(){
                        document.getElementById("name").scrollintoview(); // 参数可以是true, false, 空参数

                }, 300);
        });
});

admin 发表于 2018-6-2 22:38:14

最近的项目做得是混合开发,其实比较尴尬的啦,手机端的安卓与ios挺多兼容问题的。

1、手机端h5页面中输入法键盘会遮挡输入框的问题。

      $('input').on('focus',function(event){      
       //自动反弹 输入法高度自适应
      var target = this;
      setTimeout(function(){
            target.scrollIntoViewIfNeeded();
      },100);
    });

由于不同的输入法键盘高度不一致,这使得我们在开发当中要做很多兼容,但是针对不同的输入法键盘和不同的手机去做这样一个兼容是很耗费时间的。

像苹果手机就有自带的输入法,当我们使用自带的输入法时,键盘也许不会遮挡输入框,然而用户会使用各种各样的输入法。

所以,

jquery的scrollIntoViewIfNeeded()方法,可以做到将输入框移动至视野中。

从而解决了键盘遮挡文本输入框的问题。





2、模仿微信输入框失去焦点时隐藏iphone的软键盘和聚焦时出现输入框

function BlurOrFocus(){
   var obj = document.getElementsByClassName('input');
   vardocTouchend = function(event){

       if(event.target!=obj){
         setTimeout(function(){
               obj.blur();
               document.removeEventListener('touchend',docTouchend,false);
         },1000);

       }
   }

   if(obj){
         obj.addEventListener('touchstart',function(){
             document.addEventListener('touchend',docTouchend,false);
         },false);
   }

}


BlurOrFocus();

这里是实现了当手触碰到文本输入框之外的地方,就将输入法键盘隐藏。
页: [1]
查看完整版本: 进销存数据库设计