依照出庫要求資訊匹配入庫的批次資訊

來源:互聯網
上載者:User
按照出庫要求資訊匹配入庫的批次資訊
本帖最後由 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.csdn.net/detail/lazygc520/5882535

已知入庫的資料、出庫的要求,根據出庫要求來匹配入庫的批次資料。
例如:在ch_result頁面,ch_result.php?stockno=SU13061301010,實現出貨批次那一欄的資料。

kw,vp表聯集查詢得到的cust_no和lotno得到的結果:

$sql = "select CONCAT(SUBSTRING_INDEX(a.cust_no,' ',1),
SUBSTRING_INDEX(a.cust_no,' ',-1)) as cust_no,b.lotno as lotno,
count(b.lotno) as lotno_count from `kw_manage` as a,
`vp_barcode_2d_y` as b where a.packageno = b.packageno
group by lotno order by lotno asc";
$result = mysql_query($sql);
$ars =array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC))
{
$ars[] = $row;
}
var_dump($ars);

得到的結果:
array(1) { [0]=> array(3) { ["cust_no"]=> string(10) "237033AW0A" ["lotno"]=> string(4) "3207" ["lotno_count"]=> string(3) "480" } }




分享到:


------解決方案--------------------
庫存表增加一個出庫欄位
入庫時該欄位為0
出庫時該欄位為已出庫數量
入庫數量 - 出庫數量 = 該批次剩餘數量


設 select * from tbl_name

id num
1 20
2 20
3 30

SELECT * , (SELECT sum( num ) FROM tbl_name WHERE id<=a.id ) as c FROM tbl_name a

id num c
1 20 20
2 20 40
3 30 70
則 c 列可做為出庫來源的依據
如果出庫封裝的規模為 30
那麼對應的id為:
封裝1 1,2
封裝2 2,3
封裝3 3,後續id
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.