按照出库要求信息匹配入库的批次信息
本帖最后由 lazygc520 于 2013-08-07 09:39:09 编辑
数据库分为3张表,kw,vp,st开头的三张表,前两张表代表入库,st开头的代表出库要求。入库的话前两张表联合查询求得已入库的cust_no和lotno,出库表已知stockno的信息及对应的cust_no,stockno存在排序关系,按照表st中的字段c1_time,c_type,adress来排序,stockno按照顺序排列,lotno按照先入先出的排序规则和stockno的对应数量匹配,对等的话则排除已匹配的lotno,新的lotno和接下来的stockno相匹配直至数量符合要求,依次类推。数量的结果是st表中,mount*snp的结果。能否用遍历入库表的信息来完成此操作?
上传附件地址:http://download.gaodaima.com/detail/lazygc520/5882535
已知入库的数据、出库的要求,根据出库要求来匹配入库的批次数据。
例如:在ch_result页面,ch_result.php?stockno=SU13061301010,实现出货批次那一栏的数据。
kw,vp表联合查询得到的cust_no和lotno得到的结果:
<br />$sql = "select CONCAT(SUBSTRING_INDEX(a.cust_no,' ',1),<br />SUBSTRING_INDEX(a.cust_no,' ',-1)) as cust_no,b.lotno as lotno,<br />count(b.lotno) as lotno_count from `kw_manage` as a,<br />`vp_barcode_2d_y` as b where a.packageno = b.packageno <br />group by lotno orde<mark style="color:transparent">本%文来源gaodaimacom搞#^代%!码网@</mark>搞代gaodaima码r by lotno asc";<br />$result = mysql_query($sql);<br />$ars =array();<br />while($row = mysql_fetch_array($result,MYSQL_ASSOC))<br />{<br /> $ars[] = $row;<br />}<br />var_dump($ars);<br /><br />得到的结果:<br />array(1) { [0]=> array(3) { ["cust_no"]=> string(10) "237033AW0A" ["lotno"]=> string(4) "3207" ["lotno_count"]=> string(3) "480" } }
分享到:
——解决方案——————–
库存表增加一个出库字段
入库时该字段为0
出库时该字段为已出库数量
入库数量 – 出库数量 = 该批次剩余数量
又
设 select * from tbl_name
<br />id num <br />1 20 <br />2 20 <br />3 30
SELECT * , (SELECT sum( num ) FROM tbl_name WHERE id<=a.id ) as c FROM tbl_name a
<br />id num c <br />1 20 20 <br />2 20 40 <br />3 30 70
则 c 列可做为出库来源的依据
如果出库包装的规模为 30
那么对应的id为:
包装1 1,2
包装2 2,3
包装3 3,后续id
搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:依照出库要求信息匹配入库的批次信息
转载请注明原文链接:依照出库要求信息匹配入库的批次信息
