= 1 "; } else { $strtitle = "発注(カート内容)"; $strsqlcartflg = " and cartflg = 0 "; } //1ページ数 if($_POST[pageset]=="") { $pageset = 500; } else { $pageset = $_POST[pageset]; } //レコードの指定 if ($_POST[pagenum] == "") { $page = 1; } else { $page = (int)$_POST[pagenum]; } //緊急出荷 if($_POST["quick"] == 1) { $intquick = 1; } else { $intquick = 0; //通常 } //センターコード $centerid = $centerdata[0][1]; PostData(); //発注締め時間の表記 if ((int)$settingdata["order_shimetime_shozoku"] == 1) { //1:店舗Mから発注締め時間 0:業態Mから $hacchutime = deselect("shimetime","`".$company."shozokumaster","shozokuid = '".$userdata[shozokuid]."'",-1,-1); $hacchutime = (int)$hacchutime[0][0]; } else { $hacchutime = (int)$userdata["hacchutime"]; } if ((int)$hacchutime < 10) { $shimestr = "00:0".$hacchutime; } elseif ((int)$hacchutime<100) { $shimestr = "00:".substr($hacchutime, 0, 2); } elseif ((int)$hacchutime<1000) { $shimestr = substr($hacchutime, 0, 1).":".substr($hacchutime, 1, 2); } else { $shimestr = substr($hacchutime, 0, 2).":".substr($hacchutime, 2, 2); } //出荷作業日の特定 if ($hacchutime == 0) { //00:00は必ず翌日 $operatedate = date("Y-m-d ",strtotime ("1 day")); $intstartday = 1; } elseif($hacchutime <= (int)date("Gi")) { //締め時間を過ぎている時は翌日 $operatedate = date("Y-m-d ",strtotime ("2 day")); $intstartday = 1; } else { //締め時間前は当日 $operatedate = date("Y-m-d ",strtotime ("1 day")); $intstartday = 0; } if($_POST["chgday"] <> "") { $operatedate = $_POST["chgday"]; } Testecho ("centercode= $centerid operatedate= $operatedate "); Testecho ("発注締時間shimetime= ".$hacchutime." / $shimestr Gi=".date("Gi")); //メール用 //$shohindata = dbselect("sm.shohinmei,sm.shohincd","`".$company."shohinmaster` AS sm inner join `".$company."shozokushohin` AS ts USING(shohincd)","ts.shozokuid='".$userdata[shozokuid]."' AND sm.zaiko = 1 AND sm.shohin_kubun1 = 0 ",-1,-1); $errcount = 0; //エラーカウント $okcount = 0; //エラーカウント $errmsg = ""; //エラーメッセージ $stremail = "作業日:".date("Y/m/d",strtotime ("".$operatedate." day"))."\n"; //メールメッセージ $stremail .= "納品先:".GetList($tenpodata,$userdata[shozokuid])."\n"; //発注処理 if (($_POST[update] <> "")){ $intPageNum = $pageset*($page - 1) + 1; /* 入力無し 修正前データ有り ⇒削除 入力無し 修正前データ無し ⇒変更無し 入力有り 数値以外 ⇒変更無し 入力有り 数値 数値0 ⇒削除 入力有り 数値 制限値超え ⇒変更無し 入力有り 数値 修正前と異値 修正前無 ⇒新規 入力有り 数値 修正前と異値 修正前有 ⇒更新 入力有り 数値 修正前と同値 備考欄変更有り ⇒備考変更 入力有り 数値 修正前と同値 備考欄変更無し ⇒変更無し */ //カートフラグ if($_POST["orderfix"] == 1) { $cartflg = 1; } elseif($_POST["orderfix"] == 2) { //発注確定 $cartflg = 1; } else { //カートを修正しない 0(見るとき) $cartflg = 0; } For ($y=0;$y<=($_POST[max]);$y++) { if ($_POST{"shohin".$y} == "") break; //商品コードがない場合スルー if ($_POST{"amount".$y} == "") { if ($_POST{"amountold".$y} == 0) { //1.旧データ無し&数量NULLは更新対象外とする $strmode = "none"; Testecho ($y." 1.数量NULLスルー"); #debug } else { //2.削除 旧データが0以外で新データがNULL $strmode = "delete"; Testecho ($y." 2.削除 "); #debug } } else { if(Numchecker3($_POST{"amount".$y}) == "CHR") { //3.数値欄に文字が入れられたらエラー。 $strmode = "none"; Testecho ($y." 3.数値以外"); #debug $errmsg .= "No.".($y + $intPageNum)." 数値以外の入力[".$_POST{"amount".$y}."]により更新できない商品がありました。発注削除は0を入れてください。[".$_POST{"shohin".$y}."]
";$errcount++; } else { //数値の場合 if(Numchecker2($_POST{"amount".$y}) == 0) { //4.削除 新データが0 $strmode = "delete"; Testecho ($y." 4.削除"); #debug $stremail .="[0][取消]".GetList($shohindata,$_POST{"shohin".$y})." [前".$_POST{"amountold".$y}."]\n"; } elseif (Numchecker2($_POST{"amount".$y}) > 32000) { //32000以上の数値入力 //5.数値欄に不正数量が入れられたら何も更新しない。 $strmode = "none"; Testecho ($y." 5.不正数値"); #debug $errmsg .= "No.".($y + $intPageNum)." 入力桁数を超える数値[".$_POST{"amount".$y}."]の入力により更新できない商品がありました。[".$_POST{"shohin".$y}."]
";$errcount++; } else { //8更新 $strmode = "update"; Testecho ($y." 8.更新、数量更新"); #debug $stremail .="[".$_POST{"amount".$y}."][変更]".GetList($shohindata,$_POST{"shohin".$y})." [前".$_POST{"amountold".$y}."]\n"; } } } $strsql = ""; //テーブル更新 switch ($strmode) { case "delete": $strsql = "DELETE FROM `".$company."ordercart` WHERE cartflg <2 and ordercartid = '".$_POST{"id".$y}."' LIMIT 1"; $result=mysql_query($strsql,$my_con); $errcode =mysql_errno();if ($errcode==0) $okcount++; mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." カート削除 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug if($_POST["orderfix"] == 2) { //■B 発注確定の数量変更 //発注明細データを削除 $strsql = "DELETE FROM `".$company."ordersheet` where ordercartid = '".(int)$_POST{"id".$y}."' limit 1"; $result=mysql_query($strsql,$my_con); $errcode =mysql_errno();//if ($errcode==0) $okcount++; mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." 発注明細削除 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug //■B 発注確定の数量変更 //発注明細データを削除 $strsql = "DELETE FROM `".$company."orderapplication` where ordercartid = '".(int)$_POST{"id".$y}."' limit 1"; $result=mysql_query($strsql,$my_con); $errcode =mysql_errno();//if ($errcode==0) $okcount++; mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." 申請削除 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug } else { //■A カートから発注確定 関係なし //■C カートの数量変更は 関係なし } break; case "none": // break; 日付変更の場合もあるので、全部更新する case "update": //UPDATE 1 CART更新 if((int)$_POST["orderfix"] >= 0) { //カートを見るとき以外は更新 cartflg=2承認済みは更新対象外 $memo = sqlinjection(Eucjp($_POST{"memo".$y}),-1); $memo = mysql_escape_string(mb_strcut($memo,0,100)); if($_POST["mode"] == 2) { //カート内 $stroperate = "NULL";//カート内の変更 } else { if($_POST["orderfix"] =="1") { $stroperate = "'".$_POST["chgday"]."'"; //カートからの確定 } else { $stroperate = "'".$_POST{"operatedate".$y}."'"; //確定済み変更 } } $strsql = "UPDATE `".$company."ordercart` SET cartqty=".Numchecker2($_POST{"amount".$y}).",operatedate = ".$stroperate.",memo='".$memo."',cartflg ='".$cartflg."',fishoption ='".$_POST{"option".$y}."', updater='".$userdata["tid"]."' where cartflg <2 and ordercartid = '".(int)$_POST{"id".$y}."' limit 1"; $result=mysql_query($strsql,$my_con); $errcode =mysql_errno();if ($errcode==0) $okcount++; mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." UPDATE1カート更新 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug //UPDATE 2 orderMAIN更新 //発注データ(メインID取得) $datacheck = dbselect("ordermainid,count(ordermainid)","`".$company."ordermain`","shozokuid = '".$userdata[shozokuid]."' and centerid = '".$centerid."' and gyotaiid = '".$userdata["gyotaiid"]."' and operatedate = $stroperate","updatedate desc",-1); if($datacheck[0][1] == 0) { //発注データ(メイン)更新 shozokuidとoperatedateでキーではないため $strsql = "INSERT INTO `".$company."ordermain` (shozokuid,centerid,gyotaiid,inputdatetime,deliverdate,operatedate,brand,creater,createdate) values ('".$userdata["shozokuid"]."','".$centerid."' ,'".$userdata["gyotaiid"]."',now(), $stroperate ,$stroperate,'".$userdata["brand"]."','".$userdata["tid"]."',now()) ON DUPLICATE KEY UPDATE updater = '".$userdata["tid"]."' "; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." UPDATE2 ordermain更新 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug $datacheck = dbselect("ordermainid,count(ordermainid)","`".$company."ordermain`","shozokuid = '".$userdata[shozokuid]."' and centerid = '".$centerid."' and gyotaiid = '".$userdata["gyotaiid"]."' and operatedate = $stroperate","updatedate desc",-1); } //UPDATE 3 ordersheet更新 //発注データ(明細)更新 //明細削除 $strsql = "DELETE FROM `".$company."ordersheet` WHERE ordercartid = '".(int)$_POST{"id".$y}."' limit 1"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." UPDATE2 ordesheet削除 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug //明細追加 $strsql = "INSERT INTO `".$company."ordersheet` (ordermainid,orderqty,shohincd,creater,createdate,memo,memo2,ordercartid,staffid,orderprice) SELECT '".$datacheck[0][0]."',cartqty,shohincd,'".$userdata["tid"]."',now(),memo,fishoption,ordercartid,null,'".$_POST{"price".$y}."' FROM `".$company."ordercart` where ordercartid = '".(int)$_POST{"id".$y}."' limit 1"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." UPDATE2 ordesheet追加 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug } break; case "updatememo": /*該当ケースなし*/ break; case "insert": /*該当ケースなし*/ break; default: Testecho ($y."エラー"); #debug } } //発注メモを更新 if($_POST["chgday"] <> "") { // $strsql = "INSERT INTO `".$company."ordermemo` (shozokuid,centerid,gyotaiid,operatedate,memo,creater,createdate) values ('".$shozokuid."' ,'".$centerid."','".$userdata["gyotaiid"]."','".$_POST["chgday"]."','".sqlinjection($_POST[ordermemo],-1)."', '".$userdata["tid"]."',now()) ON DUPLICATE KEY UPDATE memo ='".sqlinjection($_POST[ordermemo],-1)."',updater='".$userdata["tid"]."'"; //UK + PKでうまくいかない $strsql = "DELETE FROM `".$company."ordermemo` WHERE shozokuid ='".$shozokuid."' AND centerid = '".$centerid."' AND gyotaiid = '".$userdata["gyotaiid"]."' AND operatedate ='".$_POST["chgday"]."'"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." 注文メモ登録 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug $strsql = "INSERT INTO `".$company."ordermemo` (shozokuid,centerid,gyotaiid,operatedate,memo,creater,createdate) values ('".$shozokuid."' ,'".$centerid."','".$userdata["gyotaiid"]."','".$_POST["chgday"]."','".sqlinjection($_POST[ordermemo],-1)."', '".$userdata["tid"]."',now())"; $result=mysql_query($strsql,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." 注文メモ登録 $errcode ROW= ".mysql_affected_rows()." ".$strsql); #debug } //暫定 /* $ckdata = dbselect("min(ordercartid) as mi,ordermainid,count(ordercartid) as cnt, max(ordercartid) as ma,shohincd", "`cool_ordersheet`","ordercartid > 0 and createdate >'2013-03-05' group by shohincd ,ordermainid having cnt >1",-1,-1); $n = sizeof($ckdata); Testecho ($y." 暫定 $n 件 ".$strsqldbselect); #debug if($n > 0 ) { for ($pi = 0; $pi < $n; $pi++) { $str = " DELETE FROM cool_ordersheet where ordercartid =".$ckdata[$pi][0]." and ordermainid=".$ckdata[$pi][1]." limit 1;"; // $result=mysql_query($str,$my_con); mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho ($y." 暫定2 $errcode ROW= ".mysql_affected_rows()." ".$str); #debug } } */ } //表示順の指定 if ($_POST[order] == "") { $order = 1; } else { $order = (int)$_POST[order]; } //検索用語 $strsql = ""; if ($sw<>"") { $strsqlsearchword = " and searchword like '%".$sw."%'"; } //サプライヤー選択 if ($_POST[maker]<>"") { $strsqlmaker .= " and sm.makercode = '".$_POST[maker]."'"; } if($_POST["mode"] == "2") { //カート内更新 } elseif($_POST["chgday"] =="") { //日付の指定がない $strsqldate =" cart.operatedate BETWEEN DATE_ADD(CURDATE(),INTERVAL 1 DAY) AND DATE_ADD(CURDATE(),INTERVAL 12 DAY) AND "; } else { $strsqldate = " cart.operatedate = '".$_POST["chgday"]."' AND "; } //受注カートデータ $strsqlorder="SELECT cart.ordercartid,cart.shohincd,cart.cartqty,cart.cartflg,cart.fishoption,cart.memo,cart.operatedate FROM `".$company."ordercart` AS cart WHERE ".$strsqldate."cart.shozokuid='".$userdata[shozokuid]."' ".$strsqlcartflg." "; $strsqlorder="($strsqlorder) AS os"; //SELECT項目 $strsqlselsect = "sm.shohincd,mm.companyname,sm.shohinmei,sm.searchword,sm.kikaku,sm.irisuu,sm.aisuu,sm.juryo,os.cartqty,sm.zaiko,os.cartflg,sm.sell_end_date,sm.kikaku,sm.shohin_kubun5,concat('1',shohin_midint1,shohin_midint2,shohin_midint3,shohin_midint4,shohin_midint5) as optionflg,os.ordercartid,TO_DAYS('".$operatedate."') - TO_DAYS(sm.sell_end_date) as 'nouhincheck',sm.poplevel,ss.poplevel2,ss.nohinprice,sm.stockoutflg,sm.stockout_comein_date,sm.stockout_memo,sm.shohin_kubun2,os.fishoption,os.memo,os.operatedate,sm.shohin_string2"; //商品マスタと受注のJOIN指定 $strsqljoin1 = "sm.shohincd = os.shohincd $strsqljoin"; //既発注のみ//発注確認 $strsqlall="INNER JOIN"; if ($userdata["kengen"]==50) {$title= "発注入力";} //商品マスタをメインに、サプライヤーマスタ内部接続、発注カートテーブル外部接続で、発注日が指定日のリストを取り出す $strsql2 = "SELECT $strsqlselsect FROM `".$company."shohinmaster` AS sm $strsqlall $strsqlorder ON sm.shohincd = os.shohincd, `company` AS mm ,`".$company."shozokushohin` AS ss WHERE sm.makercode = mm.companyid and ss.shozokuid = '".$userdata[shozokuid]."' and sm.shohincd = ss.shohincd "." ORDER BY operatedate,shohincd"; //mysqlで処理手順が変更されている 2011update //select * from (`".$company."shohinmaster` LEFT JOIN `受注カートデータ`) LEFT JOIN 会社(サプライヤ) //=select * from (`".$company."shohinmaster` LEFT JOIN (select 受注ID,受注明細ID,商品ID,受注数 FROM 受注,受注明細) as order) LEFT JOIN tenpomaster //全数 $result=@mysql_query($strsql2,$my_con); $maxrow=@mysql_num_rows($result); mysql_sql_log2($strsql2,$_SERVER['SCRIPT_NAME'].":".__LINE__); //表示分 $row=$maxrow; //魚カテゴリー $codedata107 = dbselect("cname,code","`".$company."code`","codekind = 107","code",-1); //オプション $codedata104 = dbselect("cname,code","`".$company."code`","codekind = 104","codeid",-1); //連絡欄 //$memodata = dbselect("memo,ordermemoid","`".$company."ordermemo`","shozokuid = '".$shozokuid."' and operatedate = DATE_ADD(CURDATE(),INTERVAL $operatedate DAY)",-1,-1); $memodata = dbselect("memo,ordermemoid","`".$company."ordermemo`","shozokuid = '".$shozokuid."' and operatedate = '".$operatedate."'",-1,-1); Testecho($strsqldbselect); //表示ボタン ON/OFF制御 if ($intshowcart == 2) { $strbutton2 = " disabled";//本日発注分の訂正 } else { $strbutton1 = " disabled";//カートを見る } //カートの情報取得(カート内分、発注確定分) $cartdata["cart"] = dbselect("count(cart.ordercartid),sum(cart.cartqty),sum(ss.nohinprice * cart.cartqty)","`".$company."shohinmaster` AS sm INNER JOIN `".$company."ordercart` AS cart USING(shohincd),`".$company."shozokushohin` AS ss","ss.shozokuid = cart.shozokuid and cartflg = 0 and ss.shohincd = cart.shohincd and (cart.operatedate is null or cart.operatedate >=DATE_ADD(CURDATE(),INTERVAL $intstartday DAY)) and cart.shozokuid= '".$userdata[shozokuid]."' ",-1,1); Testecho($strsqldbselect); $cartdata["kakutei"] = dbselect("count(cart.ordercartid),sum(cart.cartqty),sum(ss.nohinprice * cart.cartqty)","`".$company."shohinmaster` AS sm INNER JOIN `".$company."ordercart` AS cart USING(shohincd),`".$company."shozokushohin` AS ss","ss.shozokuid = cart.shozokuid and cartflg >= 1 and ss.shohincd = cart.shohincd and cart.operatedate >= DATE_ADD(CURDATE(),INTERVAL $intstartday DAY) and cart.shozokuid= '".$userdata[shozokuid]."'",-1,1); Testecho($strsqldbselect); ?> 発注システム 0) { if ($okcount > 0 ){ // PrintMsg("","$okcount 件を更新しました。",450); if ($settingdata["order_mail_send"] == 1) { // MailSendMsg($stremail,"発注受付 ",1);//メール送信 } } if ($errcount > 0 ){ // PrintMsg("登録エラーが $errcount 件有りました。
$errmsg","",700); } } if($intshowcart == 1) { $strtitle ="カートに保存されている商品(発注はまだ確定していません)"; } else { $strtitle ="発注確定済みリスト(発注締めまでは数量を訂正できます)"; } ?>
0) {echo "(".$cartdata["cart"][0][0]."点)"; } ?>" name="showcart2" class="margin50" onclick="document.show.mode.value=2;document.show.submit();buttondisabled();"> 0) {echo "(".$cartdata["kakutei"][0][0]."点)"; } ?>" name="editorder2" class="margin50" onclick="document.show.mode.value=1;document.show.submit();buttondisabled();"> >
0) { if($intshowcart == 1) { PrintMsg("発注がまだ確定していない商品です。
","",600); ?>
納品日 ※納品日単位での発注となります。 ",600); ?> 納品日 ","6401b.php","1111111","本日以降全て"," 休市日"); ?> 連絡事項の入力は納品日を指定して下さい。 ">
 
1) { ?> 0) {?>"> "> 1) { ?>
No 納品日 商品コード 商品名 単価 数量変更 受付数 オプション 特記
検索結果はゼロ件でした。
データ異常です。(管理者へ連絡下さい) []
".$data["ordercartid"]); //受注カートID ?>
合計
連絡事項
"") { PrintMsg("",$strmsgapplication,700); } ?>
 
 
 
 
表示対象納品日 ","6401b.php","1111111","全て"," 休市日"); ?>
">
">

▲このページの先頭へ