""){
$centerid = $_POST[center];
$strsqlcenter = " and centerid = '$_POST[center]'";
} else {
$centerid = $centerdata[0][1];
$strsqlcenter = " and centerid = '$centerid'";
}
$cname = GetListdata($centerdata,$centerid,0);
$shimetime = GetListdata($centerdata,$centerid,2); //在庫型締め時間
// $shimetime2 = GetListdata($centerdata,$centerid,3); //通過型締め時間
if ($shimetime<1000) {
$shimestr = substr($shimetime, 0, 1).":".substr($shimetime, 1, 2);
} else {
$shimestr = substr($shimetime, 0, 2).":".substr($shimetime, 2, 2);
}
$shime = $strtitle."締め時間は".$strtitle2."日の前日 ".$shimestr." (在庫型)です。 ";
//入荷締め切り判定
if ($lead>0) {
//入荷入力日が明日以降
$scheck = "OK";
} elseif ($lead<0) {
//入荷入力日が昨日
if ($userdata["kengen"] < 30) {
//管理者tradexはいつでも入力可能。
$scheck = "OK";
//$msg_shime = " 管理者権限でいつでも入力可能";
} else {
//締め時間を過ぎている
if(($userdata["kengen"]==20) and (1700>=(int)date("Gi")) and ($lead==-1)){
//$scheck = "OK";//debug 管理者20だけ当日17時までOKとする
//$msg_shime = " 管理者権限で当日17:00まで入力可能";
$scheck = "NG";
} else {
$scheck = "NG";
}
}
} else {
//入荷入力日が当日 在庫型
if ($userdata["kengen"] < 30) {
//管理者tradexはいつでも入力可能。
//$msg_shime = " 管理者権限";
$scheck = "OK";
} else {
if((int)$shimetime <= (int)date("Gi")) { //時間単位 Giで2359
//締め時間を過ぎている
$scheck = "NG";
} else {
//締め時間前
$scheck = "OK";
}
}
}
if ($scheck=="NG") {
$msg_shime_err = "入力期限を過ぎているので入力ができません。 ".$strtitle2."日を変更して下さい。
";
} else {
//$msg_shime = "入力出来ます。".$msg_shime."
";
}
$errcount = 0; //エラーカウント
$okcount = 0; //エラーカウント
$errmsg = ""; //エラーメッセージ
//アップロード更新処理
if (!empty($_FILES)) {
//ファイル名の移動先の指定
$filename = $datalocation."upload/0700-".$userdata["honbuid"]."-".$userdata["tid"]."-".date("YmdGi");
move_uploaded_file($_FILES['userfile']['tmp_name'],$filename);
$errcount = 0; //エラーカウント
$okcount = 0; //エラーカウント
$errmsg = ""; //エラーメッセージ
$y = 1; //カウント
//ファイルの読み込み
//センターコード、商品コード、入荷予定日、賞味期限日、入荷予定数
$fp=fopen($filename,"r");
if (!$fp){
print "
FILEハンドルエラー
";
$errcount++;
} else {
while (!feof ($fp)) {
$buffer = fgets($fp, 4096);
$buffer = str_replace("\"","",$buffer);
$arraydata = explode(",",$buffer);
//センターコード
if ($userdata["kengen"] <> 30) {
$centercode = trim($arraydata[0]); //各処理行で入力
}
//UPLOAD判定
//日付が本日より後、商品コードがある、明日ならセンターデータリストにある
//商品コードが無いものは飛ばす
if ($arraydata[1] <> "") {
//該当の商品を削除
$strsql="DELETE from comeindata where honbucode=".$userdata["honbuid"]." and centercode='".$centercode."' and shohincd='".trim($arraydata[1])."' and comeindate='".trim($arraydata[2])."' and shomi= '".trim($arraydata[3])."' and comeinflg=0 limit 1";
$result=mysql_query($strsql,$my_con);
Testecho ($y.$strsql); //debug
//該当の商品を追加
//新規挿入時は商品賞味期限チェック(在庫で一番新しい賞味期限より古い賞味期限の入力を阻止する)
$shomidata = dbselect("shomi","stockdata","shohincd = '".trim($arraydata[1])."' and honbucode = '".$userdata["honbuid"]."' and centercode='".trim($arraydata[0])."' and stockqty>0","shomi desc",1); //
if (sizeof($shomidata)==0) {//件数チェック、件数有りなら賞味期限をチェックする
$shomicheck ="OK"; //0件なら入荷OK
} else {
if (($userdata["kengen"] <= 20) or (IntervalDate(trim($arraydata[2]),$shomidata[0][0])>=0)) {
//在庫のより賞味期限が同じまたは新しいので入荷OK(管理者権限はエラーチェックなし)
$shomicheck ="OK";
} elseif((trim($arraydata[2])=="9999-12-31") or (trim($arraydata[2])=="9999/12/31")) {
//賞味期限管理不要の9999-12-31はエラーチェック無しとする 2007/11/26追加
$shomicheck ="OK";
} else {
//在庫のより賞味期限が古いので入荷NG
$shomicheck ="NG";
}
}
if ($shomicheck =="OK") {
$strsql="INSERT INTO comeindata(honbucode,centercode,shohincd,comeindate,shomi,comeinqty,kakuteiqty,creater,createdate,comeinprice,comeinpricetotal) values (".$userdata["honbuid"].",".trim($arraydata[0]).",'".trim($arraydata[1])."','".trim($arraydata[2])."','".trim($arraydata[3])."','".trim($arraydata[4])."','".trim($arraydata[4])."','".$userdata["tid"]."',now(),0,0)";
$result=mysql_query($strsql,$my_con);
$errcode =mysql_errno();
if($errcode==1062) {
Testecho ("既に登録されています\n");
$errcount++;
$errmsg .= $y."行目 修正登録不可 ".$buffer."
\n";
} elseif($errcode==1064) {
Testecho ("どこか、不正なデータがあり、登録に失敗しました。");
$errcount++;
$errmsg .= $y."行目 不正データ ".$buffer."
\n";
} elseif($errcode==0) {
$okcount++;
} else {
$errcount++;
$errmsg .= $y."行目 不明エラー ".$buffer."
\n";
}
Testecho ($y.$strsql." ERR=".$errcode."
") ; //debug
} else {
//$shomicheck ="NG";
//在庫のより賞味期限が古いので入荷NG
$errcount++;
Testecho ("賞味期限の逆転で、登録に失敗しました。");
$errmsg .= $y."行目 不正データ 最新在庫より古い賞味期限のデータが入力されました ".$buffer."
\n";
}
}
$y++;
}
fclose ($fp);
}
}
//変更処理(画面)新規・訂正
if (($_POST[update] <> "") and ($scheck == "OK")){
Testecho ($y." UPDATE
"); #debug
For ($y=1;$y<(int)$_POST[max];$y++) {
Testecho ($y." ".$_POST{"shohincd".$y}." LOOP
"); #debug
if ($_POST{"shohincd".$y} == "") break;
#$a = "qty".$y;
//if ((int)$_POST{"flg".$y} ==0 ) {
//更新可能 0:入荷確定前、1:入荷確定済、2:締め済み
if ($_POST{"qty".$y}=="") {
//0空欄は何も更新しない。
} elseif (Numchecker3($_POST{"qty".$y})=="CHR") {
//0.数値欄に文字が入れられたら何も更新しない。
$errmsg .= "数値以外の入力値がありましたので、更新できない商品がありました。[".$_POST{"shohincd".$y}."]
";$errcount++;
} elseif ((Numchecker2($_POST{"qty".$y}) == 0) and ($_POST{"comeinid".$y} <>"")) {
//削除 IDがあり、新データが0
$strsql = "DELETE from `".$company."comeindata`";
$strsql .= " WHERE comeinid = '".$_POST{"comeinid".$y}."' limit 1";
$result=mysql_query($strsql,$my_con);
Testecho ($y." ".$strsql."
"); #debug
mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__);
$okcount++;
} elseif((Numchecker2($_POST{"qty".$y}) > 0) and ($_POST{"comeinid".$y} =="")) {
//新規挿入 IDなしで、新データが0以上
//データNULL CHECK
if (!(ChkdateB($_POST{"shomi".$y},$shomicheckflg))) {
$errcount++;
$errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 未入力項目または不正日付[".$_POST{"shomi".$y}."]が有りました。YYYYMMDDで入力します
";
} else {
//商品賞味期限チェック(在庫で一番新しい賞味期限より古い賞味期限の入力を阻止する)
if($_POST{"shomi".$y}<>"") {
$shomidata = dbselect("shomi","`".$company."stockdata`","shohincd = '".$_POST{"shohincd".$y}."' and centerid='".$centerid."' and stockqty>0 and validflg=1 and shomi > '".$_POST{"shomi".$y}."'","shomi desc",1); //
Testecho($strsqldbselect);
}
if ((($_POST{"shomi".$y}<>"") and (sizeof($shomidata)==0)) or ($_POST{"shomi".$y}=="")) {//賞味期限入力有りなら、在庫より古いものではないかをチェックする
// if (($_POST{"shomi".$y}<>"") and (sizeof($shomidata) == 0)) {//賞味期限入力有りなら、在庫より古いものではないかをチェックする
//在庫のより賞味期限が同じまたは新しいので入荷OK
if (!(Chkdate($_POST{"shomi".$y}))) {
$shomi = "NULL";
} else {
$shomi = "'".$_POST{"shomi".$y}."'";
}
$locationdata = dbselect("loccode","`".$company."shohinlocation`","centerid='".$centerid."' AND shohincd='".$_POST{"shohincd".$y}."'",-1,-1);
$pricedata = dbselect("price_buy,makercode","`".$company."shohinmaster`","shohincd='".$_POST{"shohincd".$y}."'",-1,-1);
$strsql = "INSERT INTO `".$company."comeindata`(centerid,shohincd,supplyerid,comeindate,shomi,comeinqty,kubun,loccode,creater,createdate,comeinprice,comeinpricetotal) VALUES('".$centerid."','".$_POST{"shohincd".$y}."','".$pricedata[0][1]."',DATE_ADD(CURDATE(),INTERVAL $orderdate DAY),".$shomi.",'".Numchecker2($_POST{"qty".$y})."','".Numchecker2($_POST{"kubunold".$y})."','".$locationdata[0][0]."','".$userdata["tid"]."',now(),'".$pricedata[0][0]."','".((int)$pricedata[0][0] * Numchecker2($_POST{"qty".$y}))."')";
$result=mysql_query($strsql,$my_con);
$errcode =@mysql_errno();
$okcount++;
Testecho ($y.$strsql."
"); #debug
mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__);
} else {
//在庫のより賞味期限が古いので入荷NG
$errcount++;
$errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 入力日=".$_POST{"shomi".$y}." 最新在庫(".$shomidata[0][0].")より古い期日が入力されました。
";
}
}
} elseif(($_POST{"comeinid".$y} <>"") and ( Numchecker2($_POST{"qty".$y})<>(int)$_POST{"qtyold".$y}) or ($_POST{"shomiold".$y}<>$_POST{"shomi".$y})) {
//更新 IDがあり、旧データと新データが異なる
//データNULL CHECK
if (!(ChkdateB($_POST{"shomi".$y},$shomicheckflg))) {
$errcount++;
$errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 未入力項目または不正日付のため更新できませんでした。
";
} else {
if (!(Chkdate($_POST{"shomi".$y}))) {
$shomi = "NULL";
$okcount++;
$strsql = "UPDATE `".$company."comeindata` set comeinqty='".Numchecker2($_POST{"qty".$y})."',kubun='".Numchecker2($_POST{"kubunold".$y})."',updater='".$userdata["tid"]."',shomi=".$shomi;
$strsql .= " where comeinid = '".$_POST{"comeinid".$y}."' limit 1";
$result=mysql_query($strsql,$my_con);
Testecho ($y." ".$strsql."
"); #debug
} else {
$shomi = "'".$_POST{"shomi".$y}."'";
$shomidata = dbselect("shomi","`".$company."stockdata`","shohincd = '".$_POST{"shohincd".$y}."' and centerid='".$centerid."' and stockqty>0 and validflg=1 and shomi>'".$_POST{"shomi".$y}."'","shomi desc",1);
if(sizeof($shomidata)==0) {
$okcount++;
$strsql = "UPDATE `".$company."comeindata` set comeinqty='".Numchecker2($_POST{"qty".$y})."',kubun='".Numchecker2($_POST{"kubunold".$y})."',updater='".$userdata["tid"]."',shomi=".$shomi;
$strsql .= " where comeinid = '".$_POST{"comeinid".$y}."' limit 1";
$result=mysql_query($strsql,$my_con);
Testecho ($y." ".$strsql."
"); #debug
} else {
$errcount++;
$errmsg .= "#".$errcount." ".$_POST{"shohincd".$y}." 入力日=".$_POST{"shomi".$y}." 最新在庫(".$shomidata[0][0].")より古い期日が入力されました。
";
}
}
mysql_sql_log($strsql,mysql_affected_rows(),$_SERVER['SCRIPT_NAME'].":".__LINE__);
}
}
/*} elseif((int)$_POST{"flg".$y} ==1 ) {
//ロケーション更新可能 更新可能 0:入荷確定前、1:入荷確定済、2:締め済み
if((Numchecker2($_POST{"qty".$y}) > 0) and (($_POST{"location".$y}<>$_POST{"locationold".$y}) )) {
//更新
$okcount++;
$strsql = "UPDATE comeindata set location='".$_POST{"location".$y}."',updater='".$userdata["tid"]."',updatedate=now()";
$strsql .= " where comeinid = '".$_POST{"comeinid".$y}."' limit 1";
$result=mysql_query($strsql,$my_con);
Testecho ($y." ".$strsql."
"); #debug
}
}*/
}
}
//レコードの指定
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"] <> "") {
$strsqlmaker = " and makercode = '".$userdata["supplyerid"]."'";
$makerid = $userdata["supplyerid"];
}
if (($_POST[maker]<>"all") and ($_POST[maker]<>"")){
$strsqlmaker = " and makercode = '".$_POST[maker]."'";
$makerid = $_POST[maker];
}
//商品のリストを取り出す(shohin in 句用&総合計数用)
$strsql1 = "SELECT shohincd FROM `".$company."shohinmaster` WHERE ryutu_type=1 and zaiko=1 ".$strsqlmaker.$strsqlsearchword." ORDER BY shohincd";
//商品マスタ+サプライヤ情報
//SELECT * FROM (SELECT FROM 商品マスタ、サプライヤ on makeracode=companyid) AS mas
$strsql2 = "SELECT shohincd, shohinmei, kikaku, irisuu, aisuu, code, juryo, nisugata,shomiflg, makercode ,companyname FROM `".$company."shohinmaster` AS sho INNER JOIN `company` ON sho.makercode=company.companyid ".dbselectin($strsql1.$limit,"and sho.shohincd in ")." ORDER BY shohincd";
//全数
$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__);
?>
| センターコード、商品コード、 $strtitle2 予定日、賞味期限日、 $strtitle2 予定数 |
| 予定数 | 備考 | |||||
|---|---|---|---|---|---|---|
| "> | ||||||
| $strplusdisabled=""; //+ボタンを有効にする } //入荷日NULL対策 if($data3[shomi] == "") { $shomi = ""; } else { $shomi = date("Y-m-d",strtotime($data3[shomi])); } if ($data[shomiflg]==3) { //入庫日管理 ?> 0) { //入荷実績済み ?> | 0) { //入荷実績済み ?> | "") {$trans = dbselect("companyname","company,`".$company."transdata` as td","transid='".$data3[transid]."' and company.companyid = td.centerid",-1,-1);echo $trans[0][0]."から移動分";} ?> |