diff --git a/wms/bonus/api/postSchedule.php b/wms/bonus/api/postSchedule.php deleted file mode 100644 index 7147ac5f..00000000 --- a/wms/bonus/api/postSchedule.php +++ /dev/null @@ -1,4 +0,0 @@ -"; + // print_r($elevator_pay_kind); + // echo ""; + // exit; $bonus_array = []; if ($ver == "1.0") { #合約總類($contract_type):戰略客戶(strategy_customer)、一般客戶(general_customer) - switch ($contract_type) { - case "strategy_customer": - #契約員獎金($sales_bonus) - $sales_bonus = $elevator_knockdown_price * 0.007; - #地區經理經理獎金($region_manager_bonus) - $region_manager_bonus = 400; - break; - - case "general_customer": - #契約員獎金($sales_bonus) - $sales_bonus = $elevator_knockdown_price * 0.015; - #區域經理獎金($region_manager_bonus) - $region_manager_bonus = 600; - break; - }; - - #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% - array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 - "bonus_receiver" => $sales_id, #發放人員 - "bonus_amount" => round($sales_bonus * 0.2), #金額 - "payment_schedul_due" => "deposit", #訂金已收款20% - "payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 - ]); - - #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% - array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 - "bonus_receiver" => $sales_id, #發放人員 - "bonus_amount" => round($sales_bonus * 0.5), #金額 - "payment_schedul_due" => "shipping", #訂金已收款20% - "payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 - ]); - - #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% - array_push($bonus_array, [ - "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 - "bonus_receiver" => $sales_id, #發放人員 - "bonus_amount" => round($sales_bonus * 0.3), #金額 - "payment_schedul_due" => "acceptance", #訂金已收款20% - "payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 - ]); - - #區域經理獎金水庫-----訂金已收款100%,發放總獎金50% - array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 - "bonus_receiver" => $region_manger_id, #發放人員 - "bonus_amount" => round($region_manager_bonus * 0.5), #金額 - "payment_schedul_due" => "deposit", #訂金已收款100% - "payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 - ]); - - #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% - array_push($bonus_array, [ - "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 - "bonus_receiver" => $region_manger_id, #發放人員 - "bonus_amount" => round($region_manager_bonus * 0.5), #金額 - "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% - "payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 - ]); - - $result_array = [ - "ver" => $ver, #獎金版本 - "result_status" => "success", #計算結果 - "bonus_array" => $bonus_array #獎金水庫 - ]; + foreach ($elevator_pay_kind as $elevator_pay_kind) { + switch ($contract_type) { + case "strategy_customer": + #契約員獎金($sales_bonus) + $sales_bonus = $elevator_pay_kind['pay_amount'] * 0.007; + #地區經理經理獎金($region_manager_bonus) + $region_manager_bonus = 400; + break; + + case "general_customer": + #契約員獎金($sales_bonus) + $sales_bonus = $elevator_pay_kind['pay_amount'] * 0.015; + #區域經理獎金($region_manager_bonus) + $region_manager_bonus = 600; + break; + }; + $pay_scale = $elevator_pay_kind['pay_scale']; + // echo "
"; + // print_r($pay_scale); + // echo ""; + switch ($elevator_pay_kind['pay_kind']) { + + case '1': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "deposit", #訂金已收款20% + "payment_schedul_regulation" => "訂金已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + + array_push($bonus_array, [ + "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 + "bonus_receiver" => $region_manger_id, #發放人員 + "bonus_amount" => round($region_manager_bonus * 0.5), #金額 + "payment_schedul_due" => "deposit", #訂金已收款100% + "payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 + ]); + break; + case '2': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-二次段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "twice", #訂金已收款20% + "payment_schedul_regulation" => "訂金已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + break; + case '3': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-貨到工地款段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "shipping", #訂金已收款20% + "payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + + array_push($bonus_array, [ + "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 + "bonus_receiver" => $region_manger_id, #發放人員 + "bonus_amount" => round($region_manager_bonus * 0.5), #金額 + "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% + "payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 + ]); + break; + + case '4': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-材料其他段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "other", #訂金已收款20% + "payment_schedul_regulation" => "訂金已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + break; + + case '5': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-安裝完畢段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "installed", #訂金已收款20% + "payment_schedul_regulation" => "訂金已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + break; + case '6': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "acceptance", #訂金已收款20% + "payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + break; + + case '7': + array_push($bonus_array, [ + "bonus_type" => "營銷人員銷售獎金-安裝其他段", #獎金名稱 + "bonus_receiver" => $sales_id, #發放人員 + "bonus_amount" => $sales_bonus, #金額 + "payment_schedul_due" => "installOther", #訂金已收款20% + "payment_schedul_regulation" => "訂金已收款$pay_scale%,發放總獎金$pay_scale%" #發放規定 + ]); + break; + } + + + #營銷人員銷售獎金水庫-----訂金已收款20%,發放總獎金20% + // array_push($bonus_array, [ + // "bonus_type" => "營銷人員銷售獎金-訂金段", #獎金名稱 + // "bonus_receiver" => $sales_id, #發放人員 + // "bonus_amount" => round($sales_bonus * 0.2), #金額 + // "payment_schedul_due" => "deposit", #訂金已收款20% + // "payment_schedul_regulation" => "訂金已收款20%,發放總獎金20%" #發放規定 + // ]); + + #營銷人員銷售獎金水庫-----出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50% + // array_push($bonus_array, [ + // "bonus_type" => "營銷人員銷售獎金-出貨款段", #獎金名稱 + // "bonus_receiver" => $sales_id, #發放人員 + // "bonus_amount" => round($sales_bonus * 0.5), #金額 + // "payment_schedul_due" => "shipping", #訂金已收款20% + // "payment_schedul_regulation" => "出貨前期所有款項已收齊,且出貨款已收款50%,發放總獎金50%" #發放規定 + // ]); + + #營銷人員銷售獎金水庫-----驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30% + // array_push($bonus_array, [ + // "bonus_type" => "營銷人員銷售獎金-驗收款段", #獎金名稱 + // "bonus_receiver" => $sales_id, #發放人員 + // "bonus_amount" => round($sales_bonus * 0.3), #金額 + // "payment_schedul_due" => "acceptance", #訂金已收款20% + // "payment_schedul_regulation" => "驗收前期所有款項已收齊,且驗收款已收款30%,發放總獎金30%" #發放規定 + // ]); + + #區域經理獎金水庫-----訂金已收款100%,發放總獎金50% + // array_push($bonus_array, [ + // "bonus_type" => "區域經理提成獎金-訂金段", #獎金名稱 + // "bonus_receiver" => $region_manger_id, #發放人員 + // "bonus_amount" => round($region_manager_bonus * 0.5), #金額 + // "payment_schedul_due" => "deposit", #訂金已收款100% + // "payment_schedul_regulation" => "訂金已收款100%,發放總獎金50%" #發放規定 + // ]); + + // #區域經理獎金水庫-----貨到工地款(含)之前所有款項已收款100%,發放總獎金50% + // array_push($bonus_array, [ + // "bonus_type" => "區域經理提成獎金-貨到工地款段", #獎金名稱 + // "bonus_receiver" => $region_manger_id, #發放人員 + // "bonus_amount" => round($region_manager_bonus * 0.5), #金額 + // "payment_schedul_due" => "deliveried", #貨到工地款(含)之前所有款項已收款100% + // "payment_schedul_regulation" => "貨到工地款(含)之前所有款項已收款100%,發放總獎金50%" #發放規定 + // ]); + + $result_array = [ + "ver" => $ver, #獎金版本 + "result_status" => "success", #計算結果 + "bonus_array" => $bonus_array #獎金水庫 + ]; + } } else { array_push($bonus_array, [ "bonus_type" => "error", #獎金名稱 diff --git a/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0_examination.php b/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0_examination.php index 97c47660..17a5899a 100644 --- a/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0_examination.php +++ b/wms/bonus/elevator_new/elevator_new_deal_bonus_v1_0_examination.php @@ -1,9 +1,15 @@ '1', + "pay_scale" => 20, + "pay_amount" => 318000 + ], + [ + "pay_kind" => '3', + "pay_scale" => 50, + "pay_amount" => 795000 + ], + [ + "pay_kind" => '5', + "pay_scale" => 20, + "pay_amount" => 318000 + ], + [ + "pay_kind" => '6', + "pay_scale" => 10, + "pay_amount" => 159000 + ] +]; $examination_array = [ #錯誤版本 - ["2.0","strategy_customer",1000000,"M0001", "M0003"], + ["1.0", "strategy_customer", ($pay_kind_arr), "M0001", "M0003"], #戰略客戶(strategy_customer) - ["1.0","strategy_customer",1000000,"M0001", "M0003"], #戰略客戶 + // ["1.0", "strategy_customer", 1000000, "M0001", "M0003"], #戰略客戶 - #一般客戶(general_customer) - ["1.0","general_customer",1000000,"M0001", "M0003"] #一般客戶 + // #一般客戶(general_customer) + ["1.0", "general_customer", $pay_kind_arr, "M0001", "M0003"] #一般客戶 ]; -for($i = 0; $i
'; - // print_r($facilityno); - // echo ''; - // exit(); - // } - $fail_arr = []; - // if ($contractno === '') return $fail_arr[] = '合約號為必填'; - if ($total_price == '') $fail_arr[] = '合約總價為必填'; - if ($salesman == '') $fail_arr[] = '營業員為必填'; - if ($contract_begin_date == '') $fail_arr[] = '合約開始時間為必填'; - if ($contract_end_date == '') $fail_arr[] = '合約結束時間為必填'; - if ($address == '') $fail_arr[] = '地址為必填'; - if ($area == '') $fail_arr[] = '區域為必填'; - if ($customer == '') $fail_arr[] = '客戶為必填'; - if ($num == '') $fail_arr[] = '電梯數量為必填'; - if ($payType == '') $fail_arr[] = '分期方式為必填'; - if ($contract_type == '') $fail_arr[] = '合約類別為必填'; - - //------------------- - // if ($partyA == '') $fail_arr[] = '業務聯繫人為必填'; - // if ($partyAaddress == '') $fail_arr[] = '業務聯繫人地址為必填'; - // if ($partyAphone == '') $fail_arr[] = '業務聯繫人電話為必填'; - // if ($partyAemail == '') $fail_arr[] = '業務聯繫人Email為必填'; - // if ($vat == '') $fail_arr[] = '統一編號為必填'; - // if ($mtype == '') $fail_arr[] = '維修型態為必填'; - // if ($phone == '') $fail_arr[] = '客戶電話為必填'; - // if ($email == '') $fail_arr[] = 'Email為必填'; - // if ($mworker == '') $fail_arr[] = '保養員為必填'; - // if ($mcycle == '') $fail_arr[] = '保養頻率為必填'; - if (count($fail_arr) > 0) { - header("HTTP/1.1 422 Unprocessable Entity"); - echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); + $maintain_times = [ + '1' => 'em', //月保 + '2' => 'bw' // 雙周保 + ]; + $facility_arr = []; + foreach ($elevators as $elevator) { + $facility_arr[] = $dailyNecessities[$elevator['spec']]; + } + // echo json_encode($facility_arr); + // 電梯做番號 + $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); + // exit(); + // if ($user_id == 'M0225') { + // echo '
'; + // print_r($facilityno); + // echo ''; + // exit(); + // } + $fail_arr = []; + // if ($contractno === '') return $fail_arr[] = '合約號為必填'; + if ($total_price == '') $fail_arr[] = '合約總價為必填'; + if ($salesman == '') $fail_arr[] = '營業員為必填'; + if ($contract_begin_date == '') $fail_arr[] = '合約開始時間為必填'; + if ($contract_end_date == '') $fail_arr[] = '合約結束時間為必填'; + if ($address == '') $fail_arr[] = '地址為必填'; + if ($area == '') $fail_arr[] = '區域為必填'; + if ($customer == '') $fail_arr[] = '客戶為必填'; + if ($num == '') $fail_arr[] = '電梯數量為必填'; + if ($payType == '') $fail_arr[] = '分期方式為必填'; + if ($contract_type == '') $fail_arr[] = '合約類別為必填'; + if ($maintance_manager == '') $fail_arr[] = '保養經理為必填'; + + //------------------- + // if ($partyA == '') $fail_arr[] = '業務聯繫人為必填'; + // if ($partyAaddress == '') $fail_arr[] = '業務聯繫人地址為必填'; + // if ($partyAphone == '') $fail_arr[] = '業務聯繫人電話為必填'; + // if ($partyAemail == '') $fail_arr[] = '業務聯繫人Email為必填'; + // if ($vat == '') $fail_arr[] = '統一編號為必填'; + // if ($mtype == '') $fail_arr[] = '維修型態為必填'; + // if ($phone == '') $fail_arr[] = '客戶電話為必填'; + // if ($email == '') $fail_arr[] = 'Email為必填'; + // if ($mworker == '') $fail_arr[] = '保養員為必填'; + // if ($mcycle == '') $fail_arr[] = '保養頻率為必填'; + if (count($fail_arr) > 0) { + header("HTTP/1.1 422 Unprocessable Entity"); + echo json_encode($fail_arr, JSON_UNESCAPED_UNICODE); + exit(); + } exit(); - } - // T8insert($_POST, $facilityno, $depId, $connT8); - - /// 獎金計算 - $aaa = bonusCreate($_POST, $facilityno, $conn); - if (!empty($aaa) && $aaa['status'] == 2) { - header("HTTP/1.1 422 Unprocessable Entity"); - echo $aaa['data']; + T8insert($_POST, $facilityno, $depId, $connT8); exit(); - } - // exit(); - //create account table - $accounttype = "A"; - $accountid = $vat; - $pwd = "123"; - $name = $partyA; - $tel = $phone ?? ''; - $repairerid = $mworker; - $creater = $user_id; - $create_at = date('Y-m-d H:i:s'); - - // exit(); + /// 獎金計算 + $aaa = bonusCreate($_POST, $facilityno, $conn); + if (!empty($aaa) && $aaa['status'] == 2) { + header("HTTP/1.1 422 Unprocessable Entity"); + echo $aaa['data']; + exit(); + } + // exit(); + //create account table + $accounttype = "A"; + $accountid = $vat; + $pwd = "123"; + $name = $partyA; + $tel = $phone ?? ''; + $repairerid = $mworker; + $creater = $user_id; + $create_at = date('Y-m-d H:i:s'); + // exit(); - $conn->beginTransaction(); - $sql_str = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, email, repairerid, creater, create_at) VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address, :email, :repairerid, :creater, :create_at)"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':accounttype', $accounttype); - $stmt->bindParam(':accountid', $accountid); - $stmt->bindParam(':pwd', $pwd); - $stmt->bindParam(':name', $name); - $stmt->bindParam(':tel', $tel); - $stmt->bindParam(':address', $address); - $stmt->bindParam(':email', $email); - $stmt->bindParam(':repairerid', $repairerid); - $stmt->bindParam(':creater', $creater); - $stmt->bindParam(':create_at', $create_at); - $stmt->execute(); + $conn->beginTransaction(); - //create contract table - - $contracttype = $mtype; - $company = $partyA; - $taxid = $vat; - $tel = $phone; - $promiser = $partyA; - $contractperson = $partyA; - - $contractaddress = $address; - $contracttel = $phone; - $contractemail = $email; - $contract_employee = $salesman; - $start_date = $contract_begin_date; - $end_date = $contract_end_date; - - $sql_str = "INSERT INTO contract (contracttype, contractno, company, taxid, address, tel, promiser, contractperson, contractaddress, contracttel, contractemail, contract_employee, start_date, end_date, creater, create_at) VALUES (:contracttype, :contractno, :company, :taxid, :address, :tel, :promiser, :contractperson, :contractaddress, :contracttel, :contractemail, :contract_employee, :start_date, :end_date, :creater, :create_at)"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':contracttype', $contracttype); - $stmt->bindParam(':contractno', $contractno); - $stmt->bindParam(':company', $company); - $stmt->bindParam(':taxid', $taxid); - $stmt->bindParam(':address', $address); - $stmt->bindParam(':tel', $tel); - $stmt->bindParam(':promiser', $promiser); - $stmt->bindParam(':contractperson', $contractperson); - $stmt->bindParam(':contractaddress', $contractaddress); - $stmt->bindParam(':contracttel', $contracttel); - $stmt->bindParam(':contractemail', $contractemail); - $stmt->bindParam(':contract_employee', $contract_employee); - $stmt->bindParam(':start_date', $start_date); - $stmt->bindParam(':end_date', $end_date); - $stmt->bindParam(':creater', $creater); - $stmt->bindParam(':create_at', $create_at); - $stmt->execute(); - - //create facility table - // $createFacilityNo = new CreateFacilityNo(); - // $dailyNecessities = [ - // 'MAE100' => 'X', - // 'MAM200' => 'W', - // 'MAH100' => 'H', - // 'MAQ100' => 'Z', - // 'MAF100' => 'F', - // 'MAZ100' => 'B', - // ]; - - // $maintain_times = [ - // '1' => 'em', //月保 - // '2' => 'bw' // 雙周保 - // ]; - // $facility_arr = []; - // foreach ($elevators as $elevator) { - // $facility_arr[] = $dailyNecessities[$elevator['spec']]; - // } - // echo json_encode($facility_arr); - // // 電梯做番號 - // $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); - // // if ($user_id == 'M0225') { - // // echo '
'; - // // print_r($facilityno); - // // echo ''; - // // exit(); - // // } - // echo json_encode($facilityno); - // echo '-------'; - $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid AND accounttype IN ('B','E','M','W')"; - $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':accountid', $mworker); - $stmt->execute(); - $worker = $stmt->fetch(PDO::FETCH_ASSOC); - $customerid = $vat; - $repairtype = $mtype; - $repairerid = $mworker; - $define = "B"; - $repairername = !empty($worker) ? $worker['name'] : ''; - - foreach ($elevators as $idx => $elevator) { - // 民國年轉換西元年 - $ROCuseful_date = $elevator['useful_date']; - $click = explode("-", $ROCuseful_date); - $click[0] = intval($click[0]) + 1911; - $ADuseful_date = implode("-", $click); - - $sql_str = "INSERT INTO facility (contractno, define, facilityno, latitude, longitude, customerid, weight, numberofpassenger, numberofstop, numberoffloor, opentype, speed, repairtype, maintainance, facility_kind, address, repairerid, repairername, creater, create_at, area, takecertificatedate, licensedate) - VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)"; + $sql_str = "INSERT INTO account (accounttype, accountid, pwd, name, tel, address, email, repairerid, creater, create_at) VALUES (:accounttype, :accountid, :pwd, :name, :tel, :address, :email, :repairerid, :creater, :create_at)"; $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':contractno', $contractno); - $stmt->bindParam(':define', $define); - $stmt->bindParam(':facilityno', $facilityno[$idx]); - $stmt->bindParam(':latitude', $elevator['latitude']); - $stmt->bindParam(':longitude', $elevator['longitude']); - $stmt->bindParam(':customerid', $customerid); - $stmt->bindParam(':weight', $elevator['weight']); - $stmt->bindParam(':numberofpassenger', $elevator['persons']); - $stmt->bindParam(':numberofstop', $elevator['stop']); - $stmt->bindParam(':numberoffloor', $elevator['floors']); - $stmt->bindParam(':opentype', $elevator['opendoor']); - $stmt->bindParam(':speed', $elevator['speed']); - $stmt->bindParam(':repairtype', $repairtype); - $stmt->bindParam(':maintainance', $elevator['maintainance']); - $stmt->bindParam(':facility_kind', $elevator['spec']); + $stmt->bindParam(':accounttype', $accounttype); + $stmt->bindParam(':accountid', $accountid); + $stmt->bindParam(':pwd', $pwd); + $stmt->bindParam(':name', $name); + $stmt->bindParam(':tel', $tel); $stmt->bindParam(':address', $address); + $stmt->bindParam(':email', $email); $stmt->bindParam(':repairerid', $repairerid); - $stmt->bindParam(':repairername', $repairername); $stmt->bindParam(':creater', $creater); $stmt->bindParam(':create_at', $create_at); - $stmt->bindParam(':area', $area); - $stmt->bindParam(':takecertificatedate', $elevator['takecertificatedate']); - $stmt->bindParam(':licensedate', $ADuseful_date); - $result = $stmt->execute(); - } - $sql = "SELECT * FROM account WHERE accountid = '$user_id' "; - $stmt = $conn->prepare($sql); - $stmt->execute(); - $user_detail = $stmt->fetch(PDO::FETCH_ASSOC); + $stmt->execute(); + //create contract table - //create schedule table - // $comboNo = new CreateComboNo($mcycle, $contract_begin_date, $contract_end_date); - // $comboArr = json_decode($comboNo->getComboNo(), true); - foreach ($facilityno as $key => $no) { - $comboNo = new CreateComboNo($maintain_times[$elevator['maintain_times']], $contract_begin_date, $contract_end_date); - $comboArr = json_decode($comboNo->getComboNo(), true); + $contracttype = $mtype; + $company = $partyA; + $taxid = $vat; + $tel = $phone; + $promiser = $partyA; + $contractperson = $partyA; - foreach ($comboArr as $combo) { - $sql_str = 'INSERT INTO schedule - (contractno, facilityno, combono, repairerid, repairername,customer_login_name, duedate, creater, create_at) VALUES - (:contractno, :facilityno, :combono, :repairerid, :repairername, :customer_login_name,:duedate, :creater, :create_at)'; + $contractaddress = $address; + $contracttel = $phone; + $contractemail = $email; + $contract_employee = $salesman; + $start_date = $contract_begin_date; + $end_date = $contract_end_date; + + $sql_str = "INSERT INTO contract (contracttype, contractno, company, taxid, address, tel, promiser, contractperson, contractaddress, contracttel, contractemail, contract_employee, start_date, end_date, creater, create_at) VALUES (:contracttype, :contractno, :company, :taxid, :address, :tel, :promiser, :contractperson, :contractaddress, :contracttel, :contractemail, :contract_employee, :start_date, :end_date, :creater, :create_at)"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':contracttype', $contracttype); + $stmt->bindParam(':contractno', $contractno); + $stmt->bindParam(':company', $company); + $stmt->bindParam(':taxid', $taxid); + $stmt->bindParam(':address', $address); + $stmt->bindParam(':tel', $tel); + $stmt->bindParam(':promiser', $promiser); + $stmt->bindParam(':contractperson', $contractperson); + $stmt->bindParam(':contractaddress', $contractaddress); + $stmt->bindParam(':contracttel', $contracttel); + $stmt->bindParam(':contractemail', $contractemail); + $stmt->bindParam(':contract_employee', $contract_employee); + $stmt->bindParam(':start_date', $start_date); + $stmt->bindParam(':end_date', $end_date); + $stmt->bindParam(':creater', $creater); + $stmt->bindParam(':create_at', $create_at); + $stmt->execute(); + + //create facility table + // $createFacilityNo = new CreateFacilityNo(); + // $dailyNecessities = [ + // 'MAE100' => 'X', + // 'MAM200' => 'W', + // 'MAH100' => 'H', + // 'MAQ100' => 'Z', + // 'MAF100' => 'F', + // 'MAZ100' => 'B', + // ]; + + // $maintain_times = [ + // '1' => 'em', //月保 + // '2' => 'bw' // 雙周保 + // ]; + // $facility_arr = []; + // foreach ($elevators as $elevator) { + // $facility_arr[] = $dailyNecessities[$elevator['spec']]; + // } + // echo json_encode($facility_arr); + // // 電梯做番號 + // $facilityno = $createFacilityNo->makeBFacilityNo("T", $facility_arr, (int)$num); + // // if ($user_id == 'M0225') { + // // echo '
'; + // // print_r($facilityno); + // // echo ''; + // // exit(); + // // } + // echo json_encode($facilityno); + // echo '-------'; + $sql_str = "SELECT accountid, name FROM account WHERE accountid = :accountid AND accounttype IN ('B','E','M','W')"; + $stmt = $conn->prepare($sql_str); + $stmt->bindParam(':accountid', $mworker); + $stmt->execute(); + $worker = $stmt->fetch(PDO::FETCH_ASSOC); + $customerid = $vat; + $repairtype = $mtype; + $repairerid = $mworker; + $define = "B"; + $repairername = !empty($worker) ? $worker['name'] : ''; + + foreach ($elevators as $idx => $elevator) { + // 民國年轉換西元年 + $ROCuseful_date = $elevator['useful_date']; + $click = explode("-", $ROCuseful_date); + $click[0] = intval($click[0]) + 1911; + $ADuseful_date = implode("-", $click); + + $sql_str = "INSERT INTO facility (contractno, define, facilityno, latitude, longitude, customerid, weight, numberofpassenger, numberofstop, numberoffloor, opentype, speed, repairtype, maintainance, facility_kind, address, repairerid, repairername, creater, create_at, area, takecertificatedate, licensedate) + VALUES (:contractno, :define, :facilityno, :latitude, :longitude, :customerid, :weight, :numberofpassenger, :numberofstop, :numberoffloor, :opentype, :speed, :repairtype, :maintainance, :facility_kind, :address, :repairerid, :repairername, :creater, :create_at, :area, :takecertificatedate, :licensedate)"; $stmt = $conn->prepare($sql_str); $stmt->bindParam(':contractno', $contractno); - $stmt->bindParam(':facilityno', $no); - $stmt->bindParam(':combono', $combo[0]); + $stmt->bindParam(':define', $define); + $stmt->bindParam(':facilityno', $facilityno[$idx]); + $stmt->bindParam(':latitude', $elevator['latitude']); + $stmt->bindParam(':longitude', $elevator['longitude']); + $stmt->bindParam(':customerid', $customerid); + $stmt->bindParam(':weight', $elevator['weight']); + $stmt->bindParam(':numberofpassenger', $elevator['persons']); + $stmt->bindParam(':numberofstop', $elevator['stop']); + $stmt->bindParam(':numberoffloor', $elevator['floors']); + $stmt->bindParam(':opentype', $elevator['opendoor']); + $stmt->bindParam(':speed', $elevator['speed']); + $stmt->bindParam(':repairtype', $repairtype); + $stmt->bindParam(':maintainance', $elevator['maintainance']); + $stmt->bindParam(':facility_kind', $elevator['spec']); + $stmt->bindParam(':address', $address); $stmt->bindParam(':repairerid', $repairerid); $stmt->bindParam(':repairername', $repairername); - $stmt->bindParam(':duedate', $combo[1]); - $stmt->bindParam(':customer_login_name', $customer); $stmt->bindParam(':creater', $creater); $stmt->bindParam(':create_at', $create_at); + $stmt->bindParam(':area', $area); + $stmt->bindParam(':takecertificatedate', $elevator['takecertificatedate']); + $stmt->bindParam(':licensedate', $ADuseful_date); $result = $stmt->execute(); } - - - // $regular_contract_manger_id = $elevators[$idx]['regular_contract_manger_id']; - // $sql = "SELECT * FROM account WHERE accountid = '' "; - $regular_contract_manger_id = !empty($elevators[$key]['regular_contract_manger_id']) ? $elevators[$key]['regular_contract_manger_id'] : ''; - // if ($regular_contract_manger_id != '') { - $sql = "SELECT * FROM account WHERE accountid = '$regular_contract_manger_id' "; + $sql = "SELECT * FROM account WHERE accountid = '$user_id' "; $stmt = $conn->prepare($sql); $stmt->execute(); - $regular_contract_manger_mail = $stmt->fetch(PDO::FETCH_ASSOC); + $user_detail = $stmt->fetch(PDO::FETCH_ASSOC); - $mail_title = "保養計畫 : 合約號:" . $contractno . "作番號:" . $no . "-營業經理提交至設計階段"; - $mail_content = "保養計畫 : 合約號:" . $contractno . "作番號:" . $no . "-營業經理提交至設計階段 點我"; - // exit(); - $mail->sendx( - $mail_title, - $mail_content, - [ - // [$user_id, $user_detail['email']], - // [$regular_contract_manger_id, $regular_contract_manger_mail['mail']], - ['M0225', 'lkmd555@masada.com.tw'] - ], - "永佳捷科技" - ); - // echo 'send'; - // } - } - // create contract_b_signed_back table - $contract_type = $mtype; - $company = $customer; - $customer_no = $vat; - $salesperson = $salesman; - $customer_phone = $phone; - $customer_email = $email; - $repairman = $mworker; - // $cycle = $mcycle; - $contact_person = $partyA; - $contact_address = $partyAaddress; - $contact_phone = $partyAphone; - $contract_email = $partyAemail; - $elevators_number = $num; - $bonus = 1000; - $max_bonus = 2000; - - if (!empty($files)) { - $englisharr = range('a', 'z'); - $file = $_FILES['files']; - $file_name = $file['name']; - $file_type = $file['type']; - $tmp_name = $file['tmp_name']; - $file_size = $file['size']; - $error = $file['error']; - $newfiles = []; - foreach ($files as $file) { - $i = 0; //新陣列的索引編號 - foreach ($file as $key => $val) { - $newfiles[$i]['name'] = $files['name'][$key]; - $newfiles[$i]['type'] = $files['type'][$key]; - $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; - $newfiles[$i]['error'] = $files['error'][$key]; - $newfiles[$i]['size'] = $files['size'][$key]; - $i++; - } //foreach 第2層 end - } - $max_size = 4096 * 4096; //設定允許上傳檔案容量的最大值(1M) - $allow_ext = array('jpeg', 'jpg', 'png', 'JPG', 'JPEG', 'PNG', 'GIF'); //設定允許上傳檔案的類型 - $path = '../images/contracts/'; - if (!file_exists($path)) { - mkdir($path); - } - $msg_result = ''; //負責接收所有檔案檢測後的回傳訊息 - $datetime = (string)date('YmdHis'); - $files_id = 'b' . $datetime; // 保養=>b + 日期時間 - foreach ($newfiles as $key => $file) { - $randNum = rand(1000, 9999); - $randEnglish = $englisharr[rand(0, 25)]; - $file_name = 'b' . (string)date('YmdHis') . $randNum . $randEnglish . $randNum . $file['name']; - $msg = upload_chk($file, $path, $max_size, $allow_ext, $file_name); - if ($msg == 1) { - $msg = '檔案傳送成功!'; - $sql_str = "INSERT INTO contract_back_files (files_id, file_name, file_mime, file_size, created_at, created_by) VALUES (:files_id, :file_name, :file_mime, :file_size, :created_at, :created_by)"; + //create schedule table + // $comboNo = new CreateComboNo($mcycle, $contract_begin_date, $contract_end_date); + // $comboArr = json_decode($comboNo->getComboNo(), true); + foreach ($facilityno as $key => $no) { + $comboNo = new CreateComboNo($maintain_times[$elevator['maintain_times']], $contract_begin_date, $contract_end_date); + $comboArr = json_decode($comboNo->getComboNo(), true); + + foreach ($comboArr as $combo) { + $sql_str = 'INSERT INTO schedule + (contractno, facilityno, combono, repairerid, repairername,customer_login_name, duedate, creater, create_at) VALUES + (:contractno, :facilityno, :combono, :repairerid, :repairername, :customer_login_name,:duedate, :creater, :create_at)'; $stmt = $conn->prepare($sql_str); - $stmt->bindParam(':files_id', $files_id); - $stmt->bindParam(':file_name', $file_name); - $stmt->bindParam(':file_mime', $file['type']); - $stmt->bindParam(':file_size', $file['size']); - $stmt->bindParam(':created_at', $created_at); - $stmt->bindParam(':created_by', $user_id); - $stmt->execute(); + $stmt->bindParam(':contractno', $contractno); + $stmt->bindParam(':facilityno', $no); + $stmt->bindParam(':combono', $combo[0]); + $stmt->bindParam(':repairerid', $repairerid); + $stmt->bindParam(':repairername', $repairername); + $stmt->bindParam(':duedate', $combo[1]); + $stmt->bindParam(':customer_login_name', $customer); + $stmt->bindParam(':creater', $creater); + $stmt->bindParam(':create_at', $create_at); + $result = $stmt->execute(); + } + + + // $regular_contract_manger_id = $elevators[$idx]['regular_contract_manger_id']; + // $sql = "SELECT * FROM account WHERE accountid = '' "; + $sql = "SELECT * FROM account WHERE accountid = '$maintance_manager' "; + $stmt = $conn->prepare($sql); + $stmt->execute(); + $maintance_manager_detail = $stmt->fetch(PDO::FETCH_ASSOC); + + // 寄郵件給 輸入合約助理,請他安排保養計畫 + // 北北基 : M0090 + // 保養組長 桃竹 : M0223 + // 中部 : M0161 + // 南部 : M0077 + // 保養組長之後調整 + $mail_title = "保養計畫 : 合約號:" . $contractno . "作番號:" . $no . "-請安排此作番的保養人員"; + $mail_content = "保養計畫 : 合約號:" . $contractno . "作番號:" . $no . "-請安排此作番的保養人員 點我"; + // exit(); + $mail->sendx( + $mail_title, + $mail_content, + [ + // [$user_id, $user_detail['email']], + // [$maintance_manager, $maintance_manager_detail['email']], + // ['M0012', 'Yingying@masada.com.tw'] + // [$regular_contract_manger_id, $regular_contract_manger_mail['mail']], + ['M0225', 'lkmd555@masada.com.tw'] + // ['M0012', 'Yingying@masada.com.tw'] + ], + "永佳捷科技" + ); + + // echo 'send'; + // } + } + // create contract_b_signed_back table + $contract_type = $mtype; + $company = $customer; + $customer_no = $vat; + $salesperson = $salesman; + $customer_phone = $phone; + $customer_email = $email; + $repairman = $mworker; + // $cycle = $mcycle; + $contact_person = $partyA; + $contact_address = $partyAaddress; + $contact_phone = $partyAphone; + $contract_email = $partyAemail; + $elevators_number = $num; + $bonus = 1000; + $max_bonus = 2000; + + if (!empty($files)) { + $englisharr = range('a', 'z'); + $file = $_FILES['files']; + $file_name = $file['name']; + $file_type = $file['type']; + $tmp_name = $file['tmp_name']; + $file_size = $file['size']; + $error = $file['error']; + $newfiles = []; + foreach ($files as $file) { + $i = 0; //新陣列的索引編號 + foreach ($file as $key => $val) { + $newfiles[$i]['name'] = $files['name'][$key]; + $newfiles[$i]['type'] = $files['type'][$key]; + $newfiles[$i]['tmp_name'] = $files['tmp_name'][$key]; + $newfiles[$i]['error'] = $files['error'][$key]; + $newfiles[$i]['size'] = $files['size'][$key]; + $i++; + } //foreach 第2層 end } - $msg_result .= '第' . ($key + 1) . '個上傳檔案的結果:' . $msg . '
'; - // print_r(json_encode($API_body)); - // echo ''; + echo '
'; + print_r(json_encode($API_body)); + echo ''; + // exit(); // $api_url = 'http://10.10.145.2:880/twWebAPI/V1/SALINCOMEAPPLY/PostERPData'; //正式區 $api_url = "http://60.244.87.101:880/twWebAPI/V1/SALINCOMEAPPLY/PostERPData"; //測試區 $result = T8salIncomeApply($API_body, $api_url); - - + // echo '
'; + // print_r($result); + // echo ''; + // exit(); if ($result['Status'] == 'Error' || $result['Status'] == 'Fails') { http_response_code(404); die('Error!:' . $result['ErrorMsg']); diff --git a/wms/contract/api/test copy.json b/wms/contract/api/test copy.json index d7250a17..7ef01c22 100644 --- a/wms/contract/api/test copy.json +++ b/wms/contract/api/test copy.json @@ -1,40 +1,43 @@ -{ - "apply_key": "MB24010007", - "register_code": "036B017432", - "elevator_brand": "1", - "elevator_kind": "A", - "spec": "MAE100", - "weight": 550, - "speed": 60, - "stop": 12, - "floors": 12, - "persons": 8, - "elevator_num": 0, - "useful_years": 83, - "last_check_date": 1121109, - "speed_governors_check_expense": 0, - "maintain_times": 1, - "is_m1_bundle": "N", - "maintainance": "A", - "maintain_months": 12, - "maintain_period": 1, - "stand_price": 3140, - "contract_price": 1666.67, - "sold_price": 1667, - "commission_expense": null, - "management_expense": null, - "annual_survey_expense": 0, - "service_expense": 8, - "cmstatus": "Y", - "updated_at": null, - "creater": null, - "created_at": "2024-01-10 11:16:26", - "discount": 53, - "opendoor": "2S", - "latitude": "112", - "longitude": "11", - "takecertificatedate": "112", - "useful_date": "113-01-01", - "bonus_verson": "2.0", - "manager": "M0137" -} \ No newline at end of file +[ + { + "apply_key": "11111111", + "register_code": "B32510261185", + "elevator_brand": "1", + "elevator_kind": "E", + "spec": "MAH100", + "weight": "450", + "speed": "45.00", + "stop": "3", + "floors": "3", + "persons": "6", + "elevator_num": "0", + "useful_years": "106", + "last_check_date": "1", + "speed_governors_check_expense": "0", + "maintain_times": "1", + "is_m1_bundle": "N", + "maintainance": "B", + "maintain_months": "12", + "maintain_period": "1", + "stand_price": "1250.00", + "contract_price": "1250.00", + "sold_price": 1250, + "commission_expense": null, + "management_expense": null, + "annual_survey_expense": "0.00", + "service_expense": 0, + "cmstatus": "Y", + "updated_at": null, + "creater": null, + "created_at": "2024-02-26 15:24:23", + "discount": 100, + "latitude": "112", + "longitude": "11", + "takecertificatedate": "112", + "opendoor": "2PCO", + "useful_date": "113-01-01", + "bonus_verson": "2.0", + "manager": "M0029", + "regular_contract_manger_id": "M0054" + } +] \ No newline at end of file diff --git a/wms/contract/api/testT8API.php b/wms/contract/api/testT8API.php deleted file mode 100644 index 40b60024..00000000 --- a/wms/contract/api/testT8API.php +++ /dev/null @@ -1,17 +0,0 @@ -prepare($sql); -$stmt->execute(); -$result = $stmt->fetch(PDO::FETCH_ASSOC); - - -$aaa = intval($result['OAmountWithTax']) - 24; -$sql = "UPDATE salIncomeApplyDetail SET OAmountWithTax = $aaa WHERE BillNo = 'B24010032' AND RowCode = '1'"; -$stmt = $connT8->prepare($sql); -$stmt->execute(); - - -echo "
"; -print_r($result['OAmountWithTax']); -echo ""; diff --git a/wms/contract/api/testocde.php b/wms/contract/api/testocde.php new file mode 100644 index 00000000..b6bb6c8d --- /dev/null +++ b/wms/contract/api/testocde.php @@ -0,0 +1,10 @@ +prepare($sql); +$stmt->execute(); +$pay_kind = $stmt->fetchAll(PDO::FETCH_ASSOC); + +echo "
"; +print_r($pay_kind); +echo ""; diff --git a/wms/contract/contract-input.php b/wms/contract/contract-input.php index dcba75cd..48d61379 100644 --- a/wms/contract/contract-input.php +++ b/wms/contract/contract-input.php @@ -214,13 +214,23 @@ $contractpersons = $stmt->fetchAll(PDO::FETCH_ASSOC);
未填寫
-+ + +
+ 安排 +
+