Browse Source

代簽新增大日程的合約號及作番號

公告新增 modal 顯示
funglobal 登入失敗從 alert 改成 php exit
header 新增藍凌過來的 token 解析
t8 ip 連線改成內網連線
大日程根據會議議程更改計畫圖流程(新增經理階段)
大日程單獨開通林慧姍的調整日期權限
gary
gary_chen\gary_chen 1 year ago
parent
commit
ec672accd1
  1. 241
      wms/board-index.php
  2. 116
      wms/css/view/wipwhole-index.php
  3. 59
      wms/css/view/wipwhole-renovate-index.php
  4. 2
      wms/fun_global.php
  5. 104
      wms/gary.php
  6. 34
      wms/header.php
  7. 17
      wms/menu-record-update.php
  8. 50
      wms/sign/list.php
  9. 3
      wms/wipwhole-change-contractdate.php
  10. 33
      wms/wipwhole-change-planning-customer-name.php
  11. 36
      wms/wipwhole-index-function.php
  12. 93
      wms/wipwhole-index.php
  13. 2
      wms/wipwhole-rec-invoice-edit-fileupload.php
  14. 262
      wms/wipwhole-rec-invoice-edit-submit.php
  15. 307
      wms/wipwhole-rec-invoice-edit.php
  16. 1
      wms/wipwhole-rec-invoice.php
  17. 26
      wms/wipwhole-renovate-index-function.php
  18. 13
      wms/wipwhole-renovate-index.php
  19. 235
      wms/wipwhole-renovate-rec-invoice-edit-submit.php
  20. 297
      wms/wipwhole-renovate-rec-invoice-edit.php
  21. 1
      wms/wipwhole-renovate-rec-invoice.php

241
wms/board-index.php

@ -8,96 +8,189 @@ $data = array();
$sql = "select * from board where status = 'Y' order by id";
// 用mysqli_query方法執行(sql語法)將結果存在變數中
$data = mysqli_query($link,$sql);
$data = mysqli_query($link, $sql);
$data2 = $data;
?>
<!-- <a href="create.php"><h2>新增</h2></a> -->
<?php if ($user_auth&2) { ?>
<p>
<a href="board-create.php?function_name=board&<?php echo $token_link; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
</p>
<?php if ($user_auth & 2) { ?>
<p>
<a href="board-create.php?function_name=board&<?php echo $token_link; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
</p>
<?php
}
if($data):
if ($data) :
?>
<style>
table {
table-layout:fixed;
width: 100%;
}
<style>
table {
table-layout: fixed;
width: 100%;
}
td {
word-wrap:break-word;
}
td {
word-wrap: break-word;
}
img {
width:125px;
}
img {
width: 125px;
}
.width_style_1 {
width:125px;
}
.width_style_1 {
width: 125px;
}
table{
width:100%;
}
#table_index_filter{
float:right;
}
#table_index_paginate{
float:right;
}
label {
display: inline-flex;
margin-bottom: .5rem;
margin-top: .5rem;
}
table {
width: 100%;
}
#table_index_filter {
float: right;
}
#table_index_paginate {
float: right;
}
label {
display: inline-flex;
margin-bottom: .5rem;
margin-top: .5rem;
</style>
<div style="overflow-x:auto;">
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>項次</th>
<th>主旨</th>
<th>附件</th>
<!--<th>是否置頂</th>-->
<th>建檔人</th>
<th>建檔時間</th>
<th>關閉公告</th>
</tr>
</thead>
<tbody>
<?php foreach($data as $data) : ?>
<tr>
<td><?php echo $data['id']; ?></td>
<td><?php echo $data['title']; ?></td>
<td><a href="/wms/board-file.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" target="_blank"><?php echo str_replace("board-attach/","",$data['attach']); ?></a></td>
<!--<td><?php if ($data['pin'] > 1) echo "是"; else echo "否"; ?></td>-->
<td><?php echo $data['creater']; ?></td>
<td><?php echo $data['create_at']; ?></td>
<td>
<p>
<?php if (($data['creater'] == $user_id) && ($data['status']=="Y")) { ?>
<a href="board-delete.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-info btn-sm" onClick="return confirm('確認關閉公告嗎?')">
<span class="glyphicon glyphicon-remove"></span>
</a>
<?php } else echo "-"; ?>
</p>
</td>
</tr>
}
/* The Modal (background) */
.modal {
display: none;
/* Hidden by default */
position: fixed;
/* Stay in place */
z-index: 1;
/* Sit on top */
padding-top: 100px;
/* Location of the box */
left: 0;
top: 0;
width: 100%;
/* Full width */
height: 100%;
/* Full height */
overflow: auto;
/* Enable scroll if needed */
}
.modal .back {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.4);
/* Black w/ opacity */
}
/* Modal Content */
.modal-content {
z-index: 9;
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
</style>
<div style="overflow-x:auto;">
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>項次</th>
<th>主旨</th>
<th>附件</th>
<!--<th>是否置頂</th>-->
<th>建檔人</th>
<th>建檔時間</th>
<th>關閉公告</th>
</tr>
</thead>
<tbody>
<?php foreach ($data as $data) : ?>
<tr>
<td><?php echo $data['id']; ?></td>
<!-- <td><?php echo $data['title']; ?></td> -->
<td><a onclick="openModal('<?php echo $data['id']; ?>')" href="#"><?php echo $data['title']; ?></button></a>
<td><a href="/wms/board-file.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" target="_blank"><?php echo str_replace("board-attach/", "", $data['attach']); ?></a></td>
<!--<td><?php if ($data['pin'] > 1) echo "是";
else echo "否"; ?></td>-->
<td><?php echo $data['creater']; ?></td>
<td><?php echo $data['create_at']; ?></td>
<td>
<p>
<?php if (($data['creater'] == $user_id) && ($data['status'] == "Y")) { ?>
<a href="board-delete.php?id=<?php echo $data['id']; ?>&<?php echo $token_link; ?>" class="btn btn-info btn-sm" onClick="return confirm('確認關閉公告嗎?')">
<span class="glyphicon glyphicon-remove"></span>
</a>
<?php } else echo "-"; ?>
</p>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<?php
foreach ($data2 as $data2) :
?>
<div id="myModal<?php echo $data2['id']; ?>" class="modal">
<div class="back"></div>
<div class="modal-content">
<button type="button" class="close myCloseBtn" id="">X</button>
<div class='col-12' style='text-align:center'>
<h3><?php echo $data2['title']; ?></h3>
<br/>
<?php echo nl2br($data2['content']); ?>
</div>
</div>
</div>
<?php endforeach; ?>
</tbody>
</table>
</div>
<script>
var modal = document.getElementById("myModal");
function openModal(id) {
$("#myModal" + id).show();
}
$(".myCloseBtn").click(function(e) {
$(".modal").hide();
});
$(".back").click(function(e) {
$(".modal").hide();
});
</script>
<?php
else:
else :
echo "<h2>There is no record!</h2>";
endif;

116
wms/css/view/wipwhole-index.php

@ -3,22 +3,27 @@
#table_index2_paginate {
text-align: right;
}
#table_index3_filter,
#table_index3_paginate {
text-align: right;
}
#table_index4_filter,
#table_index4_paginate {
text-align: right;
}
#table_index5_filter,
#table_index5_paginate {
text-align: right;
}
#table_index6_filter,
#table_index6_paginate {
text-align: right;
}
#table_index7_filter,
#table_index7_paginate {
text-align: right;
@ -66,6 +71,117 @@
text-align: center;
}
#loadingOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
/* 透明度的背景颜色 */
z-index: 9999;
/* 确保在最上层显示 */
/* 添加加载动画的样式 */
}
.hidden {
display: none;
}
#loadingOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
/* 半透明的背景 */
z-index: 9999;
/* 确保显示在最上层 */
display: flex;
justify-content: center;
align-items: center;
}
.loading-text {
text-align: center;
margin-top: 10px;
/* 调整文字与图标之间的间距 */
font-size: 16px;
color: #333;
/* 文字颜色 */
}
.loading-icon {
/* 这里是你加载图标的样式,可以是一个动画、GIF图或者SVG等 */
/* 例如一个简单的加载圆圈动画 */
border: 10px solid #f3f3f3;
/* 灰色边框 */
border-top: 10px solid #3498db;
/* 蓝色顶部边框 */
border-radius: 50%;
width: 80px;
height: 80px;
animation: spin 2s linear infinite;
/* 旋转动画 */
}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
}
.modal .back{
position: absolute;
top: 0;
left:0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content */
.modal-content {
z-index: 9;
background-color: #fefefe;
margin: auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
}
/* The Close Button */
.close {
color: #aaaaaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: #000;
text-decoration: none;
cursor: pointer;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@media screen and (max-width: 600px) {

59
wms/css/view/wipwhole-renovate-index.php

@ -3,22 +3,27 @@
#table_index2_paginate {
text-align: right;
}
#table_index3_filter,
#table_index3_paginate {
text-align: right;
}
#table_index4_filter,
#table_index4_paginate {
text-align: right;
}
#table_index5_filter,
#table_index5_paginate {
text-align: right;
}
#table_index6_filter,
#table_index6_paginate {
text-align: right;
}
#table_index7_filter,
#table_index7_paginate {
text-align: right;
@ -66,6 +71,60 @@
text-align: center;
}
#loadingOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
/* 透明度的背景颜色 */
z-index: 9999;
/* 确保在最上层显示 */
/* 添加加载动画的样式 */
}
.hidden {
display: none;
}
#loadingOverlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.7);
/* 半透明的背景 */
z-index: 9999;
/* 确保显示在最上层 */
display: flex;
justify-content: center;
align-items: center;
}
.loading-text {
text-align: center;
margin-top: 10px;
/* 调整文字与图标之间的间距 */
font-size: 16px;
color: #333;
/* 文字颜色 */
}
.loading-icon {
/* 这里是你加载图标的样式,可以是一个动画、GIF图或者SVG等 */
/* 例如一个简单的加载圆圈动画 */
border: 10px solid #f3f3f3;
/* 灰色边框 */
border-top: 10px solid #3498db;
/* 蓝色顶部边框 */
border-radius: 50%;
width: 80px;
height: 80px;
animation: spin 2s linear infinite;
/* 旋转动画 */
}
@media screen and (max-width: 600px) {

2
wms/fun_global.php

@ -169,6 +169,8 @@ function check_user_permission($user_id, $token) {
mysqli_free_result($res);
if (!$do) {
echo "無權限操作,請洽管理員。";
exit;
echo "<script>alert('無權限操作,請洽管理員。');if (history.length==1) location.href='/wms/index.php?token=".$token."'; else history.go(-1);</script>";
} else return $do;
}

104
wms/gary.php

@ -3,59 +3,61 @@ ini_set('display_errors', 'on');
include "fun_global.php";
include "database.php";
print_r(manage_class("M0117"));
echo manage_class("M0117")[0];
// account table
$accounttype = "A";
$accountid = "";
$pwd = "123";
$name = "";
$creater = "";
$create_at = date("Y-m-d H:i:s");
// // account table
// $accounttype = "A";
// $accountid = "";
// $pwd = "123";
// $name = "";
// $creater = "";
// $create_at = date("Y-m-d H:i:s");
// 檢查 accountid 是否未重複並寫入 account 資料表
$sql = "
SELECT DISTINCT
a.accountid,
w.contractno,
w.custom
FROM wipwholestatus AS w
LEFT JOIN (
SELECT
accountid
FROM account
) AS a
ON a.accountid = w.contractno
WHERE a.accountid IS NULL
";
$data = mysqli_query($link, $sql);
// // 檢查 accountid 是否未重複並寫入 account 資料表
// $sql = "
// SELECT DISTINCT
// a.accountid,
// w.contractno,
// w.custom
// FROM wipwholestatus AS w
// LEFT JOIN (
// SELECT
// accountid
// FROM account
// ) AS a
// ON a.accountid = w.contractno
// WHERE a.accountid IS NULL
// ";
// $data = mysqli_query($link, $sql);
$J = 0;
foreach ($data as $key => $row) :
echo $row['accountid']."<br>";
echo $J++;
if (empty($row['accountid'])) {
// $J = 0;
// foreach ($data as $key => $row) :
// echo $row['accountid']."<br>";
// echo $J++;
// if (empty($row['accountid'])) {
$accountid = $row['contractno'];
$name = $row['custom'];
echo $sql2 = "
INSERT INTO account (
accounttype,
accountid,
pwd,
name,
creater,
create_at
) VALUES (
'$accounttype',
'$accountid',
'$pwd',
'$name',
'$creater',
'$create_at'
)
";
echo "<br/>";
mysqli_query($link, $sql2);
}
endforeach;
// $accountid = $row['contractno'];
// $name = $row['custom'];
// echo $sql2 = "
// INSERT INTO account (
// accounttype,
// accountid,
// pwd,
// name,
// creater,
// create_at
// ) VALUES (
// '$accounttype',
// '$accountid',
// '$pwd',
// '$name',
// '$creater',
// '$create_at'
// )
// ";
// echo "<br/>";
// mysqli_query($link, $sql2);
// }
// endforeach;

34
wms/header.php

@ -7,6 +7,18 @@
// $maintenancePage = new MaintenancePage($maintenancePeriod);
// $maintenancePage->displayPage();
function CreateToken($user_id, $user_name) {
date_default_timezone_set("Asia/Taipei");
$start_time = date("Y-m-d H:i:s");
$end_time = date('Y-m-d H:i:s',strtotime('+24 hour')); #设定24小时
$info = $user_id . '.' . base64_encode(urlencode($user_name)) . '.' . $start_time . '.' . $end_time; //设置token过期时间为一天
$encryption_code = "MASADA!^***";
//根据以上信息信息生成签名(密钥为 SIGNATURE 自定义全局常量)
$signature = hash_hmac('md5', $info, $encryption_code);
//最后将这两部分拼接起来,得到最终的Token字符串
return $token = $info . '.' . $signature;
}
require_once dirname(__FILE__) . "/../mkt/database.php";
include "fun_global.php";
@ -21,7 +33,7 @@ if (isset($_REQUEST["function_name"])) {
* 連線T8 MSSQL
*/
try {
$conn = new PDO("sqlsrv:Server=60.244.87.101;Database=T8MASADA", "masada", "@m222222");
$conn = new PDO("sqlsrv:Server=10.10.145.2;Database=T8MASADA", "masada", "@m222222");
if ($conn) {
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
@ -42,12 +54,20 @@ try {
* $user_auth 使用權限:1,2,3
*****************************/
$token = $_REQUEST["token"];
$token_link = "token=" . $_REQUEST["token"];
list($user_id, $enc_user_name, $login_dt) = explode(".", $token);
$user_name = urldecode(base64_decode($enc_user_name));
$user_id = !empty($_GET["employee_no"]) ? $_GET["employee_no"] : $user_id;
$login_dt = !empty($_GET["timestamp"]) ? $_GET["timestamp"] : $login_dt;
if (count(explode(".", $token)) > 1) {
$token_link = "token=" . $_REQUEST["token"];
list($user_id, $enc_user_name, $login_dt) = explode(".", $token);
$user_name = urldecode(base64_decode($enc_user_name));
} else {
$user_id = !empty($_GET["employee_no"]) ? $_GET["employee_no"] : $user_id;
$login_dt = !empty($_GET["timestamp"]) ? substr($_GET["timestamp"], 0, 10) : $login_dt;
$login_dt = date('Y-m-d H:i:s', $login_dt);
$user_name = accountid2name()[$user_id];
$token = CreateToken($user_id,$user_name);
$token_link = "token=" . $token;
}
include 'IncludeCommon.php';
$includecommon = new IncludeCommon();
@ -64,6 +84,8 @@ if (strlen($accounttype) != 0) {
</script>
<?php
// echo $token;
// exit;
// uesr可操作權限
$user_auth = check_user_permission($user_id, $token);

17
wms/menu-record-update.php

@ -6,6 +6,10 @@ $auth_change_status = false;
if (isset($_POST['update'])) {
// foreach ($_POST as $k => $v) {
// $$k = htmlspecialchars(stripslashes(trim($v)));
// }
if (!empty($_POST['can_read'])) {
$auth_change_status = true;
$link_content = explode("\r\n", $_POST['link_content']);
@ -129,10 +133,21 @@ if (isset($_POST['update'])) {
}
}
}
$main_menu_seq = empty($_POST['main_menu_seq']) ? '' : $_POST['main_menu_seq'];
$main_menu = empty($_POST['main_menu']) ? '' : $_POST['main_menu'];
$sub_menu_seq = empty($_POST['sub_menu_seq']) ? '' : $_POST['sub_menu_seq'];
$sub_menu = empty($_POST['sub_menu']) ? '' : $_POST['sub_menu'];
$sub_menu_eng = empty($_POST['sub_menu_eng']) ? '' : $_POST['sub_menu_eng'];
$mlink = empty($_POST['mlink']) ? '' : $_POST['mlink'];
$link_content = empty($_POST['link_content']) ? '' : $_POST['link_content'];
$status = empty($_POST['status']) ? '' : $_POST['status'];
$id = empty($_POST['id']) ? '' : $_POST['id'];
$create_at = date('Y-m-d H:i:s');
//$link_content = str_replace(PHP_EOL, ',', $link_content);
$db_query = "UPDATE menu set main_menu_seq = '$main_menu_seq', main_menu = '$main_menu', sub_menu_seq = '$sub_menu_seq', sub_menu = '$sub_menu', ";
$db_query .= "sub_menu_eng = '$sub_menu_eng', mlink = '$mlink', link_content = '$link_content', status = '$status', create_at = '$create_at' WHERE id='$id'";
mysqli_query($link, $db_query);
$affected = mysqli_affected_rows($link);
mysqli_close($link);
@ -141,7 +156,7 @@ if (isset($_POST['update'])) {
echo "alert('update成功');";
echo "location.href='menu-index.php?function_name=menu&" . $token_link . "';";
echo "</script>";
}elseif($auth_change_status == true){
} elseif ($auth_change_status == true) {
echo "<script type ='text/JavaScript'>";
echo "alert('權限調整成功');";
echo "location.href='menu-index.php?function_name=menu&" . $token_link . "';";

50
wms/sign/list.php

@ -1,6 +1,6 @@
<?php
error_reporting(E_ALL);
ini_set("display_errors", "on");
// error_reporting(E_ALL);
// ini_set("display_errors", "on");
/**
* 显示所有的待签 员工所有待签
*/
@ -10,6 +10,28 @@ ini_set("display_errors", "on");
require_once "../database.php";
require_once "../header.php";
function getWipwholestatusDataByFormkey($link, $form_key, $flow_id)
{
$sql = "
SELECT
form_id
FROM flow
WHERE form_key = '$form_key'
AND system_id = 'wws'
AND flow_id = '$flow_id'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);
$sql = "
SELECT
*
FROM wipwholestatus
WHERE id = '" . $row['form_id'] . "'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_assoc($result);
return $row;
}
$system_id = $_SERVER['REQUEST_METHOD'] == 'GET' ? @$_GET['system_id'] : @$_POST['system_id'];
@ -132,7 +154,7 @@ $flow_name_opt = (array_unique($flow_name_opt, SORT_REGULAR));
<table id="table_index" style='width:100%;margin:0 auto' class="table table-striped table-bordered display compact">
<thead>
<tr>
<th>序號</th>
<th style="width:400px;">序號</th>
<th>系統名稱</th>
<th>流程名稱</th>
<th>接收日期</th>
@ -149,7 +171,27 @@ $flow_name_opt = (array_unique($flow_name_opt, SORT_REGULAR));
if ($data['flow_code'] !== 'Z') {
?>
<tr>
<td><a target="_blank" href="<?= $data['path'] . "?form_key=" . $data['form_key'] . "&token=$token" ?>"><?= $data['form_key']; ?></a></td>
<td>
<?php
if ($data['system_name'] == '作番大日程系統') {
$w_data = getWipwholestatusDataByFormkey($link, $data['form_key'], $data['flow_id']);
$facilityno = $w_data['facilityno'];
$contractno = $w_data['contractno'];
?>
<a target="_blank" href="<?= $data['path'] . "?form_key=" . $data['form_key'] . "&token=$token" ?>">
作番大日程-合約號:<?= $contractno ?> 作番號:<?= $facilityno ?>
</a>
<?php
} else {
?>
<a target="_blank" href="<?= $data['path'] . "?form_key=" . $data['form_key'] . "&token=$token" ?>">
<?= $data['form_key']; ?>
</a>
<?php
}
?>
</td>
<td><?php echo $data['system_name']; ?></td>
<td><?php echo $data['flow_name']; ?></td>
<td><?php echo $data['update_date']; ?></td>

3
wms/wipwhole-change-contractdate.php

@ -11,6 +11,9 @@
// ini_set('display_errors', 'on');
// include 'IncludeCommon.php';
require_once "database.php";
// $includecommon = new IncludeCommon();
include "header.php";
include "css/view/wipwhole-change-contractdate.php";
include "wipwhole-change-contractdate-function.php";

33
wms/wipwhole-change-planning-customer-name.php

@ -1,6 +1,37 @@
<?php
// ini_set('display_errors', 'on');
// function getAccounttype($link, $user_id)
// {
// $sql = "SELECT * FROM account where accountid = '$user_id'";
// $data = mysqli_query($link, $sql);
// $row = mysqli_fetch_array($data, MYSQLI_ASSOC);
// return $row['accounttype'];
// }
// include 'IncludeCommon.php';
require_once "database.php";
// $includecommon = new IncludeCommon();
include "header.php";
$token = empty($token) ? $_REQUEST["token"] : $token;
$token_link = "token=" . $token;
list($user_id, $enc_user_name, $login_dt) = explode(".", $token);
$user_name = urldecode(base64_decode($enc_user_name));
$accounttype = getAccounttype($link, $user_id);
$data = array();
$login_json = null;
if (strlen($accounttype) != 0) {
$jsonres['menu'] = $includecommon->menu_v3($user_id, $accounttype);
$login_json = json_encode($jsonres, JSON_UNESCAPED_UNICODE);
}
?>
<script>
res = eval("(" + JSON.stringify(<?php echo $login_json; ?>) + ")");
window.localStorage.setItem("menu_<?php echo $user_id; ?>", res.menu);
</script>
<?php
/*
1. 有 cid 是已申請過的單
2. 沒有 cid 是新申請單
@ -9,7 +40,7 @@
5. 大日程的 id 新申請過的直接取得
*/
include "header.php";
include "css/view/wipwhole-change-contractdate.php";
include "wipwhole-change-planning-customer-name-function.php";

36
wms/wipwhole-index-function.php

@ -1,5 +1,21 @@
<?php
/**
* 取得生管主管 options
* @param object $link:資料庫連線
* @param string $id:作番大日程唯一值
* @return object 回傳 mysqli_query
*/
function getWipwholestatusDetail($link, $id)
{
$db_query = "
SELECT * FROM
wipwholestatus WHERE id = '$id'
";
$receivabledata = mysqli_query($link, $db_query);
return mysqli_fetch_array($receivabledata, MYSQLI_ASSOC);
}
function getWipwholestatusData($link, $id)
{
$db_query = "
@ -549,7 +565,7 @@ function getYDForm_key($link, $form_id)
ON f.form_key = s.form_key
WHERE 1=1
AND f.form_id = '$form_id'
AND f.flow_code IN ('A','B','C','D')
AND f.flow_code IN ('A','B','C','D','I')
AND f.system_id = 'wws'
AND f.flow_id = 'wws01'
";
@ -770,7 +786,7 @@ function checkNowFormYDStatus($link)
flow_code
FROM flow
WHERE form_id = '$id'
AND flow_code IN ('A','B','C','D')
AND flow_code IN ('A','B','C','D','I')
AND system_id = 'wws'
AND flow_id = 'wws01'
";
@ -884,7 +900,7 @@ function getForm_key($link, $form_id)
ON f.form_key = s.form_key
WHERE 1=1
AND f.form_id = '$form_id'
AND f.flow_code IN ('A','B','C','D','E')
AND f.flow_code IN ('A','B','C','D','E','I')
AND f.system_id = 'wws'
AND f.flow_id = 'wws01'
";
@ -944,11 +960,11 @@ function getTabNo($user_department_id)
if ($user_department_id == 220)
return 0;
if ($user_department_id == 311 || $user_department_id == 312 || $user_department_id == 313 || $user_department_id == 314 || $user_department_id == 315)
return 0;
if ($user_department_id == 911)
return 1;
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545]))
if ($user_department_id == 911)
return 2;
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545]))
return 0;
if ($user_department_id == 321 || $user_department_id == 250)
return 3;
if ($user_department_id == 912)
@ -1124,7 +1140,7 @@ function getSaveEstimateInstallData($user_department_id, $role_id)
return true;
if ($user_department_id == '521' && in_array($role_id, ['11', '9', '12']))
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6']))
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '544' && in_array($role_id, ['3', '6']))
return true;
@ -1141,7 +1157,7 @@ function saveInstallData($user_department_id, $role_id)
return true;
if ($user_department_id == '521' && $role_id == '9')
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6']))
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '543' && $role_id == '2')
return true;
@ -1176,9 +1192,9 @@ function getAllCustomerPlanningVerify($link, $id)
{
$sql = "
SELECT
custom AS custom_name,
real_custom_name AS custom_name,
customer_planning_verify_file,
create_at
date_format(customer_planning_verify_at, '%Y-%m-%d %H:%i:%s') AS create_at
FROM wipwholestatus
WHERE id = $id
AND customer_planning_verify_file != ''

93
wms/wipwhole-index.php

@ -1,3 +1,9 @@
<div id="loadingOverlay" class="hidden">
<div class="loading-icon"></div>
</div>
<script>
document.getElementById('loadingOverlay').classList.remove('hidden');
</script>
<?php
// ini_set('display_errors', 'on');
/**
@ -26,8 +32,9 @@ include "wipwhole-index-function.php";
include "css/view/wipwhole-index.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST['form_name'] == 'del_form') {
$del_seq = $_POST['del_seq'];
$form_name = empty($_REQUEST['form_name']) ? null : $_REQUEST['form_name'];
$del_seq = empty($_REQUEST['del_seq']) ? null : $_REQUEST['del_seq'];
if ($form_name == 'del_form') {
$sql = "UPDATE wipwholestatus SET status = '0' WHERE id = '$del_seq' ";
mysqli_query($link, $sql);
}
@ -202,28 +209,48 @@ $dataZ = mysqli_query($link, $sql);
</div>
<nav class="navbar navbar-tabs" style="margin:0;margin-top:5px;">
<div class="container-fluid">
<ul class="nav nav-pills">
<li class="active">
<a href="#" onclick="showAllTable()">全部資料</a>
</li>
<li>
<a href="#" onclick="showATable()">營業確認中</a>
</li>
<li>
<a href="#" onclick="showBTable()">設計確認中</a>
</li>
<li>
<a href="#" onclick="showGTable()">廠務確認中</a>
</li>
<li>
<a href="#" onclick="showCHTable()">生管理確認中</a>
</li>
<li>
<a href="#" onclick="showZTable()">已結案</a>
</li>
</ul>
<div class="row">
<div class="col-md-9 col-12">
<ul class="nav nav-pills">
<li class="active">
<a href="#" onclick="showAllTable()">全部資料</a>
</li>
<li>
<a href="#" onclick="showATable()">營業確認中</a>
</li>
<li>
<a href="#" onclick="showBTable()">設計確認中</a>
</li>
<li>
<a href="#" onclick="showGTable()">廠務確認中</a>
</li>
<li>
<a href="#" onclick="showCHTable()">生管理確認中</a>
</li>
<li>
<a href="#" onclick="showZTable()">已結案</a>
</li>
</ul>
</div>
<div class="col-md-3 col-12 text-right" id="myBtn">
<button class="btn btn-primary " type="button">欄位維護權限</button>
</div>
</div>
</div>
</nav>
<div id="myModal" class="modal">
<div class="back"></div>
<div class="modal-content">
<button type="button" class="close" id="myCloseBtn">X</button>
<div class='col-12' style='text-align:center'>
qwe
</div>
</div>
</div>
<?php
$dataArr = array(
"All" => $data,
@ -272,6 +299,7 @@ mysqli_close($link);
$(function() {
$(".data_table_div").hide();
showTable(sheetNum);
document.getElementById('loadingOverlay').classList.add('hidden');
})
const formData = new FormData();
@ -368,6 +396,7 @@ mysqli_close($link);
}
function showTable(code) {
console.log(code);
var tmp_arr = {
"All": "1",
"A": "2",
@ -376,8 +405,8 @@ mysqli_close($link);
"CH": "5",
"Z": "6",
}
$("body > nav.navbar.navbar-tabs > div > ul > li").attr("class", "");
$("body > nav.navbar.navbar-tabs > div > ul > li:nth-child(" + tmp_arr[code] + ")").attr("class", "active");
$("nav.navbar.navbar-tabs div > ul > li").attr("class", "");
$("nav.navbar.navbar-tabs div > ul > li:nth-child(" + tmp_arr[code] + ")").attr("class", "active");
$(".data_table_div").hide();
$("#data_" + code + "_table_div").show();
}
@ -503,6 +532,22 @@ mysqli_close($link);
$("#del_form").submit();
}
</script>
<script>
var modal = document.getElementById("myModal");
$("#myBtn").click(function() {
$("#myModal").show();
});
$("#myCloseBtn").click(function(e) {
console.log(e.target);
$("#myModal").hide();
// modal.style.display = "none"
});
$(".back").click(function(e) {
$("#myModal").hide();
// modal.style.display = "none"
});
</script>
<form id='del_form' method='post'>
<input type='hidden' id='del_seq' name='del_seq' value='' />
<input type='hidden' id='form_name' name='form_name' value='del_form' />

2
wms/wipwhole-rec-invoice-edit-fileupload.php

@ -67,3 +67,5 @@ $completion_acceptance_file = fileIUpload("completion_acceptance_file");
$shengguanok_status_file = fileIUpload("shengguanok_status_file");
// 工務助理
$outsourcer_contract_file = fileIUploads("outsourcer_contract_file");
// 品證
$official_check_file = fileIUpload("official_check_file");

262
wms/wipwhole-rec-invoice-edit-submit.php

@ -1,5 +1,5 @@
<?php
// ini_set('display_errors', 'on');
ini_set('display_errors', 'on');
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST['form_name'] == 'main_form') {
@ -52,6 +52,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$sales_spec_verify_at = $_POST['sales_spec_verify_at'] ?: $row['sales_spec_verify_at'];
$sales_spec_verify_owner = $_POST['sales_spec_verify_owner'] ?: $row['sales_spec_verify_owner'];
//客户计划图确认
$real_custom_name = $_POST['real_custom_name'] ?: $row['real_custom_name'];
$customer_planning_verify = $_POST['customer_planning_verify'];
$customer_planning_verify_at = $_POST['customer_planning_verify_at'] ?: $row['customer_planning_verify_at'];
$customer_planning_verify_owner = $_POST['customer_planning_verify_owner'] ?: $row['customer_planning_verify_owner'];
@ -152,6 +153,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$official_check_date_owner = $_POST['official_check_date_owner'] ?: $row['official_check_date_owner'];
$delivery_date = $_POST['delivery_date'] ?: $row['delivery_date'];
$delivery_date_owner = $_POST['delivery_date_owner'] ?: $row['delivery_date_owner'];
$qc_official_type = $_POST['qc_official_type'] ?: $row['qc_official_type'];
// 工務助理
$outsourcer_type = $_POST['outsourcer_type'];
@ -333,6 +335,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
delivery_date = '$delivery_date',
delivery_date_owner = '$delivery_date_owner',
marketing_remark = '',
real_custom_name = '$real_custom_name',
";
if (!empty(trim($marketing_remark))) {
$updatesql .= "
@ -475,6 +478,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
} else if ($user_department_id == 912) {
// 品證部
$updatesql .= "
qc_official_type = '$qc_official_type',
qc_date = '$qc_date',
qc_date_owner = '$qc_date_owner',
end_qc_date = '$end_qc_date',
@ -510,8 +514,54 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
}
// 工務助理
if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188','M0117'])) {
if (
in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188', 'M0117'])
|| in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545])
|| $user_id == 'M0054'
) {
$qc_official_type = $_POST['qc_official_type2'] ?: $row['qc_official_type'];
$outsourcer_type = $_POST['outsourcer_type'];
$qc_date = $_POST['qc_date2'] ?: $row['qc_date'];
$qc_date_owner = $_POST['qc_date2_owner'] ?: $row['qc_date_owner'];
$end_qc_date = $_POST['end_qc_date2'] ?: $row['end_qc_date'];
$end_qc_date_owner = $_POST['end_qc_date2_owner'] ?: $row['end_qc_date_owner'];
$official_check_date = $_POST['official_check_date2'] ?: $row['official_check_date'];
$old_official_check_date = $_POST['old_official_check_date2'] ?: $row['old_official_check_date'];
$official_check_date_owner = $_POST['official_check_date2_owner'] ?: $row['official_check_date_owner'];
$delivery_date = $_POST['delivery_date2'] ?: $row['delivery_date'];
$delivery_date_owner = $_POST['delivery_date2_owner'] ?: $row['delivery_date_owner'];
$install_start_date = $_POST['install_start_date2'] ?: $row['install_start_date'];
$install_start_date_owner = $_POST['install_start_date2_owner'] ?: $row['install_start_date_owner'];
$install_end_date = $_POST['install_end_date2'] ?: $row['install_end_date'];
$install_end_date_owner = $_POST['install_end_date2_owner'] ?: $row['install_end_date_owner'];
$tryrun_start_date = $_POST['tryrun_start_date2'] ?: $row['tryrun_start_date'];
$tryrun_start_date_owner = $_POST['tryrun_start_date2_owner'] ?: $row['tryrun_start_date_owner'];
$tryrun_end_date = $_POST['tryrun_end_date2'] ?: $row['tryrun_end_date'];
$tryrun_end_date_owner = $_POST['tryrun_end_date2_owner'] ?: $row['tryrun_end_date_owner'];
$updatesql .= "
qc_official_type = '$qc_official_type',
install_start_date = '$install_start_date',
install_start_date_owner = '$install_start_date_owner',
install_end_date = '$install_end_date',
install_end_date_owner = '$install_end_date_owner',
tryrun_start_date = '$tryrun_start_date',
tryrun_start_date_owner = '$tryrun_start_date_owner',
tryrun_end_date = '$tryrun_end_date',
tryrun_end_date_owner = '$tryrun_end_date_owner',
delivery_date = '$delivery_date',
delivery_date_owner = '$delivery_date_owner',
qc_date = '$qc_date',
qc_date_owner = '$qc_date_owner',
end_qc_date = '$end_qc_date',
end_qc_date_owner = '$end_qc_date_owner',
official_check_date = '$official_check_date',
official_check_date_owner = '$official_check_date_owner',
outsourcer_type = '$outsourcer_type',
install_outsourcer = '$install_outsourcer',
install_outsourcer_owner = '$install_outsourcer_owner',
@ -605,8 +655,9 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
foreach ($_POST as $k => $v) {
$$k = htmlspecialchars(stripslashes(trim($v)));
}
$id = empty($_POST['id']) ? null : $_POST['id'];
// 檢查簽核狀態
if (checkWwsAssianStatus($link, $user_id)) {
if (checkWwsAssianStatus($link, $user_id, $id)) {
echo "<script type ='text/JavaScript'>";
echo "alert('此表單已進入下個階段');";
echo "location.href='wipwhole-rec-invoice-edit.php?function_name=pricereview&id=$id&" . $token_link . "';";
@ -919,8 +970,43 @@ function write_note($link, $id, $user_id, $content)
mysqli_query($link, $updatesql);
}
// function getWipwholestatusDetail($link, $id)
// {
// $sql = "
// SELECT *
// FROM wipwholestatus
// WHERE 1=1
// AND id = '$id'
// AND status = '1'
// ";
// $result = mysqli_query($link, $sql);
// $row = mysqli_fetch_assoc($result);
// return $row;
// }
// 各區營銷(契約)經理判斷程式
function checkUseridIsManager($user_id)
{
// 北區 劉永德
if (in_array($user_id, ['M0137']))
return true;
// 中區 李烘銘
if (in_array($user_id, ['M0086']))
return true;
// 桃竹 張莉凱
if (in_array($user_id, ['M0026']))
return true;
// 宜花東 陳志文
if (in_array($user_id, ['M0054']))
return true;
// 南區 吳育宗
if (in_array($user_id, ['M0033']))
return true;
return false;
}
// 表單簽核狀態檢查主程式
function checkWwsAssianStatus($link, $user_id)
function checkWwsAssianStatus($link, $user_id, $id = null)
{
if (isset($_GET['id']) || isset($_GET['form_key'])) {
@ -929,33 +1015,144 @@ function checkWwsAssianStatus($link, $user_id)
$form_G_key = isset($_GET['form_key']) ? $_GET['form_key'] : getGForm_key($link, $id);
}
// 確認營業階段 進入設計人員(新梯:郭承瑋 M0023)階段
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['salesname'] = accountid2name($data['salesid'])[$data['salesid']];
$data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']];
$data['salesmanagername'] = accountid2name(manage_class($data['salesid'])[0])[manage_class($data['salesid'])[0]];
$data['salesmanagermail'] = accountid2email([manage_class($data['salesid'])[0]])[manage_class($data['salesid'])[0]];
$data['designname'] = accountid2name("M0023")["M0023"];
$data['designmail'] = accountid2email(["M0023"])["M0023"];
$data['designleadername'] = accountid2name(getSheJiokLeaderNo($link))[getSheJiokLeaderNo($link)];
$data['designleadermail'] = accountid2email([getSheJiokLeaderNo($link)])[getSheJiokLeaderNo($link)];
$data['gongwokname'] = accountid2name(getGongWuokNo($link))[getGongWuokNo($link)];
$data['gongwokmail'] = accountid2email([getGongWuokNo($link)])[getGongWuokNo($link)];
$data['shengguanokname'] = accountid2name(getShengGuanokLeaderNo($link))[getShengGuanokLeaderNo($link)];
$data['shengguanokmail'] = accountid2email([getShengGuanokLeaderNo($link)])[getShengGuanokLeaderNo($link)];
// 確認營業階段
// 非主管進入主管階段
// 主管進入設計人員(新梯:郭承瑋 M0023)階段
if (checkNowFormYDStatus($link) == 'A' && checkYingYeok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>營業提交至設計階段</em>");
do_wws_next_assign("M0023", $form_YD_key, 'B');
return true;
if (checkUseridIsManager($user_id)) {
write_note($link, $id, $user_id, "<em>營業經理提交至設計階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign("M0023", $form_YD_key, 'B');
return true;
} else {
write_note($link, $id, $user_id, "<em>營業提交至營業經理階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至營業經理階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至營業經理階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['salesmanagername'], $data['salesmanagermail']]
],
"永佳捷科技"
);
do_wws_next_assign(manage_class($data['salesid'])[0], $form_YD_key, 'I');
return true;
}
}
// 確認營業主管階段 進入設計人員(新梯:郭承瑋 M0023)階段
if (checkNowFormYDStatus($link) == 'I' && checkYingYeok($link, $id) == '0') {
if (checkUseridIsManager($user_id)) {
write_note($link, $id, $user_id, "<em>營業經理提交至設計階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign("M0023", $form_YD_key, 'B');
return true;
}
}
// 確認設計人員(新梯:郭承瑋 M0023)階段 進入設計主管階段
if (checkNowFormYDStatus($link) == 'B' && checkSheJiok($link, $id) == '0') {
if (in_array(checkNowFormYDStatus($link), ['B', 'I']) && checkSheJiok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>設計提交至設計主管階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designleadername'], $data['designleadermail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getSheJiokLeaderNo($link), $form_YD_key, 'C');
return true;
}
// 確認設計主管階段 進入生管階段
if (checkNowFormYDStatus($link) == 'C' && checkSheJiokLeader($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>設計主管提交至生管階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計主管提交至生管階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計主管提交至生管階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designleadername'], $data['designleadermail']],
[$data['shengguanname'], $data['shengguanmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getShengGuanokLeaderNo($link), $form_YD_key, 'D');
return true;
}
// 確認工務階段 進入生管階段
if (checkNowFormGStatus($link) == 'G' && checkGongWuok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>工務提交至生管階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-工務提交至生管階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-工務提交至生管階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['gongwuname'], $data['gongwumail']],
[$data['shengguanname'], $data['shengguanmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getShengGuanokLeaderNo($link), $form_G_key, 'H');
return true;
}
// 確認生管階段(營業部及設計部) 結束簽核流程
if (checkNowFormYDStatus($link) == 'D' && checkNowFormGStatus($link) == 'H' && checkShengGuanok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>進入結案階段</em>");
write_note($link, $id, $user_id, "<em>進入生產結案階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-進入生產結案階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-進入生產結案階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['shengguanname'], $data['shengguanmail']]
],
"永佳捷科技"
);
do_wws_next_assign('00000', $form_YD_key, 'Z');
do_wws_next_assign('00000', $form_G_key, 'Z');
return true;
@ -970,7 +1167,22 @@ function backMarketingSssign($link, $salesid, $user_id)
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_YD_key = isset($_GET['form_key']) ? $_GET['form_key'] : getYDForm_key($link, $id);
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['salesname'] = accountid2name($data['salesid'])[$data['salesid']];
$data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']];
write_note($link, $id, $user_id, "<em>退回營業階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回營業階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回營業階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
],
"永佳捷科技"
);
do_wws_next_assign($salesid, $form_YD_key, 'A');
}
}
@ -981,7 +1193,22 @@ function backDesignssign($link, $user_id)
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_YD_key = isset($_GET['form_key']) ? $_GET['form_key'] : getYDForm_key($link, $id);
}
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['designname'] = accountid2name("M0023")["M0023"];
$data['designmail'] = accountid2email(["M0023"])["M0023"];
write_note($link, $id, $user_id, "<em>退回設計階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回設計階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designname'], $data['designmail']],
],
"永佳捷科技"
);
do_wws_next_assign("M0023", $form_YD_key, 'B');
}
// 退回至工務階段
@ -991,6 +1218,21 @@ function backWarehouse($link, $user_id)
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_YD_key = isset($_GET['form_key']) ? $_GET['form_key'] : getYDForm_key($link, $id);
}
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['gongwokname'] = accountid2name(getGongWuokNo($link))[getGongWuokNo($link)];
$data['gongwokmail'] = accountid2email([getGongWuokNo($link)])[getGongWuokNo($link)];
write_note($link, $id, $user_id, "<em>退回工務階段</em>");
$mail_title = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回至工務階段";
$mail_content = "作番大日程(新梯)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回至工務階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['gongwokname'], $data['gongwokmail']],
],
"永佳捷科技"
);
do_wws_next_assign(getGongWuokNo($link), $form_YD_key, 'G');
}

307
wms/wipwhole-rec-invoice-edit.php

@ -2,7 +2,8 @@
// ini_set('display_errors', 'on');
/**
* (新梯)流程規則:
* 1. A:營業員確認中 生管建立大日程 (或是系統洗入)
* 1. A:營業員確認中 業務建立大日程 (或是系統洗入)
* 6. I:營業主管確認中
* 2. B:設計部門確認中 (郭承瑋)
* 3. C:設計部門主管確認中 (N0019江京鴻)
* 4. D:生管確認中 (M0024伃廷)
@ -50,6 +51,7 @@ $shengguan2 = getShengguanStatus($link, $user_department_id, $role_id, 2);
$pinzheng = getPinzhengStatus($link, $user_department_id, $role_id);
// 取得分頁頁碼
$user_department_id;
$tab = getTabNo($user_department_id);
// 工務助理
@ -239,6 +241,7 @@ include "wipwhole-rec-invoice-edit-submit.php";
<?php
$assign_status_YD = array(
'A' => '營業員確認中',
'I' => '營業部門已確認<br/>營業部門主管確認中',
'B' => '營業部門已確認<br/>設計部門確認中',
'C' => '營業部門已確認<br/>設計部門主管確認中',
'D' => '營業部門已確認<br/>設計部門主管已確認',
@ -283,9 +286,9 @@ include "wipwhole-rec-invoice-edit-submit.php";
<div id="tabs">
<input class="form-control " type="hidden" name="tab" id='tab' value="<?= $tab; ?>">
<ul>
<li><a href="#tabs-3">工務確認項</a></li>
<li><a href="#tabs-1">營業確認項</a></li>
<li><a href="#tabs-2">設計確認項</a></li>
<li><a href="#tabs-3">工務確認項</a></li>
<li><a href="#tabs-4">生管確認項</a></li>
<li><a href="#tabs-5">品證確認項</a></li>
<li><a href="#tabs-6">工務助理確認項</a></li>
@ -293,6 +296,9 @@ include "wipwhole-rec-invoice-edit-submit.php";
<div id="tabs-1">
<table class="table table-bordered" style="width:100%">
<tbody style="font-weight: bolder;margin-bottom: 20px">
<tr>
<td>營業人員確認項</td>
</tr>
<tr>
<td style="vertical-align: middle;width:auto;">營業/契約確認規格</td>
<td style="width:150px;">
@ -328,31 +334,31 @@ include "wipwhole-rec-invoice-edit-submit.php";
<br />
(意匠圖)
<?php
$result2 = getWipwholeChangePlanningCustomerDetailsStatus($link, $id);
$row2 = mysqli_fetch_assoc($result2);
if (empty($row2['change_status'])) {
$show_tmp_arr = [
'311', '312', '313', '314', '315',
'501', '511', '512', '513', '514',
'220', '320'
];
if (in_array($user_department_id, $show_tmp_arr))
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>申請上傳</a>";
} else {
if (in_array($row2['change_status'], ['A', 'B', 'D'])) {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核中</a>";
}
if ($row2['change_status'] == 'C') {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:已取消</a>";
}
if ($row2['change_status'] == 'Z') {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核通過</a>";
}
}
// $result2 = getWipwholeChangePlanningCustomerDetailsStatus($link, $id);
// $row2 = mysqli_fetch_assoc($result2);
// if (empty($row2['change_status'])) {
// $show_tmp_arr = [
// '311', '312', '313', '314', '315',
// '501', '511', '512', '513', '514',
// '220', '320'
// ];
// if (in_array($user_department_id, $show_tmp_arr))
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>申請上傳</a>";
// } else {
// if (in_array($row2['change_status'], ['A', 'B', 'D'])) {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核中</a>";
// }
// if ($row2['change_status'] == 'C') {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:已取消</a>";
// }
// if ($row2['change_status'] == 'Z') {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核通過</a>";
// }
// }
?>
</td>
<td>
@ -365,13 +371,9 @@ include "wipwhole-rec-invoice-edit-submit.php";
</td>
<td style="vertical-align: middle;">附件</td>
<td style="vertical-align: middle;">
<input style="width:70%;display:inline;" type="file" id="customer_planning_verify_file" name="customer_planning_verify_file" <?php
if (isset($row2['change_status'])) {
echo $row2['change_status'] === 'Z' ? "" : "disabled";
} else {
echo "disabled";
}
?>>
客戶姓名:<input type="text" name="real_custom_name" id="real_custom_name" style="width:70%;display:inline;" value="<?= $row["real_custom_name"]; ?>" <?= $marketing; ?> placeholder="輸入後即可上傳附件" />
<br />
<input style="width:70%;display:inline;" type="file" id="customer_planning_verify_file" name="customer_planning_verify_file" disabled>
<?php
// echo !empty($row['customer_planning_verify_file']) ? "<a id='customer_planning_verify_file_a' style='color:#00F;' href='" . $row['customer_planning_verify_file'] . "' target='_blank'>下載附件</a>" : "";
?>
@ -505,13 +507,25 @@ include "wipwhole-rec-invoice-edit-submit.php";
<input class="form-control " type="hidden" name="creater" value="<?= $user_id; ?>">
<input class="form-control " type="hidden" name="create_at" value="<?= $row["create_at"]; ?>">
<?php
if (checkNowFormYDStatus($link) == 'A' && ($user_department_id == 220 || $user_department_id == 311 || $user_department_id == 312 || $user_department_id == 313 || $user_department_id == 314 || $user_department_id == 315)) {
if (checkNowFormYDStatus($link) == 'A' && in_array($user_department_id, [220, 311, 312, 313, 314, 315])) {
?>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">提交至設計部門</button>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">
提交至<?php echo checkUseridIsManager($user_id) ? "設計部門" : "營業主管"; ?>
</button>
<?php
} else if (checkNowFormYDStatus($link) == 'I' && checkUseridIsManager($user_id)) {
?>
<button onclick="doBackMarketingAssign()" type="button" class="btn btn-danger btn-lg pull-right" style="margin-left:3px;">
退回營業
</button>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">
提交至設計部門
</button>
<?php
}
?>
<button onclick="savedata()" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;" <?= $marketing2; ?>>存檔</button>
<span class="text-danger pull-right">若無工勘資料請勿移交至設計階段!</span>
</td>
</tr>
</tbody>
@ -1255,12 +1269,12 @@ include "wipwhole-rec-invoice-edit-submit.php";
<tr>
<td style="vertical-align: middle">QC及官檢類型</td>
<td>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='outsourcer_type_I'>只需QC</label>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='outsourcer_type_T'>只需官檢</label>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='outsourcer_type_IT'>QC+官檢</label>
<input type='radio' id="qc_official_type_Q" name='qc_official_type' value='Q' <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='qc_official_type_Q'>只需QC</label>
<input type='radio' id="qc_official_type_O" name='qc_official_type' value='O' <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='qc_official_type_O'>只需官檢</label>
<input type='radio' id="qc_official_type_QO" name='qc_official_type' value='QO' <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='qc_official_type_QO'>QC+官檢</label>
</td>
</tr>
<tr>
@ -1349,6 +1363,96 @@ include "wipwhole-rec-invoice-edit-submit.php";
(工務助理項目)
</td>
</tr>
<?php
if ($user_id == 'M0193') {
?>
<tr>
<td style="vertical-align: middle">QC及官檢類型</td>
<td>
<input type='radio' id="qc_official_type_Q2" name='qc_official_type2' value='Q' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='qc_official_type_Q2'>只需QC</label>
<input type='radio' id="qc_official_type_O2" name='qc_official_type2' value='O' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='qc_official_type_O2'>只需官檢</label>
<input type='radio' id="qc_official_type_QO2" name='qc_official_type2' value='QO' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='qc_official_type_QO2'>QC+官檢</label>
</td>
</tr>
<tr>
<td style="vertical-align: middle">內部QC日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="qc_date2" name="qc_date2" value="<?= $row['qc_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#qc_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="qc_date2_owner" name="qc_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['qc_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">QC合格日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="end_qc_date2" name="end_qc_date2" value="<?= $row['end_qc_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#end_qc_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="end_qc_date2_owner" name="end_qc_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['end_qc_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">官檢日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="official_check_date2" name="official_check_date2" value="<?= $row['official_check_date']; ?>" <?= $warehouse2; ?>>
<input type="hidden" id="old_official_check_date2" name="old_official_check_date2" value="<?= $row['official_check_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#official_check_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="official_check_date2_owner" name="official_check_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['official_check_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">移交日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control disabled_select" type="date" id="delivery_date2" name="delivery_date2" value="<?= $row['delivery_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#delivery_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="delivery_date2_owner" name="delivery_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['delivery_date_owner']); ?>
</select>
</td>
</tr>
<?php
}
?>
<tr>
<td style="vertical-align: middle">發包類型</td>
<td>
@ -1522,6 +1626,84 @@ include "wipwhole-rec-invoice-edit-submit.php";
</select>
</td>
</tr>
<?php
if ($user_id == 'M0193') {
?>
<tr>
<td style="vertical-align: middle">實際安裝開工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="install_start_date2" id="install_start_date2" value="<?= $row['install_start_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#install_start_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="install_start_date2_owner" id="install_start_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['install_start_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際安裝完工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="install_end_date2" id="install_end_date2" value="<?= $row['install_end_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#install_end_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="install_end_date2_owner" id="install_end_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['install_end_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際試車開工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="tryrun_start_date2" id="tryrun_start_date2" value="<?= $row['tryrun_start_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#tryrun_start_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="tryrun_start_date2_owner" id="tryrun_start_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['tryrun_start_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際試車完工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="tryrun_end_date2" id="tryrun_end_date2" value="<?= $row['tryrun_end_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#tryrun_end_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="tryrun_end_date2_owner" id="tryrun_end_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['tryrun_end_date_owner']); ?>
</select>
</td>
</tr>
<?php
}
?>
<tr>
<td>備註</td>
<td colspan="3">
@ -1560,16 +1742,20 @@ include "wipwhole-rec-invoice-edit-submit.php";
</form>
<form method="post" id="assign_form" enctype="multipart/form-data">
<input type="hidden" name='form_name' value="assign_form" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
</form>
<form method="post" id="back_marketing_assign_form" enctype="multipart/form-data">
<input type="hidden" name='salesid' value="<?php echo $row['salesid']; ?>" />
<input type="hidden" name='form_name' value="back_marketing_assign_form" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
</form>
<form method="post" id="back_design_assign_form" enctype="multipart/form-data">
<input type="hidden" name='form_name' value="back_design_assign_form" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
</form>
<form method="post" id="warehouse_assign_form" enctype="multipart/form-data">
<input type="hidden" name='form_name' value="warehouse_assign_form" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
</form>
<form method="post" id="update_contract_date_form" enctype="multipart/form-data">
<input type="hidden" name="contract_type" value="<?= $row["contract_type"]; ?>">
@ -1628,7 +1814,34 @@ include "wipwhole-rec-invoice-edit-submit.php";
var taiwan_item_id = <?php echo empty($taiwan_item_id) ? 0 : $taiwan_item_id; ?>;
$(document).ready(function() {
$('#site_survey_contact_verify').select2();
checkCustomerPlanningVerifyFileKeyinStatus();
checkDeliveryDateKeyinStatus();
});
function checkCustomerPlanningVerifyFileKeyinStatus() {
checkCustomerPlanningVerifyFileDisabled();
$("#real_custom_name").keyup(function() {
checkCustomerPlanningVerifyFileDisabled();
});
}
function checkCustomerPlanningVerifyFileDisabled() {
if ($("#real_custom_name").val() !== "") {
$("#customer_planning_verify_file").prop("disabled", false);
} else {
$("#customer_planning_verify_file").prop("disabled", true);
}
}
function checkDeliveryDateKeyinStatus() {
$("#delivery_date").prop("disabled", true);
if ($("#end_qc_date").val() !== "") {
$("#delivery_date").prop("disabled", false);
}
if ($("#official_check_date").val() !== "") {
$("#delivery_date").prop("disabled", false);
}
}
$(function() {
$("title").text("合約號:<?php echo $row["contractno"]; ?>作番號:<?php echo $row["facilityno"]; ?>");
var tab = $('#tab').val();
@ -1653,7 +1866,15 @@ include "wipwhole-rec-invoice-edit-submit.php";
'qc_date',
'end_qc_date',
'official_check_date',
'delivery_date'
'qc_date2',
'end_qc_date2',
'official_check_date2',
'delivery_date',
'delivery_date2',
'install_start_date2',
'install_end_date2',
'tryrun_start_date2',
'tryrun_end_date2',
]
for (var i = 0; i < catchTime_input_arr.length; i++) {
inputChangeCatchTime(catchTime_input_arr[i]);

1
wms/wipwhole-rec-invoice.php

@ -39,6 +39,7 @@ if ($department_id == "321" || $department_id == "220") {
COUNT(*)
FROM wipwholestatus
WHERE facilityno = '$facilityno'
AND status = '1'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result);

26
wms/wipwhole-renovate-index-function.php

@ -1,5 +1,21 @@
<?php
/**
* 取得生管主管 options
* @param object $link:資料庫連線
* @param string $id:作番大日程唯一值
* @return object 回傳 mysqli_query
*/
function getWipwholestatusDetail($link, $id)
{
$db_query = "
SELECT * FROM
wipwholestatus WHERE id = '$id'
";
$receivabledata = mysqli_query($link, $db_query);
return mysqli_fetch_array($receivabledata, MYSQLI_ASSOC);
}
// 取得本次簽核的表單id值
function getId($link, $form_key)
{
@ -26,7 +42,7 @@ function getForm_key($link, $form_id)
ON f.form_key = s.form_key
WHERE 1=1
AND f.form_id = '$form_id'
AND f.flow_code IN ('A','B','C','D','E')
AND f.flow_code IN ('A','B','C','D','E','F')
AND f.system_id = 'wws'
AND f.flow_id = 'wws02'
";
@ -1055,7 +1071,7 @@ function getSaveEstimateInstallData($user_department_id, $role_id)
return true;
if ($user_department_id == '521' && in_array($role_id, ['11', '9', '12']))
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6']))
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '544' && in_array($role_id, ['3', '6']))
return true;
@ -1072,7 +1088,7 @@ function getSaveInstallDataButtonStatus($user_department_id, $role_id)
return true;
if ($user_department_id == '521' && $role_id == '9')
return true;
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6']))
if ($user_department_id == '542' && in_array($role_id, ['1', '5', '6', '8']))
return true;
if ($user_department_id == '543' && $role_id == '2')
return true;
@ -1105,9 +1121,9 @@ function getAllCustomerPlanningVerify($link, $id)
{
$sql = "
SELECT
custom AS custom_name,
real_custom_name AS custom_name,
customer_planning_verify_file,
create_at
date_format(customer_planning_verify_at, '%Y-%m-%d %H:%i:%s') AS create_at
FROM wipwholestatus
WHERE id = $id
AND customer_planning_verify_file != ''

13
wms/wipwhole-renovate-index.php

@ -1,3 +1,10 @@
<div id="loadingOverlay" class="hidden">
<div class="loading-icon"></div>
<div class="loading-text">Loading...</div>
</div>
<script>
document.getElementById('loadingOverlay').classList.remove('hidden');
</script>
<?php
// ini_set('display_errors', 'on');
/**
@ -22,8 +29,9 @@ include "wipwhole-renovate-index-function.php";
include "css/view/wipwhole-renovate-index.php";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($_POST['form_name'] == 'del_form') {
$del_seq = $_POST['del_seq'];
$form_name = empty($_REQUEST['form_name']) ? null : $_REQUEST['form_name'];
$del_seq = empty($_REQUEST['del_seq']) ? null : $_REQUEST['del_seq'];
if ($form_name == 'del_form') {
$sql = "UPDATE wipwholestatus SET status = '0' WHERE id = '$del_seq' ";
mysqli_query($link, $sql);
}
@ -269,6 +277,7 @@ mysqli_close($link);
$(function() {
$(".data_table_div").hide();
showTable(sheetNum);
document.getElementById('loadingOverlay').classList.add('hidden');
})
const formData = new FormData();

235
wms/wipwhole-renovate-rec-invoice-edit-submit.php

@ -84,6 +84,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$building_heigh_verify_at = $_POST['building_heigh_verify_at'] ?: $row['building_heigh_verify_at'];
$building_heigh_verify_owner = $_POST['building_heigh_verify_owner'] ?: $row['building_heigh_verify_owner'];
//客户计划图确认
$real_custom_name = $_POST['real_custom_name'] ?: $row['real_custom_name'];
$customer_planning_verify = $_POST['customer_planning_verify'];
$customer_planning_verify_at = $_POST['customer_planning_verify_at'] ?: $row['customer_planning_verify_at'];
$customer_planning_verify_owner = $_POST['customer_planning_verify_owner'] ?: $row['customer_planning_verify_owner'];
@ -232,6 +233,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$official_check_date_owner = $_POST['official_check_date_owner'] ?: $row['official_check_date_owner'];
$delivery_date = $_POST['delivery_date'] ?: $row['delivery_date'];
$delivery_date_owner = $_POST['delivery_date_owner'] ?: $row['delivery_date_owner'];
$qc_official_type = $_POST['qc_official_type'] ?: $row['qc_official_type'];
$creater = $_POST['creater'];
$create_at = $_POST['create_at'];
@ -282,7 +284,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
$updatesql = "update wipwholestatus set ";
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545])) {
if (in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545]) || $user_id == 'M0054') {
// 工務更新;
$updatesql .= "
building_heigh_verify = '$building_heigh_verify',
@ -294,6 +296,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
customer_planning_verify = '$customer_planning_verify',
customer_planning_verify_at = '$customer_planning_verify_at',
customer_planning_verify_owner = '$customer_planning_verify_owner',
real_custom_name = '$real_custom_name',
";
$updatesql .= "warehouse_remark = '', ";
if (!empty(trim($warehouse_remark))) {
@ -455,6 +458,7 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
} else if ($user_department_id == 912) {
// 品證部
$updatesql .= "
qc_official_type = '$qc_official_type',
qc_date = '$qc_date',
qc_date_owner = '$qc_date_owner',
end_qc_date = '$end_qc_date',
@ -490,8 +494,53 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") {
}
// 工務助理
if (in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188', 'M0117'])) {
if (
in_array($user_id, ['M0164', 'M0165', 'M0127', 'M0193', 'M0170', 'M0188', 'M0117'])
|| in_array($user_department_id, [521, 531, 541, 542, 543, 544, 545])
|| $user_id == 'M0054'
) {
$qc_official_type = $_POST['qc_official_type2'] ?: $row['qc_official_type'];
$qc_date = $_POST['qc_date2'] ?: $row['qc_date'];
$qc_date_owner = $_POST['qc_date2_owner'] ?: $row['qc_date_owner'];
$end_qc_date = $_POST['end_qc_date2'] ?: $row['end_qc_date'];
$end_qc_date_owner = $_POST['end_qc_date2_owner'] ?: $row['end_qc_date_owner'];
$official_check_date = $_POST['official_check_date2'] ?: $row['official_check_date'];
$old_official_check_date = $_POST['old_official_check_date2'] ?: $row['old_official_check_date'];
$official_check_date_owner = $_POST['official_check_date2_owner'] ?: $row['official_check_date_owner'];
$delivery_date = $_POST['delivery_date2'] ?: $row['delivery_date'];
$delivery_date_owner = $_POST['delivery_date2_owner'] ?: $row['delivery_date_owner'];
$install_start_date = $_POST['install_start_date2'] ?: $row['install_start_date'];
$install_start_date_owner = $_POST['install_start_date2_owner'] ?: $row['install_start_date_owner'];
$install_end_date = $_POST['install_end_date2'] ?: $row['install_end_date'];
$install_end_date_owner = $_POST['install_end_date2_owner'] ?: $row['install_end_date_owner'];
$tryrun_start_date = $_POST['tryrun_start_date2'] ?: $row['tryrun_start_date'];
$tryrun_start_date_owner = $_POST['tryrun_start_date2_owner'] ?: $row['tryrun_start_date_owner'];
$tryrun_end_date = $_POST['tryrun_end_date2'] ?: $row['tryrun_end_date'];
$tryrun_end_date_owner = $_POST['tryrun_end_date2_owner'] ?: $row['tryrun_end_date_owner'];
$updatesql .= "
qc_official_type = '$qc_official_type',
install_start_date = '$install_start_date',
install_start_date_owner = '$install_start_date_owner',
install_end_date = '$install_end_date',
install_end_date_owner = '$install_end_date_owner',
tryrun_start_date = '$tryrun_start_date',
tryrun_start_date_owner = '$tryrun_start_date_owner',
tryrun_end_date = '$tryrun_end_date',
tryrun_end_date_owner = '$tryrun_end_date_owner',
delivery_date = '$delivery_date',
delivery_date_owner = '$delivery_date_owner',
qc_date = '$qc_date',
qc_date_owner = '$qc_date_owner',
end_qc_date = '$end_qc_date',
end_qc_date_owner = '$end_qc_date_owner',
official_check_date = '$official_check_date',
official_check_date_owner = '$official_check_date_owner',
outsourcer_type = '$outsourcer_type',
install_outsourcer = '$install_outsourcer',
install_outsourcer_owner = '$install_outsourcer_owner',
@ -887,7 +936,22 @@ function backWarehouse($link, $user_id)
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_key = isset($_GET['form_key']) ? $_GET['form_key'] : getForm_key($link, $id);
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['gongwokname'] = accountid2name(getGongWuokNo($link))[getGongWuokNo($link)];
$data['gongwokmail'] = accountid2email([getGongWuokNo($link)])[getGongWuokNo($link)];
write_note($link, $id, $user_id, "<em>退回至工務階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回至工務階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回至工務階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['gongwokname'], $data['gongwokmail']],
],
"永佳捷科技"
);
do_wws_next_assign(getGongWuokNo($link), $form_key, 'A');
}
}
@ -899,7 +963,22 @@ function backMarketingSssign($link, $salesid, $user_id)
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_key = isset($_GET['form_key']) ? $_GET['form_key'] : getForm_key($link, $id);
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['salesname'] = accountid2name($data['salesid'])[$data['salesid']];
$data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']];
write_note($link, $id, $user_id, "<em>退回至營業階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回營業階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回營業階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
],
"永佳捷科技"
);
do_wws_next_assign($salesid, $form_key, 'B');
}
}
@ -910,7 +989,22 @@ function backDesignssign($link, $user_id)
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_key = isset($_GET['form_key']) ? $_GET['form_key'] : getForm_key($link, $id);
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['designname'] = accountid2name("M0173")["M0173"];
$data['designmail'] = accountid2email(["M0173"])["M0173"];
write_note($link, $id, $user_id, "<em>退回至設計階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回設計階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-退回設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designname'], $data['designmail']],
],
"永佳捷科技"
);
do_wws_next_assign("M0173", $form_key, 'C');
}
}
@ -927,43 +1021,172 @@ function write_note($link, $id, $user_id, $content)
mysqli_query($link, $updatesql);
}
// 各區營銷(契約)經理判斷程式
function checkUseridIsManager($user_id)
{
// 北區 劉永德
if (in_array($user_id, ['M0137']))
return true;
// 中區 李烘銘
if (in_array($user_id, ['M0086']))
return true;
// 桃竹 張莉凱
if (in_array($user_id, ['M0026']))
return true;
// 宜花東 陳志文
if (in_array($user_id, ['M0054']))
return true;
// 南區 吳育宗
if (in_array($user_id, ['M0033']))
return true;
return false;
}
// 表單簽核狀態檢查主程式
function checkWwsAssianStatus($link, $user_id)
{
if (isset($_GET['id']) || isset($_GET['form_key'])) {
$id = isset($_GET['id']) ? $_GET['id'] : getId($link, $_GET['form_key']);
$form_key = isset($_GET['form_key']) ? $_GET['form_key'] : getForm_key($link, $id);
}
include "./class/Cmail.php";
$cmail = new Cmail();
$data = getWipwholestatusDetail($link, $id);
$data['salesname'] = accountid2name($data['salesid'])[$data['salesid']];
$data['salesmail'] = accountid2email([$data['salesid']])[$data['salesid']];
$data['salesmanagername'] = accountid2name(manage_class($data['salesid'])[0])[manage_class($data['salesid'])[0]];
$data['salesmanagermail'] = accountid2email([manage_class($data['salesid'])[0]])[manage_class($data['salesid'])[0]];
$data['designname'] = accountid2name("M0173")["M0173"];
$data['designmail'] = accountid2email(["M0173"])["M0173"];
$data['designleadername'] = accountid2name(getSheJiokLeaderNo($link))[getSheJiokLeaderNo($link)];
$data['designleadermail'] = accountid2email([getSheJiokLeaderNo($link)])[getSheJiokLeaderNo($link)];
$data['gongwokname'] = accountid2name(getGongWuokNo($link))[getGongWuokNo($link)];
$data['gongwokmail'] = accountid2email([getGongWuokNo($link)])[getGongWuokNo($link)];
$data['shengguanokname'] = accountid2name(getShengGuanokLeaderNo($link))[getShengGuanokLeaderNo($link)];
$data['shengguanokmail'] = accountid2email([getShengGuanokLeaderNo($link)])[getShengGuanokLeaderNo($link)];
// 確認工務階段 進入營業階段
if (checkNowFormStatus($link) == 'A' && checkGongWuok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>工務提交至營業階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-工務提交至營業階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-工務提交至營業階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['gongwokname'], $data['gongwokmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getYingYeokNo($link), $form_key, 'B');
return;
}
// 確認營業階段 進入設計人員(汰改:林坤翰 M0052 改 林昭翰 M0173)階段
if (checkNowFormStatus($link) == 'B' && checkYingYeok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>營業提交至設計階段</em>");
do_wws_next_assign("M0173", $form_key, 'C');
return;
if (checkUseridIsManager($user_id)) {
write_note($link, $id, $user_id, "<em>營業提交至設計階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至設計階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign("M0173", $form_key, 'C');
return;
} else {
write_note($link, $id, $user_id, "<em>營業提交至營業經理階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至營業經理階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業提交至營業經理階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['salesmanagername'], $data['salesmanagermail']]
],
"永佳捷科技"
);
do_wws_next_assign(manage_class($data['salesid'])[0], $form_key, 'F');
}
}
// 確認營業主管階段 進入設計人員(新梯:郭承瑋 M0023)階段
if (checkNowFormStatus($link) == 'F' && checkYingYeok($link, $id) == '0') {
if (checkUseridIsManager($user_id)) {
write_note($link, $id, $user_id, "<em>營業經理提交至設計階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-營業經理提交至設計階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['salesname'], $data['salesmail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign("M0173", $form_YD_key, 'C');
return true;
}
}
// 確認設計人員(汰改:林坤翰 M0052 改 林昭翰 M0173)階段 進入設計主管階段
if (checkNowFormStatus($link) == 'C' && checkSheJiok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>設計提交至設計主管階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designleadername'], $data['designleadermail']],
[$data['designname'], $data['designmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getSheJiokLeaderNo($link), $form_key, 'D');
return;
}
// 確認設計主管(江京鴻 M0019)階段 進入生管階段
if (checkNowFormStatus($link) == 'D' && checkSheJiokLeader($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>設計主管提交至生管階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-設計提交至設計主管階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['designleadername'], $data['designleadermail']],
[$data['shengguanname'], $data['shengguanmail']]
],
"永佳捷科技"
);
do_wws_next_assign(getShengGuanokLeaderNo($link), $form_key, 'E');
return;
}
// 確認生管階段(營業部及設計部) 結束簽核流程
if (checkNowFormStatus($link) == 'E' && checkShengGuanok($link, $id) == '0') {
write_note($link, $id, $user_id, "<em>進入結案階段</em>");
write_note($link, $id, $user_id, "<em>進入生產結案階段</em>");
$mail_title = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-進入生產結案階段";
$mail_content = "作番大日程(汰改)合約號:" . $data['contractno'] . "作番號:" . $data['facilityno'] . "-進入生產結案階段";
$cmail->sendx(
$mail_title,
$mail_content,
[
[$data['shengguanname'], $data['shengguanmail']]
],
"永佳捷科技"
);
do_wws_next_assign('00000', $form_key, 'Z');
return;
}

297
wms/wipwhole-renovate-rec-invoice-edit.php

@ -5,8 +5,9 @@
* 1. A:工務組長確認中 生管建立大日程 (或是系統洗入)
* 工務:宜蘭=高培軒(M0087) 北=吳宗紘(M0040) 中=林瑋隆(M0113) 南=韋宗榮(M0039)改鄭存邑(M0102)
* 2. B:營業員確認中
* 3. F:營業員主管確認中
* 3. C:設計部門確認中 (郭承瑋)
* 4. D:設計部門主管確認中 (N0019江京鴻)
* 4. D:設計部門主管確認中 (M0019江京鴻)
* 5. E:生管確認中 (M0024伃廷)
* 6. Z:本單結案 (00000)
*/
@ -232,6 +233,7 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
$assign_status = array(
'A' => '工務確認中',
'B' => '工務部門已確認<br/>營業部門確認中',
'F' => '營業部門已確認<br/>營業主管確認中',
'C' => '營業部門已確認<br/>設計部門確認中',
'D' => '設計部門已確認<br/>設計部門主管確認中',
'E' => '營業部門主管已確認<br/>生管部門確認中',
@ -377,31 +379,31 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
<br />
(意匠圖)
<?php
$result2 = getWipwholeChangePlanningCustomerDetailsStatus($link, $id);
$row2 = mysqli_fetch_assoc($result2);
if (empty($row2['change_status'])) {
$show_tmp_arr = [
'311', '312', '313', '314', '315',
'501', '511', '512', '513', '514',
'220', '320'
];
if (in_array($user_department_id, $show_tmp_arr))
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>申請上傳</a>";
} else {
if (in_array($row2['change_status'], ['A', 'B', 'D'])) {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核中</a>";
}
if ($row2['change_status'] == 'C') {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:已取消</a>";
}
if ($row2['change_status'] == 'Z') {
echo "<br/>";
echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核通過</a>";
}
}
// $result2 = getWipwholeChangePlanningCustomerDetailsStatus($link, $id);
// $row2 = mysqli_fetch_assoc($result2);
// if (empty($row2['change_status'])) {
// $show_tmp_arr = [
// '311', '312', '313', '314', '315',
// '501', '511', '512', '513', '514',
// '220', '320'
// ];
// if (in_array($user_department_id, $show_tmp_arr))
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>申請上傳</a>";
// } else {
// if (in_array($row2['change_status'], ['A', 'B', 'D'])) {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核中</a>";
// }
// if ($row2['change_status'] == 'C') {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:已取消</a>";
// }
// if ($row2['change_status'] == 'Z') {
// echo "<br/>";
// echo "<a target='_blank' style='color:#00F;' href='wipwhole-change-planning-customer-name.php?function_name=wipwholerenstatus&$token_link&id=$id'>客戶姓名:" . $row2['custom_name'] . "<br/>狀態:審核通過</a>";
// }
// }
?>
</td>
<td>
@ -414,13 +416,9 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
</td>
<td style="vertical-align: middle;">附件</td>
<td style="vertical-align: middle;">
<input style="width:70%;display:inline;" type="file" id="customer_planning_verify_file" name="customer_planning_verify_file" <?php
if (isset($row2['change_status'])) {
echo $row2['change_status'] === 'Z' ? "" : "disabled";
} else {
echo "disabled";
}
?>>
客戶姓名:<input type="text" name="real_custom_name" id="real_custom_name" style="width:70%;display:inline;" value="<?= $row["real_custom_name"]; ?>" placeholder="輸入後即可上傳附件" <?= $warehouse; ?> />
<br />
<input style="width:70%;display:inline;" type="file" id="customer_planning_verify_file" name="customer_planning_verify_file" disabled>
<?php
// echo !empty($row['customer_planning_verify_file']) ? "<a id='customer_planning_verify_file_a' style='color:#00F;' href='" . $row['customer_planning_verify_file'] . "' target='_blank'>下載附件</a>" : "";
?>
@ -713,12 +711,22 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
<?php
if (checkNowFormStatus($link) == 'B' && in_array($user_department_id, [220, 311, 312, 313, 314, 315, 511, 512, 513, 514])) {
?>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">提交至設計部門</button>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">
提交至<?php echo checkUseridIsManager($user_id) ? "設計部門" : "營業主管"; ?>
</button>
<button onclick="doBackWarhouseAssign()" type="button" class="btn btn-danger btn-lg pull-right" style="margin-left:3px;">退回工務部門</button>
<?php
} else if (checkNowFormStatus($link) == 'F' && checkUseridIsManager($user_id)) {
?>
<button onclick="doBackMarketingAssign()" type="button" class="btn btn-danger btn-lg pull-right" style="margin-left:3px;" <?= $marketing2; ?>>退回營業</button>
<button onclick="doMarketingAssign()" type="button" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;">
提交至設計部門
</button>
<?php
}
?>
<button onclick="savedata()" class="btn btn-primary btn-lg pull-right" style="margin-left:3px;" <?= $marketing2; ?>>存檔</button>
<span class="text-danger pull-right">若無工勘資料請勿移交至設計階段!</span>
</td>
</tr>
</tbody>
@ -1249,12 +1257,12 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
<tr>
<td style="vertical-align: middle">QC及官檢類型</td>
<td>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='outsourcer_type_I'>只需QC</label>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='outsourcer_type_T'>只需官檢</label>
<input type='radio' disabled <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='outsourcer_type_IT'>QC+官檢</label>
<input type='radio' id="qc_official_type_Q" name='qc_official_type' value="Q" <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='qc_official_type_Q'>只需QC</label>
<input type='radio' id="qc_official_type_O" name='qc_official_type' value="O" <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='qc_official_type_O'>只需官檢</label>
<input type='radio' id="qc_official_type_QO" name='qc_official_type' value="QO" <?= $pinzheng; ?> <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='qc_official_type_QO'>QC+官檢</label>
</td>
</tr>
<tr>
@ -1345,6 +1353,96 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
(工務助理項目)
</td>
</tr>
<?php
if ($user_id == 'M0193') {
?>
<tr>
<td style="vertical-align: middle">QC及官檢類型</td>
<td>
<input type='radio' id="qc_official_type_Q2" name='qc_official_type2' value='Q' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'Q' ? "checked" : ""; ?> />
<label for='qc_official_type_Q2'>只需QC</label>
<input type='radio' id="qc_official_type_O2" name='qc_official_type2' value='O' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'O' ? "checked" : ""; ?> />
<label for='qc_official_type_O2'>只需官檢</label>
<input type='radio' id="qc_official_type_QO2" name='qc_official_type2' value='QO' <?= $warehouse2; ?> <?php echo $row['qc_official_type'] == 'QO' ? "checked" : ""; ?> />
<label for='qc_official_type_QO2'>QC+官檢</label>
</td>
</tr>
<tr>
<td style="vertical-align: middle">內部QC日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="qc_date2" name="qc_date2" value="<?= $row['qc_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#qc_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="qc_date2_owner" name="qc_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['qc_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">QC合格日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="end_qc_date2" name="end_qc_date2" value="<?= $row['end_qc_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#end_qc_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="end_qc_date2_owner" name="end_qc_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['end_qc_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">官檢日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" id="official_check_date2" name="official_check_date2" value="<?= $row['official_check_date']; ?>" <?= $warehouse2; ?>>
<input type="hidden" id="old_official_check_date2" name="old_official_check_date2" value="<?= $row['official_check_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#official_check_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="official_check_date2_owner" name="official_check_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['official_check_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">移交日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control disabled_select" type="date" id="delivery_date2" name="delivery_date2" value="<?= $row['delivery_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#delivery_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" id="delivery_date2_owner" name="delivery_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['delivery_date_owner']); ?>
</select>
</td>
</tr>
<?php
}
?>
<tr>
<td style="vertical-align: middle">發包類型</td>
<td>
@ -1518,6 +1616,84 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
</select>
</td>
</tr>
<?php
if ($user_id == 'M0193') {
?>
<tr>
<td style="vertical-align: middle">實際安裝開工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="install_start_date2" id="install_start_date2" value="<?= $row['install_start_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#install_start_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="install_start_date2_owner" id="install_start_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['install_start_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際安裝完工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="install_end_date2" id="install_end_date2" value="<?= $row['install_end_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#install_end_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="install_end_date2_owner" id="install_end_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['install_end_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際試車開工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="tryrun_start_date2" id="tryrun_start_date2" value="<?= $row['tryrun_start_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#tryrun_start_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="tryrun_start_date2_owner" id="tryrun_start_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['tryrun_start_date_owner']); ?>
</select>
</td>
</tr>
<tr>
<td style="vertical-align: middle">實際試車完工日</td>
<td style="vertical-align: middle">
<div class="input-group">
<input class="form-control" type="date" name="tryrun_end_date2" id="tryrun_end_date2" value="<?= $row['tryrun_end_date']; ?>" <?= $warehouse2; ?>>
<span class="input-group-btn">
<button class="btn btn-default" type='button' onclick='$("#tryrun_end_date2").val("");' <?= $warehouse2; ?>>清除</button>
</span>
</div>
</td>
<td style="vertical-align: middle">確認人</td>
<td>
<select class="disabled_select" name="tryrun_end_date2_owner" id="tryrun_end_date2_owner" disabled>
<option value="">請選擇</option>
<?php echo getSelectOptionHtml($all_users_options, $row['tryrun_end_date_owner']); ?>
</select>
</td>
</tr>
<?php
}
?>
<tr>
<td>備註</td>
<td colspan="3">
@ -1556,15 +1732,19 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
</form>
<form method="post" id="assign_form" enctype="multipart/form-data">
<input type="hidden" name='form_name' value="assign_form" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
</form>
<form method="post" id="back_marketing_assign_form" enctype="multipart/form-data">
<input type="hidden" name='salesid' value="<?php echo $row['salesid']; ?>" />
<input type="hidden" name='id' value="<?php echo $id; ?>" />
<input type="hidden" name='form_name' value="back_marketing_assign_form" />
</form>
<form method="post" id="back_design_assign_form" enctype="multipart/form-data">
<input type="hidden" name='id' value="<?php echo $id; ?>" />
<input type="hidden" name='form_name' value="back_design_assign_form" />
</form>
<form method="post" id="warehouse_assign_form" enctype="multipart/form-data">
<input type="hidden" name='id' value="<?php echo $id; ?>" />
<input type="hidden" name='form_name' value="warehouse_assign_form" />
</form>
<form method="post" id="update_contract_date_form" enctype="multipart/form-data">
@ -1628,7 +1808,34 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
$('#renovate_type').select2();
$("#renovate_type").val(jsonData).trigger("change");
$('#site_survey_contact_verify').select2();
checkCustomerPlanningVerifyFileKeyinStatus();
checkDeliveryDateKeyinStatus();
});
function checkCustomerPlanningVerifyFileKeyinStatus() {
checkCustomerPlanningVerifyFileDisabled();
$("#real_custom_name").keyup(function() {
checkCustomerPlanningVerifyFileDisabled();
});
}
function checkCustomerPlanningVerifyFileDisabled() {
if ($("#real_custom_name").val() !== "") {
$("#customer_planning_verify_file").prop("disabled", false);
} else {
$("#customer_planning_verify_file").prop("disabled", true);
}
}
function checkDeliveryDateKeyinStatus() {
$("#delivery_date").prop("disabled", true);
if ($("#end_qc_date").val() !== "") {
$("#delivery_date").prop("disabled", false);
}
if ($("#official_check_date").val() !== "") {
$("#delivery_date").prop("disabled", false);
}
}
$(function() {
var tab = $('#tab').val();
$("#tabs").tabs({
@ -1652,7 +1859,15 @@ include "wipwhole-renovate-rec-invoice-edit-submit.php";
'qc_date',
'end_qc_date',
'official_check_date',
'delivery_date'
'delivery_date',
'qc_date2',
'end_qc_date2',
'official_check_date2',
'delivery_date2',
'install_start_date2',
'install_end_date2',
'tryrun_start_date2',
'tryrun_end_date2',
]
for (var i = 0; i < catchTime_input_arr.length; i++) {
inputChangeCatchTime(catchTime_input_arr[i]);

1
wms/wipwhole-renovate-rec-invoice.php

@ -41,6 +41,7 @@ if ($department_id == "321" || $department_id == "220") {
COUNT(*)
FROM wipwholestatus
WHERE facilityno = '$facilityno'
AND status = '1'
";
$result = mysqli_query($link, $sql);
$row = mysqli_fetch_array($result);

Loading…
Cancel
Save