"all"){ $centerid = $_POST[center]; } else { $centerid = $centerdata[0][1]; } $strsqlcenter = " and centerid = '".$centerid."'"; $errcount = 0; //エラーカウント $okcount = 0; //エラーカウント $errmsg = ""; //エラーメッセージ //変更処理(画面)新規・訂正 $i = 0; For ($y = 1; $y < (int)$_POST[max]; $y++) { if(($_POST["updateline"]=="all") or ($_POST["updateline"] == $y)) { //更新可能 全てを更新、または商品指定更新 $i = 0; For ($i = 0;$i < $intmaxlot ;$i++) { if ($_POST{"qty".$y}[$i] == "") { Testecho("1.NONE Y= $y I= $i"); } elseif (Numchecker3($_POST{"qty".$y}[$i]) == "CHR") { //0.数値欄に文字が入れられたら何も更新しない。 $errmsg .= "数値以外の入力値がありましたので、更新できない商品がありました。[".$_POST{"shohin".$y}."]
";$errcount++; Testecho("2.CHR"); } elseif(Numchecker2($_POST{"qty".$y}[$i]) == 0) { //0.確定 入荷なしで確定した //入荷予定データ if($_POST{"comeinid".$y}<>"") { $strsql = "UPDATE `".$company."comeindata` SET comeinflg=1 WHERE comeinid= '".$_POST{"comeinid".$y}[$i]."' LIMIT 1"; $result=mysql_query($strsql,$my_con); $errcode =@mysql_errno(); Testecho ($y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } } elseif(Numchecker2($_POST{"qty".$y}[$i]) > 0) { //新規挿入 データが0以上 Testecho("3.QTY"); //データNULL CHECK if ((mb_substr(trim($_POST{"shomi".$y}[$i]),0,4) < date("Y")) or (mb_substr(trim($_POST{"shomi".$y}[$i]),0,4) > 2025)) { $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohin".$y}[$i]." 不正日付[".trim($_POST{"shomi".$y}[$i])."]が有りました。YYYYMMDDで入力します
"; Testecho("4b.不正日付"); } elseif (!(ChkdateB(trim($_POST{"shomi".$y}[$i]),$_POST{"shomiflg".$y}))) { $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohin".$y}[$i]." 未入力項目または不正日付[".trim($_POST{"shomi".$y}[$i])."]が有りました。YYYYMMDDで入力します
"; Testecho("4.不正日付"); } elseif (($_POST{"kubun".$y}[$i] == '3') and ($_POST{"qty".$y}[$i] < $_POST{"qty_yotei".$y}[$i])) { $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohin".$y}[$i]." 仮入荷は予定数以上の入荷数が必要です。
"; Testecho("A.仮入荷は予定数以上が必須"); } elseif ($_POST{"qty".$y}[$i] > 32000) { $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohin".$y}[$i]." 32000を超える数量は入力出来ません [".$_POST{"qty".$y}[$i]."]
"; Testecho("B.32000以上はNG"); } else { Testecho("5.INSERT"); //新規挿入時は商品賞味期限チェック(在庫で一番新しい賞味期限より古い賞味期限の入力を阻止する) $shomidata = dbselect("shomi","`".$company."stockdata`","shohincd = '".$_POST{"shohincd".$y}."' and centerid='".$centerid."' and stockqty>0 and validflg=1","shomi desc",1); // if(($userdata["kengen"] == 30) and ($company == "koto_") ){$userdata["kengen"] = 20; } //寿特別 if ((sizeof($shomidata)==0) or ($userdata["kengen"] <= 20)) {//件数チェック、件数有りなら賞味期限をチェックする 管理者権限チェック無し Testecho("5-1.賞味期限CHKなし"); $shomicheck ="OK"; if (IntervalDate(trim($_POST{"shomi".$y}[$i]),$shomidata[0][0]) < 0) { $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 賞味期限=".trim($_POST{"shomi".$y}[$i])." 最新在庫(".$shomidata[0][0].")より古い賞味期限のデータが入力されましたが、管理者権限のため入荷計上しました。
"; $intinversion = 1; //逆転入荷フラグ } } elseif(trim($_POST{"shomi".$y}[$i])=="9999-12-31") { Testecho("5-2.賞味期限管理なし"); //賞味期限管理不要の9999-12-31はエラーチェック無しとする 2007/11/26追加 $shomicheck ="OK"; } else { if (IntervalDate(trim($_POST{"shomi".$y}[$i]),$shomidata[0][0])>=0) { Testecho("5-3.賞味期限CHK=OK"); Testecho("A5"); $shomicheck ="OK"; //在庫のより賞味期限が同じまたは新しいので入荷OK } else { Testecho("5-3.賞味期限CHK=NG"); $shomicheck ="NG"; Testecho("A6".trim($_POST{"shomi".$y}[$i])."*".$shomidata[0][0]); //在庫のより賞味期限が古いので入荷NG } } if ($shomicheck =="OK") { //在庫のより賞味期限が同じまたは新しいので入荷OK if (!(Chkdate(trim($_POST{"shomi".$y}[$i])))) { $shomi = "NULL"; } else { $shomi = "'".trim($_POST{"shomi".$y}[$i])."'"; } //不定貫データ $comeinfixdata = dbselect("count(comeinfixid)","`".$company."comeinfix`","comeinid='".$_POST{"comeinid".$y}[$i]."'",-1,-1); if(($_POST{"comeinid".$y}[$i] <> "") and ($comeinfixdata[0][0] > 0) ) { //入庫実績有り Testecho (__LINE__."=L 登録有り
"); #debug } else { //入荷実績データ $locationdata = dbselect("loccode","`".$company."shohinlocation`","1=1 ".$strsqlcenter." AND shohincd='".$_POST{"shohincd".$y}."'",-1,-1); $shohindata = dbselect("price_buy","`".$company."shohinmaster`","shohincd='".$_POST{"shohincd".$y}."'",-1,-1); $strsql = "INSERT INTO `".$company."comeinfix`(comeinid,centerid,shohincd,supplyerid,kakuteidate,shomi,comeinfixqty,kubun,loccode,transid,inversion,comeinprice,comeinpricetotal,biko,creater,createdate) VALUES('".$_POST{"comeinid".$y}[$i]."','".$centerid."','".$_POST{"shohincd".$y}."','".substr($_POST{"shohincd".$y},0,6)."',DATE_ADD(CURDATE(),INTERVAL $comeindate DAY),".$shomi.",'".Numchecker2($_POST{"qty".$y}[$i])."','".Numchecker2($_POST{"kubun".$y}[$i])."','".$locationdata[0][0]."','".$_POST{"transid".$y}[$i]."','".(int)$intinversion."',".$shohindata[0][0].",".($shohindata[0][0] * Numchecker2($_POST{"qty".$y}[$i])).",'".sqlinjection2($_POST{"memo".$y}[$i],0)."','".$userdata["tid"]."',now())"; // $strsql = "INSERT INTO `".$company."comeinfix`(comeinid,centerid,shohincd,supplyerid,kakuteidate,shomi,comeinfixqty,kubun,loccode,transid,inversion,comeinprice,comeinpricetotal,biko,creater,createdate) VALUES('".$_POST{"comeinid".$y}."','".$centerid."','".$_POST{"shohincd".$y}."','".$_POST["maker"]."',DATE_ADD(CURDATE(),INTERVAL $comeindate DAY),".$shomi.",'".Numchecker2($_POST{"qty".$y}[$i])."','".Numchecker2($_POST{"kubun".$y}[$i])."','".$locationdata[0][0]."','".$_POST{"transid".$y}[$i]."','".(int)$intinversion."',".$shohindata[0][0].",".($shohindata[0][0] * Numchecker2($_POST{"qty".$y}[$i])).",'".sqlinjection2($_POST{"memo".$y}[$i],0)."','".$userdata["tid"]."',now())"; $result=mysql_query($strsql,$my_con); $errcodecomeinfix =@mysql_errno(); $okcount++; Testecho (__LINE__."=L ".$y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); Testecho (__LINE__."=L ".$y.$strsqldbselect."
"); #debug //不定貫データ $comeinfixdata = dbselect("max(comeinfixid)","`".$company."comeinfix`","comeinid='".$_POST{"comeinid".$y}[$i]."' and centerid='".$centerid."' and shohincd='".$_POST{"shohincd".$y}."' and kakuteidate=DATE_ADD(CURDATE(),INTERVAL $comeindate DAY) and shomi=$shomi and comeinfixqty='".Numchecker2($_POST{"qty".$y}[$i])."'",-1,-1); $totalgram = 0; for ($pi = 1; $pi < $intmaxfuteikan; $pi++) { if(Numchecker2($_POST{"gram".$y."-".$i}[$pi])>0) { $strsql = "INSERT INTO `".$company."comeinfuteikan`(comeinfixid,gram,creater,createdate) VALUES('".$comeinfixdata[0][0]."','".$_POST{"gram".$y."-".$i}[$pi]."','".$userdata["tid"]."',now())"; $result=mysql_query($strsql,$my_con); // $errcode =@mysql_errno(); $totalgram +=$_POST{"gram".$y."-".$i}[$pi]; Testecho (__LINE__."=L ".$y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } } //入荷実績の不定貫合計重量TOTALGRAM更新 $strsql = "UPDATE `".$company."comeinfix` SET totalgram = '".$totalgram."' WHERE comeinfixid= '".$comeinfixdata[0][0]."' LIMIT 1"; $result=mysql_query($strsql,$my_con); //$errcode =@mysql_errno(); Testecho (__LINE__."=L ".$y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); //在庫データ $comeinfixid = dbselect("comeinfixid","`".$company."comeinfix`","1=1 ".$strsqlcenter." AND shohincd='".$_POST{"shohincd".$y}."' AND kakuteidate=DATE_ADD(CURDATE(),INTERVAL ".$comeindate." DAY) AND shomi=$shomi","comeinfixid desc",-1); $strsql = "INSERT INTO `".$company."stockdata`(comeinid,comeinfixid,centerid,supplyer,shohincd,stockdate,shomi,stockqty,nonreserveqty,comeinkubun,inversion,location,comeinprice,creater,createdate) VALUES('".$_POST{"comeinid".$y}[$i]."','".$comeinfixid[0][0]."','".$centerid."','".substr($_POST{"shohincd".$y},0,6)."','".$_POST{"shohincd".$y}."',DATE_ADD(CURDATE(),INTERVAL $comeindate DAY),".$shomi.",'".Numchecker2($_POST{"qty".$y}[$i])."','".Numchecker2($_POST{"qty".$y}[$i])."','".Numchecker2($_POST{"kubun".$y}[$i])."','".(int)$intinversion."','".$locationdata[0][0]."',".$shohindata[0][0].",'".$userdata["tid"]."',now())"; $result=mysql_query($strsql,$my_con); $lotnum = mysql_insert_id(); //$errcode =@mysql_errno(); Testecho (__LINE__."=L ".$y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); //仮入荷分は在庫データを調整する(出荷分は既に出荷済みなので引く) if($_POST{"kubun".$y}[$i] == "3") { //仮入荷分の出荷データ更新 $strsql = "UPDATE `".$company."stockdata` as sd,`".$company."shukka` as shu SET shu.lotnum = '".$lotnum."', shu.shomi = sd.shomi , shu.loccode = sd.location, shu.updater = sd.creater, shu.updatedate = now() WHERE shu.comeinid = sd.comeinid and shu.lotnum = 0 and shu.comeinid > 0 and shu.operatedate = DATE_ADD(CURDATE(),INTERVAL ".$comeindate." DAY)"; $result=mysql_query($strsql,$my_con); $errcode =@mysql_errno(); Testecho ("LINE ".__LINE__." ROWS = ".mysql_affected_rows()." ".$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); $strsql = "UPDATE (SELECT sum(shukkaqty) as total,lotnum FROM cool_shukka where lotnum = '".$lotnum."' and operatedate=DATE_ADD(CURDATE(),INTERVAL ".$comeindate." DAY) GROUP BY lotnum) as shu, `".$company."stockdata` as sd SET sd.stockqty = sd.stockqty - shu.total, sd.nonreserveqty = sd.nonreserveqty - shu.total WHERE shu.lotnum = sd.lotnum"; $result=mysql_query($strsql,$my_con); $lotnum = mysql_insert_id(); $errcode =@mysql_errno(); Testecho ($y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } //入荷予定データ if($_POST{"comeinid".$y}[$i]<>"") { $strsql = "UPDATE `".$company."comeindata` SET comeinflg=1 WHERE comeinid= '".$_POST{"comeinid".$y}[$i]."' LIMIT 1"; $result=mysql_query($strsql,$my_con); $errcode =@mysql_errno(); Testecho ($y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } } } else { //$shomicheck ="NG"; //在庫のより賞味期限が古いので入荷NG $errcount++; $errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 賞味期限=".trim($_POST{"shomi".$y}[$i])." 最新在庫(".$shomidata[0][0].")より古い賞味期限のデータが入力されました。
"; } $intinversion = 0; } } } } } if(($_POST[updateall] <> "") or ($_POST["updateline"] <> "")) { //サプライヤーコード挿入 $strsql = "update `".$company."comeinfix` as a,`".$company."shohinmaster` as b SET a.supplyerid = b.makercode where a.shohincd = b.shohincd and kakuteidate=DATE_ADD(CURDATE(),INTERVAL ".$comeindate." DAY)"; $result=mysql_query($strsql,$my_con); $errcode =@mysql_errno(); Testecho ($y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); //入荷実績データにlotnumを入れる $strsql = "UPDATE `".$company."comeinfix` as cd ,`".$company."stockdata` as sd set cd.lotnum=sd.lotnum WHERE cd.comeinfixid = sd.comeinfixid AND cd.lotnum is null"; $result=mysql_query($strsql,$my_con); $errcode =@mysql_errno(); Testecho ($y.$strsql."
"); #debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); //賞味期限0000-00-00が挿入され+LOTNUMが無い対応(LOTNUMに挿入、賞味期限を入荷日) 2016/10/27 $strsql = "update ".$company."comeinfix as f,".$company."stockdata as s SET f.lotnum = s.lotnum ,f.shomi = f.kakuteidate where f.lotnum is null and f.shohincd = s.shohincd and f.kakuteidate = s.stockdate and f.centerid = s.centerid and f.shomi='0000-00-00'"; $result=mysql_query($strsql,$my_con); Testecho ($y." ROW:".mysql_affected_rows()." ".$strsql); //debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); $strsql = "update ".$company."stockdata SET shomi=stockdate WHERE shomi='0000-00-00'"; $result=mysql_query($strsql,$my_con); Testecho ($y." ROW:".mysql_affected_rows()." ".$strsql); //debug mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__); } //レコードの指定 if ($_POST[pagenum] == "") { $page = 1; } else { $page = (int)$_POST[pagenum]; } //データ取得数 $limit = " LIMIT ".($pageset*($page - 1)).",$pageset"; //検索用語 $strsql = ""; if ($sw<>"") { $strsqlsearchword = " and searchword like '%".$sw."%'"; } //サプライヤーコード if ($userdata["supplyerid2"] <> "") { //10Tradex,20本部、30センター、40サプライヤー、50納品先 $strsqlmaker = " and makercode in (".$userdata["supplyerid2"].") "; $makerdata = dbselect("companyname,companyid","company","companyid in (".$userdata["supplyerid2"].") ","companyid",-1); Testecho ($strsqldbselect); } elseif ($userdata["supplyerid"] <> "") { $makerid = $userdata["supplyerid"]; $strsqlmaker = " and makercode = '$makerid'"; $makerdata = dbselect("companyname,companyid","company","companyid in (".$userdata["supplyerid2"].") ","companyid",-1); } else { } if ($_POST[maker]<>""){ $makerid = $_POST[maker]; $strsqlmaker = " and makercode = '$makerid'"; } //商品のリストを入荷予定分のみ(shohin in 句用) if (($_POST[yotei]=="") or ($_POST[yotei]=="1")) { $strsql5 = "SELECT shohincd FROM `".$company."comeindata` WHERE comeindate=DATE_ADD( CURDATE() , INTERVAL ".$comeindate." DAY ) $strsqlcenter GROUP BY shohincd"; Testecho ($y." $errcode ".$strsql5); #debug $strsql5 = dbselectin($strsql5,"and shohincd in "); $yotei = 1; } else { $yotei = 2; } //商品のリストを取り出す(shohin in 句用&総合計数用) $strsql1 = "SELECT shohincd FROM `".$company."shohinmaster` WHERE zaiko=1 and ryutu_type = 1 ".$strsqlmaker.$strsqlsearchword.$strsql5." ORDER BY shohincd"; Testecho ($y." strsql1= ".$strsql1 ); #debug //商品マスタ+サプライヤ情報 //SELECT * FROM (SELECT FROM 商品マスタ、サプライヤ on makeracode=companyid) AS mas $strsql2 = "SELECT shohincd, shohinmei, kikaku, irisuu, aisuu, code, juryo, nisugata,shomiflg, makercode ,companyname,sho.price_buy FROM `".$company."shohinmaster` AS sho INNER JOIN `company` ON sho.makercode=company.companyid ".dbselectin($strsql1.$limit,"and sho.shohincd in ")." ORDER BY shohincd"; //更新可能かを判断する $list = dbselect("comeinfittime","`usecenter`","hcompanyid = '".$company2."' and companyid = '".$centerid."'",-1,-1); //処理確定時間 if(($comeindate == 0) or (($comeindate == -1) and (date(Gi) < $list[0][0]))) { //当日は更新可能 前日は設定時間前は更新可能 $strdisabled = ""; } elseif(($comeindate > -5) and ($comeindate <= -1)) { //2,3,4日前は更新可能 $strdisabled = ""; } elseif($usedata["kengen"] < 11) { $strdisabled = ""; } else { Testecho($comeindate); $strdisabled = "disabled"; $strdisabled2 = "disabled = \"disabled\""; } //全数 $result=@mysql_query($strsql1,$my_con); $maxrow=@mysql_num_rows($result); Testecho ($y." $errcode ".$strsql1); #debug mysql_sql_log2($strsql1,$_SERVER['SCRIPT_NAME'].":".__LINE__); //データ1ページ分 $result=@mysql_query($strsql2,$my_con); Testecho ($y." $errcode ".$strsql2); #debug $row=@mysql_num_rows($result); mysql_sql_log2($strsql2,$_SERVER['SCRIPT_NAME'].":".__LINE__); ?>
入荷データアップロード
センターコード、商品コード、入荷実績日、賞味期限日、入荷実績数

入荷日
表示対象
不定貫
xonclick="document.sww.Submit.disabled=true;submitALL2();return false;">有り
0) { if ($okcount > 0 ){ PrintMsg("","$okcount 件のデータを更新しました。",700); } if ($errcount > 0 ){ PrintMsg("登録エラーが $errcount 件有りました。","",700); } PrintMsg($errmsg,$worningmsg,700); } if ($strdisabled <> "") { PrintMsg("規定日数を超過した過去日のため入力できません","",700); } if (($msg_shime<>"") and ($centerid<>"")){ echo "

"; echo "
"; echo $msg_shime;//締め時間についてのアナウンス echo "
"; } ?>

入荷日:  =0) { echo $shime; //締め時間アナウンス } if ($sw<>""){ echo "商品検索:$sw"; } echo " 該当件数:".$maxrow."件 "; ?>
0) { ?>
No サプライヤー 商品コード 商品名 規格 合数 入数 予定 実績 単価 確定
検索結果はゼロ件でした。
\n"; $strhtml.=" \n"; $strhtml.=" \n"; if ($data[shomiflg]==3) { $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" "; } else { $strhtml.=" \n"; $strhtml.=" \n"; } $strhtml.=" \n"; if ((int)$_POST[futeikan]==1) { $strhtml.=" "; $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" \n"; $strhtml.=" "; } else { } $i++; } } ?>
予定なし
予定数 備考
  0 ) {$trans = dbselect("companyname","company,`".$company."transdata` as td","transid='".$data3[transid]."' and company.companyid = td.centerid",-1,-1);$trans = $trans[0][0]."から移動分";echo $trans;} ?>
"; for ($pi = 1; $pi < 11; $pi++) { $strhtml.=" "; if (($pi % 5) == 0){$strhtml.="
\n";} } } $strhtml.="
".$trans."
3) { ?> " value=""> " alue="1"> 3) and (int)$row3<8) { //8未満のときに追加を表示 } else { echo ""; ////行の自動塗りのため、数をそろえる } ?>
 入荷数     備考 重量 合計重量
    ".number_format($data5[gram],2).""; if (($pi%4)==0){echo "
\n";} $pi++; } ?>
  0) {$trans = dbselect("companyname","company,`".$company."transdata` as td","transid='".$data4[transid]."' and company.companyid = td.centerid",-1,-1);$trans = $trans[0][0]."から移動分";echo $trans;} ?>
" value="" class="EDIT" > " value="">
" value="" class="EDIT" > " value="" class="EDIT" > " value=""> " alue="1"> " value="" style="background:#ccFFFF"> "; if (($pi % 5) == 0){echo "
\n";} } } ?>
3) and (int)$row3<8) { //8未満のときに追加を表示 ?> >
> 0) { ?> > 0) { ?>