精华内容
下载资源
问答
  • 存货引入库存

    2008-02-29 19:21:00
    --存货引入库存初declare @cwhcode as nvarchar(10)set @cwhcode=1SELECT RdRecord.brdflag, RdRecord.cBustype, RdRecord.cBuscode,RdRecord.cCode as cVouCode, RdRecords.AutoID as ID,Null as ValueId,Null as...

    --存货引入库存期初
    declare @cwhcode as nvarchar(10)
    set @cwhcode='1'
    SELECT RdRecord.brdflag, RdRecord.cBustype, RdRecord.cBuscode,RdRecord.cCode as cVouCode, RdRecords.AutoID as ID,Null as ValueId,Null as JustId,RdRecord.dDate as dVoudate,null as dKeepDate,0 as imonth,null as IPzId,null as iPzDate, null as cPzType,null as cPzdigest,null as cInvHead,null as cDifHead,null as cOppHead,RdRecord.cVouchType as cVouType, RdRecord.cPtCode,RdRecord.cStCode,RdRecord.cWhCode,RdRecord.cDepCode as cAccdep, RdRecords.cInvCode, RdRecord.cRdCode, RdRecord.cVenCode,RdRecord.cCusCode,null as cOrderCode,null as cArvCode,null as cbillcode,null as cDlcode,null as cpspCode,Null as cProcode,null as cdepcode,RdRecord.cPersonCode,RdRecord.cHandler,RdRecords.iQuantity As iAinQuantity, null as iAoutquantity,RdRecords.iUnitCost as iInCost,null as iOutCost,RdRecords.iPrice as iaInPrice,null as iaOutPrice,null as cBathcode,null as iDebitDifCost,null as iCreditDifCost,null as caccounter,RdRecord.cMaker,0 as bflag,RdRecords.iflag as bMoneyFlag, 0 as bSale,RdRecord.cmemo,RdRecord.cDefine1,RdRecord.cDefine2,RdRecord.cDefine3,RdRecord.cDefine4,RdRecord.cDefine5,RdRecord.cDefine6,RdRecord.cDefine7,RdRecord.cDefine8,RdRecord.cDefine9,RdRecord.cDefine10,RdRecord.cDefine11,RdRecord.cDefine12,RdRecord.cDefine13,RdRecord.cDefine14,RdRecord.cDefine15,RdRecord.cDefine16,RdRecords.cFree1,RdRecords.cFree2,RdRecords.cFree3,RdRecords.cFree4,RdRecords.cFree5,RdRecords.cFree6,RdRecords.cFree7,RdRecords.cFree8,RdRecords.cFree9,RdRecords.cFree10,Rdrecords.cDefine22 ,Rdrecords.cDefine23 ,Rdrecords.cDefine24 ,Rdrecords.cDefine25 ,Rdrecords.cDefine26 ,Rdrecords.cDefine27,Rdrecords.cDefine28 ,Rdrecords.cDefine29 ,Rdrecords.cDefine30 ,Rdrecords.cDefine31 ,Rdrecords.cDefine32 ,Rdrecords.cDefine33,Rdrecords.cDefine34 ,Rdrecords.cDefine35 ,Rdrecords.cDefine36 ,Rdrecords.cDefine37 ,RdRecords.citem_class,RdRecords.citemcode,RdRecords.citemCname,RdRecords.cName,null as cPzid,null as nojustquantity  into tempKcqc0 From RdRecord left join rdrecords ON rdrecords.id=rdrecord.id left join Warehouse ON Warehouse.cWhCode = RdRecord.cWhCode 
    WHERE RdRecord.cVouchType='34' and RdRecord.cwhcode=@cwhcode
    go
    alter table tempKcqc0 alter column iDebitDifCost float
    go
    alter table tempKcqc0 alter column iInCost float
    go
    alter table tempKcqc0 alter column iaInPrice float
    go
    select distinct cwhcode,cinvcode , sign(isnull(iainquantity,0)+isnull(iainprice,0)) as bsign into [TempSignDJMOVE0] from ia_subsidiary  where Ia_subsidiary.cVouType='34' and Ia_subsidiary.cwhcode='1' and (isnull(IA_Subsidiary.cBusType,'') not in('假退料'))
    go
    alter table tempKcqc0 add  autoid int identity
    go
    delete from tempKcqc0 where  autoid in (select tempKcqc0.autoid from tempKcqc0 left join warehouse on warehouse.cwhcode=tempKcqc0.cwhcode left join [TempSignDJMOVE0] on  ([TempSignDJMOVE0].cwhcode=tempKcqc0.cwhcode and [TempSignDJMOVE0].cinvcode=tempKcqc0.cinvcode)  where ((isnull(bsign,0)*(isnull(tempKcqc0.iainquantity,0)+isnull(tempKcqc0.iainprice,0))<0  or (bsign is null and tempKcqc0.iainquantity<0 and  exists(select tempKcqc0.cwhcode from tempKcqc0 tempKcqc00 where tempKcqc00.cwhcode=tempKcqc0.cwhcode and tempKcqc00.cinvcode=tempKcqc0.cinvcode and sign(tempKcqc00.iainquantity) > 0) )and (cwhvaluestyle='先进先出法' or cwhvaluestyle='后进先出法')) or (cwhvaluestyle='个别计价法' and isnull(tempKcqc0.iainquantity,0)<=0 )))
    go
    alter table tempKcqc0 drop column  autoid
    go
    drop table [TempSignDJMOVE0]
    go
    --清空数据
    delete from ia_subsidiary
    --插入数据
    Insert into Ia_Subsidiary (brdflag,cBustype,cBuscode,cVouCode,ID,ValueId,JustId,dVoudate,dKeepDate, imonth,IPzId,iPzDate,cPzType,cPzdigest,cInvHead,cDifHead,cOppHead,  cVouType,cPtCode,cStCode,cWhCode,cAccdep,cInvCode,cRdCode,cVenCode,   cCusCode,cOrderCode,cArvCode,cbillcode,cDlcode,cpspCode,cProcode,cDepCode,cPersonCode,cHandler,  iAinQuantity,iAoutquantity,iInCost,iOutCost,iaInPrice,iaOutPrice,cBatchcode,iDebitDifCost,iCreditDifCost,caccounter,  cMaker,bflag,bMoneyFlag,bSale,cmemo,  cDefine1,cDefine2,cDefine3,cDefine4,cDefine5,cDefine6,cDefine7,cDefine8,cDefine9,cDefine10,cDefine11,cDefine12,  cDefine13,cDefine14,cDefine15,cDefine16,  cFree1,cFree2,cFree3,cFree4,cFree5,cFree6,cFree7,cFree8,cFree9,cFree10, cDefine22 ,cDefine23 ,cDefine24 ,cDefine25 ,cDefine26 ,cDefine27, cDefine28 ,cDefine29 ,cDefine30 ,cDefine31 ,cDefine32 ,cDefine33, cDefine34 ,cDefine35 ,cDefine36 ,cDefine37 , citem_class,citemcode,citemCname,cName, cPzid, nojustquantity )
    select * from tempKcqc0
    go
    drop table tempKcqc0
    go
     update ia_subsidiary set IaInPrice=convert(decimal(20,2),convert(decimal(20,2),iInvRCost)*convert(decimal(20,2),iAInQuantity)),IInCost= iinvRcost from ia_subsidiary left join inventory on inventory.cinvcode=ia_subsidiary.cinvcode  left join warehouse on warehouse.cwhcode=ia_subsidiary.cwhcode where imonth=0 and (cwhvaluestyle='计划价法' or  cwhvaluestyle='售价法')
    展开全文
  • 前端的css、js建立与样式、插件的引入 首先我们需要接着上期建立一个css和一个js文件,建立方法其实和建立HTML差不多 Css的建立: 按下上期我们提及的快捷键(Ctr键+N)建立,如图: 建立完成后,保存方法与上期的...

    前端的css、js建立与样式、插件的引入

    首先我们需要接着上期建立一个css和一个js文件,建立方法其实和建立HTML差不多

    Css的建立:
    按下上期我们提及的快捷键(Ctr键+N)建立,如图:
    在这里插入图片描述
    建立完成后,保存方法与上期的方法也是一致

    Js的建立:
    与HTML的建立、CSS的建立方法一致
    在这里插入图片描述

    建立完成后,保存方法与与HTML的保存、CSS的保存方法一致

    小结:
    1、对比HTML的建立保存、CSS的建立保存和JS的建立保存,我们不难发现建立的方法其实差不多,区别就在于建立的不一致所以选择的不一致;而保存方法就完全一致了。
    2、三者最好保存在一个文件夹当中。

    CSS样式引入、JS的引入:
    CSS样式引入(使用link标签)

    在这里插入图片描述
    解析代码:<link rel="stylesheet" href="./初步HTML.css">
    href=“” 表示CSS引入的路径 ./初步HTML.css 这是刚刚建立的CSS保存之后的路径

    JS的引入(使用script标签)
    在这里插入图片描述
    解析代码:<script src="初步.js"></script>
    src=“” 表示JS引入的路径 初步.js 这是刚刚建立的JS保存之后的路径

    插件的引入:
    主要是看类型来区分,CSS样式的插件就用link标签引入,放在head标签中title标签之后;
    JS的插件引入主要用script标签引入,放在body标签中的脚本位置(Js的位置有几种只是放在脚本位置是最佳位置)

    在这里插入图片描述

    注意:
    1、在引入插件之间必须先下好插件喔(不然无法使用)
    2、插件的引入又先后顺序,自己所建立的必须放到最后

    本期已经结束,下期见ღ( ´・ᴗ・` )比心
    申明:
    该文献是本人在学习前端开发之后个人的一些理解,如有不妥之处还望广大网友提出宝贵意见???

    展开全文
  • 在前面讲过的,驱动程序的应用代码中读取按键代码如下 while (1) { read(fd, &key_val, 1); printf("key_val = 0x%x\n", key_val); } read时如果没有按键中断,则会休眠:让出CPU但是并不返回read函数。...

    在前面讲过的,驱动程序的应用代码中读取按键代码如下

    while (1)
     {
      read(fd, &key_val, 1);
      printf("key_val = 0x%x\n", key_val);
     }
    

    read时如果没有按键中断,则会休眠:让出CPU但是并不返回read函数。
    目标:如果想要有中断时返回,没有按键按下几秒中后也返回,则用poll机制简单。
    类似于应用程序中read函数对应驱动中一个open函数。poll机制也是应用程序中有个poll函数,对应驱动中一个drv_poll函数。应用中的poll函数会调用sys_poll函数。

    static struct file_operations sencod_drv_fops = {
    	.owner   =  THIS_MODULE,   
     	.open    =  forth_drv_open,     
     	.read  = forth_drv_read,    
     	.release =  forth_drv_close,
     	.poll    =  forth_drv_poll,
    };
    

    关于驱动中poll函数怎么写,参考其他驱动的即可。

    cstatic unsigned forth_drv_poll(struct file *file, poll_table *wait)
    {
    	 unsigned int mask = 0;
    	 poll_wait(file, &button_waitq, wait); // 不会立即休眠
    	 
    	if (ev_press)
      		mask |= POLLIN | POLLRDNORM;
       	return mask;
    }
    

    现在从sys_poll开始分析:
    在这里插入图片描述>的意思是:左边这个函数就做了右边的事情。
    do_pollfd就是调用函数指针的poll函数然后返回mask也就是给了if用于判断。

    整体的大概意思就是通过加入到一个队列中,它自己就会维护。
    当时间没到,加入poll队列的没有被唤醒的时候,就会休眠,本进程休眠!
    当时间没到,队列中的本项被唤醒了(按键中断发生了),schedule_timeout函数跳出,但是还是在for死循环中,此时count就++了,然后就break跳出了,回到了应用程序中,接收到返回值了;
    当一直没有按键时,设置的时间已经到了,_timeout就会变成0在for循环到if时也会退出。

    设备驱动的poll()本身不会阻塞,但是poll()、select()和epoll()系统调用则会阻塞地等待文件描述符集合中的至少一个可访问或超时。

    关于应用层poll函数怎么写,要用man查看用法,然后要什么给什么就行了,结合应用层编程养成的习惯。
    整体代码如下:

    static struct class *forthdrv_class;
    static struct class_device	*forthdrv_class_dev;
    
    volatile unsigned long *gpfcon;
    volatile unsigned long *gpfdat;
    
    volatile unsigned long *gpgcon;
    volatile unsigned long *gpgdat;
    
    
    static DECLARE_WAIT_QUEUE_HEAD(button_waitq);
    
    /* 中断事件标志, 中断服务程序将它置1,forth_drv_read将它清0 */
    static volatile int ev_press = 0;
    
    
    struct pin_desc{
    	unsigned int pin;
    	unsigned int key_val;
    };
    
    
    /* 键值: 按下时, 0x01, 0x02, 0x03, 0x04 */
    /* 键值: 松开时, 0x81, 0x82, 0x83, 0x84 */
    static unsigned char key_val;
    
    struct pin_desc pins_desc[4] = {
    	{S3C2410_GPF0, 0x01},
    	{S3C2410_GPF2, 0x02},
    	{S3C2410_GPG3, 0x03},
    	{S3C2410_GPG11, 0x04},
    };
    
    
    /*
      * 确定按键值
      */
    static irqreturn_t buttons_irq(int irq, void *dev_id)
    {
    	struct pin_desc * pindesc = (struct pin_desc *)dev_id;
    	unsigned int pinval;
    	
    	pinval = s3c2410_gpio_getpin(pindesc->pin);
    
    	if (pinval)
    	{
    		/* 松开 */
    		key_val = 0x80 | pindesc->key_val;
    	}
    	else
    	{
    		/* 按下 */
    		key_val = pindesc->key_val;
    	}
    
        ev_press = 1;                  /* 表示中断发生了 */
        wake_up_interruptible(&button_waitq);   /* 唤醒休眠的进程 */
    
    	
    	return IRQ_RETVAL(IRQ_HANDLED);
    }
    
    static int forth_drv_open(struct inode *inode, struct file *file)
    {
    	/* 配置GPF0,2为输入引脚 */
    	/* 配置GPG3,11为输入引脚 */
    	request_irq(IRQ_EINT0,  buttons_irq, IRQT_BOTHEDGE, "S2", &pins_desc[0]);
    	request_irq(IRQ_EINT2,  buttons_irq, IRQT_BOTHEDGE, "S3", &pins_desc[1]);
    	request_irq(IRQ_EINT11, buttons_irq, IRQT_BOTHEDGE, "S4", &pins_desc[2]);
    	request_irq(IRQ_EINT19, buttons_irq, IRQT_BOTHEDGE, "S5", &pins_desc[3]);	
    
    	return 0;
    }
    
    ssize_t forth_drv_read(struct file *file, char __user *buf, size_t size, loff_t *ppos)
    {
    	if (size != 1)
    		return -EINVAL;
    
    	/* 如果没有按键动作, 休眠 */
    	wait_event_interruptible(button_waitq, ev_press);
    
    	/* 如果有按键动作, 返回键值 */
    	copy_to_user(buf, &key_val, 1);
    	ev_press = 0;
    	
    	return 1;
    }
    
    
    int forth_drv_close(struct inode *inode, struct file *file)
    {
    	free_irq(IRQ_EINT0, &pins_desc[0]);
    	free_irq(IRQ_EINT2, &pins_desc[1]);
    	free_irq(IRQ_EINT11, &pins_desc[2]);
    	free_irq(IRQ_EINT19, &pins_desc[3]);
    	return 0;
    }
    
    static unsigned forth_drv_poll(struct file *file, poll_table *wait)
    {
    	unsigned int mask = 0;
    	poll_wait(file, &button_waitq, wait); // 不会立即休眠
    
    	if (ev_press)
    		mask |= POLLIN | POLLRDNORM;
    
    	return mask;
    }
    
    
    
    static struct file_operations sencod_drv_fops = {
        .owner   =  THIS_MODULE,    /* 这是一个宏,推向编译模块时自动创建的__this_module变量 */
        .open    =  forth_drv_open,     
    	.read	 =	forth_drv_read,	   
    	.release =  forth_drv_close,
    	.poll    =  forth_drv_poll,
    };
    
    
    int major;
    static int forth_drv_init(void)
    {
    	major = register_chrdev(0, "forth_drv", &sencod_drv_fops);
    
    	forthdrv_class = class_create(THIS_MODULE, "forth_drv");
    
    	forthdrv_class_dev = class_device_create(forthdrv_class, NULL, MKDEV(major, 0), NULL, "buttons"); /* /dev/buttons */
    
    	gpfcon = (volatile unsigned long *)ioremap(0x56000050, 16);
    	gpfdat = gpfcon + 1;
    
    	gpgcon = (volatile unsigned long *)ioremap(0x56000060, 16);
    	gpgdat = gpgcon + 1;
    
    	return 0;
    }
    
    static void forth_drv_exit(void)
    {
    	unregister_chrdev(major, "forth_drv");
    	class_device_unregister(forthdrv_class_dev);
    	class_destroy(forthdrv_class);
    	iounmap(gpfcon);
    	iounmap(gpgcon);
    	return 0;
    }
    
    
    module_init(forth_drv_init);
    
    module_exit(forth_drv_exit);
    
    MODULE_LICENSE("GPL");
    

    以上是驱动
    以下是测试程序

    #include <sys/types.h>
    #include <sys/stat.h>
    #include <fcntl.h>
    #include <stdio.h>
    #include <poll.h>
    
    
    /* forthdrvtest 
      */
    int main(int argc, char **argv)
    {
    	int fd;
    	unsigned char key_val;
    	int ret;
    
    	struct pollfd fds[1];
    	
    	fd = open("/dev/buttons", O_RDWR);
    	if (fd < 0)
    	{
    		printf("can't open!\n");
    	}
    
    	fds[0].fd     = fd;
    	fds[0].events = POLLIN;
    	while (1)
    	{
    		ret = poll(fds, 1, 5000);
    		if (ret == 0)
    		{
    			printf("time out\n");
    		}
    		else
    		{
    			read(fd, &key_val, 1);
    			printf("key_val = 0x%x\n", key_val);
    		}
    	}
    	
    	return 0;
    }
    

    注:第一次发博客,新手做笔记而已,未整理,未深究。

    展开全文
  • 1.引入 ECharts 通过标签方式直接引入构建好的 echarts 文件 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 引入 ECharts 文件 --> <script src="echarts.min.js...

    近期主要在做大数据相关的项目,所以对于ECharts图表做一个简单的总结吧

    一、在HTML中使用ECharts图表

    1.引入 ECharts
    通过标签方式直接引入构建好的 echarts 文件

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <!-- 引入 ECharts 文件 -->
        <script src="echarts.min.js"></script>
    </head>
    </html>
    

    2.绘制一个简单的图表
    在绘图前我们需要为 ECharts 准备一个 具备高宽 的 DOM 容器。

    	<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
        <div id="main" style="width: 600px;height:400px;"></div>
    

    然后就可以通过 echarts.init 方法初始化一个 echarts 实例并通过 setOption 方法生成一个简单的柱状图。

    <script type="text/javascript">
       // 基于准备好的dom,初始化echarts实例
       var myChart = echarts.init(document.getElementById('main'));
       // 指定图表的配置项和数据
       var option = {
           title: {
               text: 'ECharts 入门示例'
           },
           tooltip: {},
           legend: {
               data:['销量']
           },
           xAxis: {
               data: ["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
           },
           yAxis: {},
           series: [{
               name: '销量',
               type: 'bar',
               data: [5, 20, 36, 10, 10, 20]
           }]
       };
    
       // 使用刚指定的配置项和数据显示图表。
       myChart.setOption(option);
    </script>
    

    这样你的第一个图表就诞生了!
    在这里插入图片描述

    二、在vue中使用ECharts图表

    1、安装echarts依赖

    npm install echarts -S
    

    2、引入echarts
    (1)全局引入

    import echarts from 'echarts'
    Vue.prototype.$echarts = echarts
    

    (2)按需引入

    // 引入 ECharts 主模块 
    var echarts = require('echarts/lib/echarts'); 
    // 引入柱状图 
    require('echarts/lib/chart/bar'); 
    // 引入折线图 
    require('echarts/lib/chart/line'); 
    // 引入饼图 
    require('echarts/lib/chart/pie'); 
    // 引入组件 
    require('echarts/lib/component/grid'); 
    require('echarts/lib/component/tooltip'); 
    require('echarts/lib/component/title');
    require('echarts/lib/component/legend');
    require('echarts/lib/component/legendScroll'); // (滚动图例)
    
    Vue.prototype.$echarts = echarts
    

    3、创建图表
    (1)定一个有宽高的div

    <div id="main" :style="{width: '300px', height: '300px'}"></div>
    

    (2)初始化echarts实例,绘制图表

    var myChart = this.$echarts.init(document.getElementById('main'));
    myChart.setOption({ 
    	title: { text: 'ECharts 入门示例' }, 
    	tooltip: {}, 
    	xAxis: { data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子'] }, 
    	yAxis: {}, 
    	series: [{ name: '销量', type: 'bar', data: [5, 20, 36, 10, 10, 20] }] 
    });
    

    我自己也搭建了一个按需引入Echarts图表的vue示例项目,目前只是引入了简单的柱状图、折线图、饼图,后续会慢慢的补充,奥利给!!!
    传送门

    展开全文
  • onclick(this.value)代码详解 <html> <head> <script language="javascript"> function test(value){ if(value=='1') { alert("11111111"); }else{ alert("00000000");...
  • 下面是课堂上讲述配置CentOS 7的PXE安装环境时的截图: 下面是实验DNS主从时的截图: 本文出自 “马哥Linux培训” 博客,请务必保留此出处http://mageedu.blog.51cto.com/4265610/1532946 ...
  • Safari将在今年晚些时候不再接受新的长效HTTPS证书,也就是自其创建之日起过13个月有效的新证书。...从2020年9月1日开始,任何有效超过398天的新网站证书都不会受到Safari浏览器的信任,而是会被拒绝。而在...
  • 前天,火币HADAX第二...评火币HADAX第二投票上币引入超级投票节点,多点真诚少点套路 对于外界的质疑,火币HADAX第二投票上币活动做了一些改进。 一、火币HADAX第二投票上币活动改进要点 1、超级投票节点: ...
  • //生存自动绑定到封闭范围 //构造w,包括w.g成员 // ... w.do_something(); // ... }// w和w.g自动销毁和解除分配 通过使用智能指针进行内存分配,可以消除内存泄漏的可能性。 此模型适用于其他资源,例如文件...
  • 云桌面从2007年引入到国内经过十几年的发展,从开始的引入期到实践期再到今天已经逐渐的成熟,开始步入了成熟期的阶段,那么有人就会问了你为何说现在云桌面已经步入成熟期了呢?这我们可以从以下几点可以看出云桌面...
  • 2、CSS引入方式 各种的优缺点 3、选择器的写法与选择器的优先级 4、CSS命名规范 5、背景,行高 6、文本(text与font开头)等所有属性 ① CSS注释书写规范: 1、单行注释:    直接写在属性值的...
  • 3、Makefile的引入及规则 1)、使用keil, mdk, avr等工具开发程序时点点鼠标就可以编译了, 它的内部机制是什么?它怎么组织管理程序?怎么决定编译哪一个文件? 2)、问:Makefile的核心? 答:规则是其核心。 ...
  • 1、通过母亲看书的一个例子简单的引入中断的概念; 2、问:中断与异常有什么区别和联系? 答:中断属于异常,中断体系实际上就是异常体系 3、问:中断是如何被调用的? 答: 如上图简单来说,CPU检测到异常时...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,399
精华内容 959
关键字:

引入期