Browse Source

20240222-cheng

gary
Cheng 1 year ago
parent
commit
636889709c
  1. 6
      wms/contract/api/getContractData.php
  2. 2
      wms/contract/api/postContractData.php
  3. 119
      wms/contract/api/postNewContractData.php
  4. 9
      wms/contract/js/alpine.js
  5. 309
      wms/contract_b-index.php
  6. 8
      wms/crm/crmm03-edit.php
  7. 8
      wms/crm/crmm04-edit.php

6
wms/contract/api/getContractData.php

@ -46,9 +46,11 @@ if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['cont
if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['contracttype']) && $_GET['contracttype'] == 'm') { if (isset($_GET['contractno']) && $_GET['contractno'] != '' && isset($_GET['contracttype']) && $_GET['contracttype'] == 'm') {
try { try {
$contractno = $_GET['contractno']; $contractno = $_GET['contractno'];
$sql_str = "SELECT * FROM hope_elevator_customer WHERE vol_no = :vol_no ORDER BY created_at DESC"; $sql_str = "SELECT a.*,b.lm_tel,b.uscc,b.manager FROM pricereview_main AS a
LEFT JOIN hope_elevator_customer AS b ON a.contractno = b.vol_no
WHERE a.contractno = :contractno AND a.status = 'YS' ";
$stmt = $conn->prepare($sql_str); $stmt = $conn->prepare($sql_str);
$stmt->bindParam(':vol_no', $contractno); $stmt->bindParam(':contractno', $contractno);
$stmt->execute(); $stmt->execute();
$contract = $stmt->fetch(PDO::FETCH_ASSOC); $contract = $stmt->fetch(PDO::FETCH_ASSOC);
$contractResponse = json_encode($contract); $contractResponse = json_encode($contract);

2
wms/contract/api/postContractData.php

@ -412,7 +412,7 @@ function T8insert($data, $facilityno, $depId)
$stmt = $conn->prepare($sql); $stmt = $conn->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno); $stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute(); $stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC); $result = $stmt->fetch(PDO::FETCH_ASSOC);
$date = date('Y-m-dH-s-i'); $date = date('Y-m-dH-s-i');
$date_1 = date('Y-m-d'); $date_1 = date('Y-m-d');
$createTime = str_replace("-", '', $date); $createTime = str_replace("-", '', $date);

119
wms/contract/api/postNewContractData.php

@ -71,7 +71,9 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
$max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M) $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M)
$allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型 $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型
$path = '../images/contracts/'; $path = '../images/contracts/';
if (!file_exists($path)) { mkdir($path); } if (!file_exists($path)) {
mkdir($path);
}
$msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息
$datetime = (string)date('YmdHis'); $datetime = (string)date('YmdHis');
$files_id = 'm' . $datetime; // 保養=>b + 日期時間 $files_id = 'm' . $datetime; // 保養=>b + 日期時間
@ -130,10 +132,123 @@ if(isset($_POST["contractno"]) && $_POST["contractno"] != "" && isset($_POST['co
if ($result) { if ($result) {
header("HTTP/1.1 201 Created"); header("HTTP/1.1 201 Created");
} }
} catch (PDOException $e) { } catch (PDOException $e) {
$conn->rollback(); $conn->rollback();
header("HTTP/1.1 500 Internal Server Error"); header("HTTP/1.1 500 Internal Server Error");
die('Error!:' . $e->getMessage()); die('Error!:' . $e->getMessage());
} }
} }
function T8Insert($data)
{
require_once("../connt8.php");
$contractno = $data['contractno'];
$partyA = $data['customer'];
$phone = $data['lm_tel'];
$vat = $data['vat'];
$partyAaddress = $data['address'];
$user_id = $data['user_id'];
$salesman = $data['salesman'];
$createAt = date("Y-m-dH-i-s");
$createTime = str_replace('-', '', $createAt);
$connT8->beginTransaction();
$sql = "SELECT * FROM comCustomer WHERE BizPartnerId = :BizPartnerId";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
// 新增客戶 table
if (empty($result)) {
// 若 客戶資料為空,新增一筆到 comCustomer
// 新增客戶資料
$sql = "INSERT INTO comBusinessPartner
(BizPartnerId,BizPartnerName,BusinessAttr,CountryId,WorkTelNo,BizToDate,TaxNo,EnterpriseName,ContactAddress,EMail,CreatorId,CreateTime,BizPartnerTypeId)
VALUES(:BizPartnerId,:BizPartnerName,1,'TW',:WorkTelNo,99999999,:TaxNo,:EnterpriseName,:ContactAddress,:EMail,:CreatorId,:CreateTime,'10')";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->bindParam(':BizPartnerName', $partyA); //客戶名稱
$stmt->bindParam(':WorkTelNo', $phone);
$stmt->bindParam(':TaxNo', $vat);
// $stmt->bindParam(':EnterpriseName', $customer); //企業名稱
$stmt->bindParam(':ContactAddress', $partyAaddress);
$stmt->bindParam(':EMail', $email);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->execute();
$sql = "INSERT INTO comCustomer
(OrgId,BizPartnerTypeId,CurrId,BizPartnerId,PersonId,CreatorId,IsInUsed,InvoiceAddress,CreateTime,InvoiceId)
VALUES('1000','10','TWD',:BizPartnerId,:PersonId,:CreatorId,1,:InvoiceAddress,:CreateTime,'35')";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->bindParam(':PersonId', $salesman);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->bindParam(':InvoiceAddress', $address);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->execute();
} else {
// // 若客戶資料不為空,更新該客戶資訊。
$sql = "UPDATE comCustomer SET
PersonId=:PersonId,
InvoiceAddress=:InvoiceAddress,
LastOperatorId=:LastOperatorId,
LastOperateTime=:LastOperateTime
WHERE BizPartnerId=:BizPartnerId
";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':PersonId', $salesman);
$stmt->bindParam(':InvoiceAddress', $address);
$stmt->bindParam(':LastOperatorId', $user_id);
$stmt->bindParam(':LastOperateTime', $createTime);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
$sql = "UPDATE comBusinessPartner SET
BizPartnerName=:BizPartnerName,
WorkTelNo=:WorkTelNo,
TaxNo=:TaxNo,
EnterpriseName=:EnterpriseName,
ContactAddress=:ContactAddress,
EMail=:EMail,
LastOperatorId=:LastOperatorId,
LastOperateTime=:LastOperateTime
WHERE BizPartnerId = :BizPartnerId
";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':BizPartnerName', $partyA);
$stmt->bindParam(':WorkTelNo', $phone);
$stmt->bindParam(':TaxNo', $vat);
$stmt->bindParam(':EnterpriseName', $customer);
$stmt->bindParam(':ContactAddress', $partyAaddress);
$stmt->bindParam(':EMail', $email);
$stmt->bindParam(':LastOperatorId', $user_id);
$stmt->bindParam(':LastOperateTime', $createTime);
$stmt->bindParam(':BizPartnerId', $contractno);
$stmt->execute();
}
$sql = "SELECT * FROM comProject WHERE ProjectId = :ProjectId";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':ProjectId', $contractno);
$stmt->execute();
$resultProject = $stmt->fetchAll(PDO::FETCH_ASSOC);
if (empty($resultProject)) {
//新增於 comProject。合約 table
$sql = "INSERT INTO comProject(ProjectId,ProjectName,TypeId,CreateTime,CreatorId,IsInUsed)
VALUES(:ProjectId,:ProjectName,'C0',:CreateTime,:CreatorId,1)";
$stmt = $connT8->prepare($sql);
$stmt->bindParam(':ProjectId', $contractno);
$stmt->bindParam(':ProjectName', $customer);
$stmt->bindParam(':CreateTime', $createTime);
$stmt->bindParam(':CreatorId', $user_id);
$stmt->execute();
}
}

9
wms/contract/js/alpine.js

@ -810,7 +810,7 @@ const contractNewInput = () => {
return { return {
init() { }, init() { },
data: { data: {
contractno: '', contractno: 'M23090149',
customer: '', customer: '',
manager: '', manager: '',
vat: '', vat: '',
@ -847,6 +847,9 @@ const contractNewInput = () => {
}, },
getContractDate() { getContractDate() {
axios.get('./api/getContractData.php?contracttype=m&contractno=' + this.data.contractno).then(res => { axios.get('./api/getContractData.php?contracttype=m&contractno=' + this.data.contractno).then(res => {
console.log(res);
if (!res.data) { if (!res.data) {
this.step = 2 this.step = 2
this.isLoading = false this.isLoading = false
@ -854,14 +857,14 @@ const contractNewInput = () => {
} }
if (!this.customize) { if (!this.customize) {
console.log(res.data); console.log(res.data);
this.data.customer = res.data.customer this.data.customer = res.data.company
this.data.manager = res.data.manager this.data.manager = res.data.manager
this.data.vat = res.data.uscc this.data.vat = res.data.uscc
this.data.case_name = res.data.case_name this.data.case_name = res.data.case_name
this.data.linkman = res.data.linkman this.data.linkman = res.data.linkman
this.data.lm_tel = res.data.lm_tel this.data.lm_tel = res.data.lm_tel
this.data.address = res.data.address this.data.address = res.data.address
this.data.salesman = res.data.salesman this.data.salesman = res.data.person
this.data.qc = res.data.qc this.data.qc = res.data.qc
} }
this.step = 2 this.step = 2

309
wms/contract_b-index.php

@ -0,0 +1,309 @@
<?php
include "header.php";
include "css/view/wipwhole-index.php";
// 設置一個空陣列來放資料
$data = array();
$contractno = empty($_POST['contractno']) ? null : $_POST['contractno'];
$department_id = accountidToDepartId($user_id);
if (in_array(accountidToDepartId($user_id), ['220'])) {
$sql_cmd = " WHERE 1=1 ";
} else {
$sql_cmd = sql_myself($user_id, "cgp.PersonId");
}
// 合約主檔
$sql = "
SELECT
siam.BillNo, -- 單據號
siad_tmp.ProjectId,-- 合約號
siam.BillDate, -- 合約日期
BizPartnerName, -- 客戶名稱
cp.PersonId, -- 業務人員
cgp.PersonName, -- 業務人員名稱
cd.DeptName, -- 業務人員部門
siam.UnTransAmount, -- 合約金額
siad_tmp2.Max_CU_EstPayDate -- 最後收款日期
FROM salIncomeApplyMaster AS siam
LEFT JOIN (
SELECT
cc.BizPartnerId,
cbp.BizPartnerName
FROM comCustomer AS cc
LEFT JOIN comBusinessPartner AS cbp
ON cc.BizPartnerId = cbp.BizPartnerId
)cb_tmp
ON cb_tmp.BizPartnerId = siam.BizPartnerId
LEFT JOIN comPerson AS cp -- 員工主檔
ON siam.PersonId = cp.PersonId
LEFT JOIN comGroupPerson AS cgp -- 員工明細檔
ON cp.PersonId = cgp.PersonId
LEFT JOIN comDepartment AS cd -- 部門主檔
ON cp.DeptId = cd.DeptId
LEFT JOIN
(
SELECT DISTINCT
siad.BillNo,
siad.ProjectId
FROM salIncomeApplyDetail AS siad
WHERE siad.ProjectId != ''
AND siad.ProjectId IS NOT NULL
)AS siad_tmp -- 合約明細
ON siam.BillNo = siad_tmp.BillNo
LEFT JOIN
(
SELECT
siad.BillNo,
MAX(siad.CU_EstPayDate) as Max_CU_EstPayDate
FROM salIncomeApplyDetail AS siad
GROUP BY siad.BillNo
)AS siad_tmp2 -- 合約明細2
ON siam.BillNo = siad_tmp2.BillNo
$sql_cmd
AND siam.CurrentState = '2'
";
if (!empty($contractno)) {
$sql .= " AND siad_tmp.ProjectId = '$contractno' ";
}
// echo "<pre>";
// echo $sql;
// echo "</pre>";
// exit;
$data = $conn->query($sql);
if ($data) :
?>
<style>
table {
table-layout: fixed;
width: 100%;
}
td {
word-wrap: break-word;
}
img {
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;
}
</style>
<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'>
<div class='row'>
<div class='col-12'>
<table id="table_detail" class="table table-bordered" style="width:100%; margin:0 auto;">
<thead>
<tr>
<th>收入代碼</th>
<th>收入名稱</th>
<th>數量</th>
<th>單價</th>
<th>金額(未稅)</th>
<th>稅金</th>
<th>含稅金額</th>
<th>專案代碼</th>
<th>作番號</th>
<th>預計請款日</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div style="overflow-x:auto;">
<form id='myForm' method='post' action='contract_b-index.php?<?= $token_link ?>'>
<table class='table query-table table-striped table-bordered display compact' style='width:98%;text-align:center;margin:0 auto'>
<thead>
<tr>
<td colspan="5">
<h3 style='text-align:center'>保養合約管理</h3>
</td>
</tr>
</thead>
<tbody>
<tr>
<th style='text-align:center;vertical-align: middle;'>合約號</th>
<td style='text-align:center;vertical-align: middle;'>
<input type="text" class='form-control' id='contractno' name='contractno' value="">
</td>
<td style='text-align:left;vertical-align: middle;'>
<button type="submit" style='text-align:center; margin:0 auto' class="btn btn-primary btn-sm">查詢</button>
</td>
</tr>
</tbody>
</table>
</form>
</div>
<div style="overflow-x:auto;">
<a href="contract/contract-input.php?function_name=contract-input&<?php echo $token_link; ?>" class="btn btn-info btn-sm">
<span class="glyphicon glyphicon-plus"></span>
</a>
<table id="table_index" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th style='text-align:center;vertical-align: middle;width:120px;'>營業人員/契約人員</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>部門</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>合約號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>單據號</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>客戶名稱</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>單據日期</th>
<th style='text-align:center;vertical-align: middle;width:80px;'>最後收款日</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>追蹤狀態</th>
<th style='text-align:center;vertical-align: middle;width:120px;'>金額</th>
<th style='text-align:center;vertical-align: middle;width:60px;'>明細</th>
</tr>
</thead>
<tbody>
<?php foreach ($data as $row) { ?>
<tr>
<td>
<?php
echo $row['PersonId'];
echo "<br/>";
echo $row['PersonName'];
?>
</td>
<td>
<?php echo $row['DeptName']; ?>
</td>
<td>
<?php echo $row['ProjectId']; ?>
</td>
<td>
<?php echo $row['BillNo']; ?>
</td>
<td>
<?php echo $row['BizPartnerName']; ?>
</td>
<td>
<?php echo date('Y/m/d', strtotime($row['BillDate'])); ?>
</td>
<td>
<?php echo empty($row['Max_CU_EstPayDate']) ? '' : date('Y/m/d', strtotime($row['Max_CU_EstPayDate'])); ?>
</td>
<td>
<?php
$date1 = new DateTime(date('Y-m-d', strtotime($row['Max_CU_EstPayDate'])));
$date2 = new DateTime(date('Y-m-d'));
$interval = $date1->diff($date2);
$months = $interval->m;
$months += $interval->y * 12;
if ($date1 <= $date2) {
echo "<span class=''>合約已過期</span>";
} else if ($months <= 2) {
echo "<span class='text-danger'>合約快到期</span>";
} else {
echo "<span class='text-success'>合約未到期</span>";
}
?>
</td>
<td>
<?php echo number_format(intval($row['UnTransAmount']), 0, '', ','); ?>
</td>
<td>
<button class="btn btn-primary myBtn" type="button" onclick="showDetail('<?php echo $row['BillNo']; ?>')">明細</button>
</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<script>
var modal = document.getElementById("myModal");
$(".myBtn").click(function() {
$("#myModal").show();
});
$("#myCloseBtn").click(function(e) {
$("#myModal").hide();
});
$(".back").click(function(e) {
$("#myModal").hide();
});
function showDetail(billno) {
$.ajax({
type: "POST",
dataType: "json",
url: "contract_b-index-model.php",
data: {
form_name: 'showDetail',
billno: billno
},
complete: function(data) {
var data = data.responseJSON
var str = "";
for (var i = 0; i < data.length; i++) {
str += "<tr>";
str += "<td>" + data[i]['IncomeId'] + "</td>";
str += "<td>" + data[i]['FeeTypeName'] + "</td>";
str += "<td>" + data[i]['SQuantity'] + "</td>";
str += "<td>" + data[i]['SPrice'] + "</td>";
str += "<td>" + data[i]['OAmount'] + "</td>";
str += "<td>" + data[i]['OTax'] + "</td>";
str += "<td>" + data[i]['OAmountWithTax'] + "</td>";
str += "<td>" + data[i]['ProjectId'] + "</td>";
str += "<td>" + data[i]['CU_MaterialId'] + "</td>";
str += "<td>" + data[i]['CU_EstPayDate'] + "</td>";
str += "</tr>";
}
if ($('#table_detail').hasClass('dataTable')) {
dttable = $('#table_detail').dataTable();
dttable.fnClearTable();
dttable.fnDestroy();
}
$("#table_detail").find("tbody").html(str);
$('#table_detail').dataTable();
}
})
}
</script>
<?php
else :
echo "<h2>There is no record!</h2>";
endif;
#代表結束連線
mysqli_close($link);
include "footer.php";
?>

8
wms/crm/crmm03-edit.php

@ -348,7 +348,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
<textarea class='form-control textarea' id="progress_status" name="progress_status" value='' rows='6'></textarea> <textarea class='form-control textarea' id="progress_status" name="progress_status" value='' rows='6'></textarea>
</div> </div>
</div> </div>
<div id="elevator_list_area" class="row "> <!-- <div id="elevator_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>電梯規格信息</b> <b>電梯規格信息</b>
</div> </div>
@ -398,8 +398,8 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
</tbody> </tbody>
</table> </table>
</div> </div> -->
<div id="option_list_area" class="row "> <!-- <div id="option_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>Option報價</b> <b>Option報價</b>
</div> </div>
@ -452,7 +452,7 @@ function get_sequnece_no($seq_name = '', $p_yyyymm = '')
</tbody> </tbody>
</table> </table>
</div> </div> -->
<button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button> <button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button>
</div> </div>

8
wms/crm/crmm04-edit.php

@ -381,7 +381,7 @@ function base_url($url)
</div> </div>
</div> </div>
<div id="elevator_list_area" class="row "> <!-- <div id="elevator_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>電梯規格信息</b> <b>電梯規格信息</b>
</div> </div>
@ -431,8 +431,8 @@ function base_url($url)
</tbody> </tbody>
</table> </table>
</div> </div> -->
<div id="option_list_area" class="row "> <!-- <div id="option_list_area" class="row ">
<div class="col-12 form_row_header "> <div class="col-12 form_row_header ">
<b>Option報價</b> <b>Option報價</b>
</div> </div>
@ -486,7 +486,7 @@ function base_url($url)
</tbody> </tbody>
</table> </table>
</div> </div> -->
<button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button> <button style='margin:20px auto;width:50px' type="submit" class="btn btn-primary btn-sm">保存</button>
</div> </div>

Loading…
Cancel
Save