fhiiqm/prozess_ed.php
changeset 34 fc60ef80a7ad
parent 28 8d8bce56918f
child 35 679bc22e37e2
equal deleted inserted replaced
33:f1a8785434e4 34:fc60ef80a7ad
    91          if (counter == limit)  {
    91          if (counter == limit)  {
    92               alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
    92               alert("Das Limit von " + counter + " zusätzlichen inputs ist erreicht");
    93          }
    93          }
    94          else {
    94          else {
    95               var newdiv = document.createElement('div');
    95               var newdiv = document.createElement('div');
    96               newdiv.innerHTML = "<input type='text' name='pz[step][]' size='50' maxlength='50' />";
    96               var opt="<option value='-1'></option>";
       
    97               var i;
       
    98               for (var key in arr)  
       
    99               {
       
   100                 opt = opt.concat("<option value='",key,"'>",arr[key],"</option>\n" );
       
   101               }
       
   102               opt += "</select>\n";
       
   103               newdiv.innerHTML = "<span></span><input type='text' name='pz[step][]' size='50' maxlength='50' />";
       
   104               newdiv.innerHTML += "&nbsp;&nbsp;&nbsp;&nbsp;Status&nbsp;&nbsp;&nbsp;<select name='pz[ststat][]'>"+opt;
       
   105               newdiv.innerHTML += "<img src='/fhiiqm/img/nixt.gif' border='0' height='100%' />";
       
   106               newdiv.innerHTML += "<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Bemerkung zu Schritt&nbsp;&nbsp;&nbsp;";
       
   107               newdiv.innerHTML += "<input type='text' name='pz[stbem][]' size='50' maxlength='50' />";
    97               document.getElementById(divId).appendChild(newdiv);
   108               document.getElementById(divId).appendChild(newdiv);
    98               counter++;
   109               counter++;
    99          }
   110          }
   100     }
   111     }
   101     function delInput(divId){
   112     function delInput(divId){
   102 //          var kn = document.getElementById(divId).lastChild;
   113 //          var kn = document.getElementById(divId).lastChild;
   103 //          document.getElementById(divId).removeChild(kn);
   114 //          document.getElementById(divId).removeChild(kn);
   104             var kn = document.getElementById(divId); 
   115             var kn = document.getElementById(divId); 
   105             while (kn.childNodes.length>0 && kn.lastChild.nodeName != "INPUT" && kn.lastChild.nodeName != "A")
   116             while (kn.childNodes.length>0 && kn.lastChild.nodeName != "SPAN" && kn.lastChild.nodeName != "A")
   106             {
   117             {
   107                 //alert ("vor "+kn.lastChild.nodeName+", nodetyp = "+ kn.lastChild.nodeType);
   118                 //alert ("vor "+kn.lastChild.nodeName+", nodetyp = "+ kn.lastChild.nodeType);
   108                 var knc = kn.lastChild;
   119                 var knc = kn.lastChild;
   109                     document.getElementById(divId).removeChild(knc);
   120                     document.getElementById(divId).removeChild(knc);
   110             }
   121             }
   111             if (kn.lastChild.nodeName == "INPUT") document.getElementById(divId).removeChild(kn.lastChild);
   122             if (kn.lastChild.nodeName == "SPAN") document.getElementById(divId).removeChild(kn.lastChild);
   112     }
   123     }
   113     //-->
   124     //-->
   114     </script>
   125     </script>
   115 
   126 
   116 	<title>Edit Prozess</title>
   127 	<title>Edit Projekt</title>
   117 </head>
   128 </head>
   118 
   129 
   119 <body>
   130 <body>
   120 
   131 
   121     <script>
   132     <script>
   175 <?php
   186 <?php
   176     echo "&nbsp;";  
   187     echo "&nbsp;";  
   177     echo "<div class=\"float-br smaller\" valign='top'>";
   188     echo "<div class=\"float-br smaller\" valign='top'>";
   178     echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
   189     echo "&nbsp;&nbsp;&nbsp;user: " . $_SESSION["userid"];
   179     echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
   190     echo "&nbsp;&nbsp;&nbsp;<a class='sc' href='/fhiiqm/logout.php' title='Session beenden'>logout</a></div>\n";
   180     echo "<div class=\"float-r\"><img src=\"img/sheduled_task.png\" border=\"0\" alt=\"Prozess &auml;ndern\" title=\"Prozess &auml;ndern\"/></div>\n";
   191     echo "<div class=\"float-r\"><img src=\"img/sheduled_task.png\" border=\"0\" alt=\"Projekt &auml;ndern\" title=\"Projekt &auml;ndern\"/></div>\n";
   181 
   192 
   182 
   193 
   183     echo "<div align='center'>";
   194     echo "<div align='center'>";
   184     if ($pzid) $text = "editieren"; else $text = "erfassen";
   195     if ($pzid) $text = "editieren"; else $text = "erfassen";
   185     if ($copy) $duptext = " (Kopie)";
   196     if ($copy) $duptext = " (Kopie)";
   186     echo "<h3>Prozess $text$duptext<h3>";
   197     echo "<h3>Projekt $text$duptext<h3>";
   187     
   198     
   188     echo "</div>\n";
   199     echo "</div>\n";
   189     
   200     
   190     if (!$ok || (!$sub && !$del && !$dup))
   201     if (!$ok || (!$sub && !$del && !$dup))
   191     {
   202     {
   223                     $pz["persa"] = $row->ama;
   234                     $pz["persa"] = $row->ama;
   224                     $pz["pers"] = $row->vma;
   235                     $pz["pers"] = $row->vma;
   225                 }
   236                 }
   226             }
   237             }
   227             // Daten aus Proz_Step
   238             // Daten aus Proz_Step
   228             $sql = "SELECT proz_step FROM Proz_Step WHERE proz_ID = $pzid ORDER BY proz_step_ID";
   239             $sql = "SELECT proz_step,step_stat_ID,step_bem FROM Proz_Step WHERE proz_ID = $pzid ORDER BY proz_step_ID";
   229             if ($ress = $dbc -> queryObjectArray($sql))
   240             if ($ress = $dbc -> queryObjectArray($sql))
   230             {
   241             {
   231                 foreach ($ress as $row)
   242                 foreach ($ress as $row)
   232                 $pz["step"][] = $row->proz_step;
   243                 {
       
   244                     $pz["step"][] = $row->proz_step;
       
   245                     $pz["ststat"][] = $row->step_stat_ID;
       
   246                     $pz["stbem"][] = $row->step_bem;
       
   247                 }
   233             }
   248             }
   234 
   249 
   235         }
   250         }
   236         include($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/prozess_form.inc.php");
   251         include($_SERVER["DOCUMENT_ROOT"]."/fhiiqm/form/prozess_form.inc.php");
   237         if ($sub || $del)
   252         if ($sub || $del)
   238 		{
   253 		{
   239 		  	if ($sub)
   254 		  	if ($sub)
   240                 $frage = "Alle Angaben ok?";
   255                 $frage = "Alle Angaben ok?";
   241             elseif ($del)
   256             elseif ($del)
   242                 $frage = "Prozess wirklich l&ouml;schen?";
   257                 $frage = "Projekt wirklich l&ouml;schen?";
   243 			echo "<tr>
   258 			echo "<tr>
   244 			  <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
   259 			  <td class=\"red\" valign=\"top\" align=\"left\">$frage</td>
   245 			        <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
   260 			        <td><input type=\"checkbox\" name=\"ok\" value=\"1\"";
   246 			        if ($ok)  echo "checked=\"checked\""; 
   261 			        if ($ok)  echo "checked=\"checked\""; 
   247 			echo " /></td>\n</tr>\n"; 
   262 			echo " /></td>\n</tr>\n"; 
   259            	echo "</td></tr>\n";
   274            	echo "</td></tr>\n";
   260         }
   275         }
   261         echo "</table>\n";
   276         echo "</table>\n";
   262         echo "</div>\n";
   277         echo "</div>\n";
   263 //            if (!is_null($_SESSION["recht"]) && !in_array("le", $_SESSION["recht"]))
   278 //            if (!is_null($_SESSION["recht"]) && !in_array("le", $_SESSION["recht"]))
   264             echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"prozess_flist.php\" target=\"_self\" title=\"Prozessliste\">&laquo; zur Prozessliste</a></p>\n"; 
   279             echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"prozess_flist.php\" target=\"_self\" title=\"Projektliste\">&laquo; zur Projektliste</a></p>\n"; 
   265         echo "</form>\n";   
   280         echo "</form>\n";   
   266     }     
   281     }     
   267     else
   282     else
   268     {
   283     {
   269         echo "<div align='center'>\n";
   284         echo "<div align='center'>\n";
   279             }                
   294             }                
   280             else
   295             else
   281             {
   296             {
   282                 echo "<p class='red'><b>DELETE: Daten  zu '".$pz["bez"]."', ID = '$pzid'  konnten nicht gel&ouml;scht werden!</b></p>\n";
   297                 echo "<p class='red'><b>DELETE: Daten  zu '".$pz["bez"]."', ID = '$pzid'  konnten nicht gel&ouml;scht werden!</b></p>\n";
   283                 if (strpos($dbc->error,'1451') !== false)
   298                 if (strpos($dbc->error,'1451') !== false)
   284                     echo "error DELETE: Es gibt mindestens einen abhängigen Prozess zu Prozess-ID '$pzid'<br />";
   299                     echo "error DELETE: Es gibt mindestens einen abhängiges Projekt zu Projekt-ID '$pzid'<br />";
   285                 else
   300                 else
   286                 {
   301                 {
   287                     echo "sql = $sql<br />";
   302                     echo "sql = $sql<br />";
   288                     echo "error DELETE: " . $dbc->error . "<br />";
   303                     echo "error DELETE: " . $dbc->error . "<br />";
   289                 }    
   304                 }    
   303             if ($pz["pedat"] == "") $pz["pedat"] = null;
   318             if ($pz["pedat"] == "") $pz["pedat"] = null;
   304             if ($pz["kost"]) $pz["kost"] = dbformat_wert($pz["kost"]); else $pz["kost"] = null; 
   319             if ($pz["kost"]) $pz["kost"] = dbformat_wert($pz["kost"]); else $pz["kost"] = null; 
   305             if ($pz["pkost"]) $pz["pkost"] = dbformat_wert($pz["pkost"]); else $pz["pkost"] = null;
   320             if ($pz["pkost"]) $pz["pkost"] = dbformat_wert($pz["pkost"]); else $pz["pkost"] = null;
   306             if ($pz["urg"] == -1) $pz["urg"] = null;
   321             if ($pz["urg"] == -1) $pz["urg"] = null;
   307             if ($pz["stat"] == -1) $pz["stat"] = null; 
   322             if ($pz["stat"] == -1) $pz["stat"] = null; 
   308             if ($pz["pzref"] == -1) $pz["pzref"] = null; 
   323             if ($pz["pzref"] == -1) $pz["pzref"] = null;
       
   324             if ($pz["prid"] < 1) $pz["prid"] = null;
   309 
   325 
   310             if ($pz["pers"] < "!") $pz["persknr"] = null;
   326             if ($pz["pers"] < "!") $pz["persknr"] = null;
   311             if ($pz["persa"] < "!") $pz["persknra"] = null;
   327             if ($pz["persa"] < "!") $pz["persknra"] = null;
   312 
   328 
   313             if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
   329             if (!isset($dbc) || !$dbc) $dbc = new dbconnection();
   334                                 proz_bem = ?, 
   350                                 proz_bem = ?, 
   335                                 persknr_a = ?  WHERE proz_ID = $pzid"); 
   351                                 persknr_a = ?  WHERE proz_ID = $pzid"); 
   336                     $stmt -> bind_param('issssdssdiiiisi',$pz["prid"],$pz["bez"],$pz["bezl"],$pz["sdat"],$pz["edat"],$pz["kost"],$pz["psdat"],$pz["pedat"],$pz["pkost"],
   352                     $stmt -> bind_param('issssdssdiiiisi',$pz["prid"],$pz["bez"],$pz["bezl"],$pz["sdat"],$pz["edat"],$pz["kost"],$pz["psdat"],$pz["pedat"],$pz["pkost"],
   337                         $pz["urg"],$pz["stat"],$pz["persknr"],$pz["pzref"],$pz["bem"],$pz["persknra"]);
   353                         $pz["urg"],$pz["stat"],$pz["persknr"],$pz["pzref"],$pz["bem"],$pz["persknra"]);
   338                     $result = $stmt -> execute();                    
   354                     $result = $stmt -> execute();                    
   339                     if ($stmt->error) echo "error UPDATE Prozess: " . $stmt->error . "<br><br>\n";
   355                     if ($stmt->error) echo "error UPDATE Projekt: " . $stmt->error . "<br><br>\n";
   340                 
   356                 
   341                 }
   357                 }
   342                 else
   358                 else
   343                 {   //INSERT
   359                 {   //INSERT
   344                     $stmt -> prepare ("INSERT INTO Prozess (produkt_ID, proz_bez, proz_bez_l, proz_start, proz_end, proz_kosten, proz_start_pl, proz_end_pl, proz_kost_pl, 
   360                     $stmt -> prepare ("INSERT INTO Prozess (produkt_ID, proz_bez, proz_bez_l, proz_start, proz_end, proz_kosten, proz_start_pl, proz_end_pl, proz_kost_pl, 
   345                         proz_urg_ID, proz_stat_ID, persknr, proz_ref_ID, proz_bem, persknr_a) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
   361                         proz_urg_ID, proz_stat_ID, persknr, proz_ref_ID, proz_bem, persknr_a) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
   346                     $stmt -> bind_param('issssdssdiiiisi',$pz["prid"],$pz["bez"],$pz["bezl"],$pz["sdat"],$pz["edat"],$pz["kost"],$pz["psdat"],$pz["pedat"],$pz["pkost"],
   362                     $stmt -> bind_param('issssdssdiiiisi',$pz["prid"],$pz["bez"],$pz["bezl"],$pz["sdat"],$pz["edat"],$pz["kost"],$pz["psdat"],$pz["pedat"],$pz["pkost"],
   347                         $pz["urg"],$pz["stat"],$pz["persknr"],$pz["pzref"],$pz["bem"],$pz["persknra"]);
   363                         $pz["urg"],$pz["stat"],$pz["persknr"],$pz["pzref"],$pz["bem"],$pz["persknra"]);
   348                     $result = $stmt -> execute();                    
   364                     $result = $stmt -> execute();                    
   349                     if ($stmt->error) echo "error INSERT Prozess: " . $stmt->error . "<br><br>\n";
   365                     if ($stmt->error) echo "error INSERT Projekt: " . $stmt->error . "<br><br>\n";
   350                     if ($result)
   366                     if ($result)
   351                     { // INSERT o.k.
   367                     { // INSERT o.k.
   352                       // info_ID ermitteln
   368                       // info_ID ermitteln
   353                         $pzid = $dbc -> insertId();
   369                         $pzid = $dbc -> insertId();
   354                     }    
   370                     }    
   357                 {   // INSERT Prozessschritte
   373                 {   // INSERT Prozessschritte
   358                     $sql = "DELETE FROM Proz_Step WHERE proz_ID = $pzid";
   374                     $sql = "DELETE FROM Proz_Step WHERE proz_ID = $pzid";
   359                     $retd = $dbc -> execute($sql);
   375                     $retd = $dbc -> execute($sql);
   360                     if ($retd)
   376                     if ($retd)
   361                     {
   377                     {
   362                         $stmt -> prepare("INSERT INTO Proz_Step (proz_ID,proz_step) VALUES(?,?)");
   378                         $stmt -> prepare("INSERT INTO Proz_Step (proz_ID,proz_step,step_stat_ID,step_bem) VALUES(?,?,?,?)");
   363                         for ($k=0; $k<count($pz["step"]); $k++)
   379                         for ($k=0; $k<count($pz["step"]); $k++)
   364                         {
   380                         {
   365                             if ($pz["step"][$k]) 
   381                             if ($pz["step"][$k]) 
   366                             {
   382                             {
   367                                 $stmt -> bind_param('is',$pzid, $pz["step"][$k]);
   383                                 if ($pz["ststat"][$k] == -1) $pz["ststat"][$k] = null; 
       
   384                                 if ($pz["stbem"][$k] < "!") $pz["stbem"][$k] = null; 
       
   385                                 $stmt -> bind_param('isis',$pzid, $pz["step"][$k], $pz["ststat"][$k], $pz["stbem"][$k]);
   368                                 $rets = $stmt -> execute();
   386                                 $rets = $stmt -> execute();
   369                                 if (!$rets) $rets = false;
   387                                 if (!$rets) $rets = false;
   370                             }
   388                             }
   371                         }
   389                         }
   372                         if (!$rets) echo "error INSERT Prozess-Schritt: $stmt->error<br />\n";
   390                         if (!$rets) echo "error INSERT Projekt-Schritt: $stmt->error<br />\n";
   373                     }
   391                     }
   374                     else echo "error INSERT Prozess-Schritt: $dbc->error<br />\n";                   
   392                     else echo "error INSERT Projekt-Schritt: $dbc->error<br />\n";                   
   375                 }   
   393                 }   
   376             }
   394             }
   377 
   395 
   378             if ($result && $rets)
   396             if ($result && $rets)
   379             {
   397             {
   380                 echo "<p class='green'><b>Prozess '".$pz["bez"]."' mit ID '$pzid' wurden erfolgreich gespeichert.</b></p>\n";
   398                 echo "<p class='green'><b>Projekt '".$pz["bez"]."' mit ID '$pzid' wurden erfolgreich gespeichert.</b></p>\n";
   381                 include ("inc/prozess_dat_show.inc.php");
   399                 include ("inc/prozess_dat_show.inc.php");
   382             }   
   400             }   
   383             else
   401             else
   384                 echo "<p class='red'><b>Daten zu '".$pz["bez"]."' wurden nicht oder nur teilweise gespeichert</b></p>\n";
   402                 echo "<p class='red'><b>Daten zu '".$pz["bez"]."' wurden nicht oder nur teilweise gespeichert</b></p>\n";
   385 
   403 
   386         }
   404         }
   387         echo "</div>";
   405         echo "</div>";
   388         echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"prozess_flist.php\" target=\"_self\" title=\"Prozessliste\">&laquo; zur Prozessliste</a></p>\n"; 
   406         echo "<p class='sc'>&nbsp;&nbsp;&nbsp;<a href=\"prozess_flist.php\" target=\"_self\" title=\"Projektliste\">&laquo; zur Projektliste</a></p>\n"; 
   389     }
   407     }
   390     echo "</body>\n</html>\n";
   408     echo "</body>\n</html>\n";
   391 ?>    
   409 ?>