php weberp开发框架,SalesPeople.php

本文介绍了一个用于维护销售员信息的系统,包括添加、更新及删除销售员记录的过程。该系统验证了输入数据的有效性,并确保相关联的数据在进行删除操作前被妥善处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/* $Id: SalesPeople.php 7048 2014-12-28 09:33:08Z daintree $*/

include('includes/session.inc');

$Title = _('Sales People Maintenance');

$ViewTopic = 'SalesPeople';

$BookMark = 'SalesPeople';

if(isset($_GET['SelectedSalesPerson'])) {

$BookMark = 'SalespeopleEdit';

}// For Edit's screen.

if(isset($_GET['delete'])) {

$BookMark = 'SalespeopleDelete';

}// For Delete's ERROR Message Report.

include('includes/header.inc');

if (isset($_GET['SelectedSalesPerson'])){

$SelectedSalesPerson =mb_strtoupper($_GET['SelectedSalesPerson']);

} elseif(isset($_POST['SelectedSalesPerson'])){

$SelectedSalesPerson =mb_strtoupper($_POST['SelectedSalesPerson']);

}

if (isset($Errors)) {

unset($Errors);

}

$Errors = array();

echo '

' . ' ' . $Title . '

';

if (isset($_POST['submit'])) {

//initialise no input errors assumed initially before we test

$InputError = 0;

/* actions to take once the user has clicked the submit button

ie the page has called itself with some user input */

$i=1;

//first off validate inputs sensible

if (mb_strlen($_POST['SalesmanCode']) > 3) {

$InputError = 1;

prnMsg(_('The salesperson code must be three characters or less long'),'error');

$Errors[$i] = 'SalesmanCode';

$i++;

} elseif (mb_strlen($_POST['SalesmanCode'])==0 OR $_POST['SalesmanCode']=='') {

$InputError = 1;

prnMsg(_('The salesperson code cannot be empty'),'error');

$Errors[$i] = 'SalesmanCode';

$i++;

} elseif (mb_strlen($_POST['SalesmanName']) > 30) {

$InputError = 1;

prnMsg(_('The salesperson name must be thirty characters or less long'),'error');

$Errors[$i] = 'SalesmanName';

$i++;

} elseif (mb_strlen($_POST['SManTel']) > 20) {

$InputError = 1;

prnMsg(_('The salesperson telephone number must be twenty characters or less long'),'error');

} elseif (mb_strlen($_POST['SManFax']) > 20) {

$InputError = 1;

prnMsg(_('The salesperson telephone number must be twenty characters or less long'),'error');

} elseif (!is_numeric(filter_number_format($_POST['CommissionRate1']))

OR !is_numeric(filter_number_format($_POST['CommissionRate2']))) {

$InputError = 1;

prnMsg(_('The commission rates must be a floating point number'),'error');

} elseif (!is_numeric(filter_number_format($_POST['Breakpoint']))) {

$InputError = 1;

prnMsg(_('The breakpoint should be a floating point number'),'error');

}

if (!isset($_POST['SManTel'])){

$_POST['SManTel']='';

}

if (!isset($_POST['SManFax'])){

$_POST['SManFax']='';

}

if (!isset($_POST['CommissionRate1'])){

$_POST['CommissionRate1']=0;

}

if (!isset($_POST['CommissionRate2'])){

$_POST['CommissionRate2']=0;

}

if (!isset($_POST['Breakpoint'])){

$_POST['Breakpoint']=0;

}

if (!isset($_POST['Current'])){

$_POST['Current']=0;

}

if (isset($SelectedSalesPerson) AND $InputError !=1) {

/*SelectedSalesPerson could also exist if submit had not been clicked this code would not run in this case cos submit is false of course see the delete code below*/

$sql = "UPDATE salesman SET salesmanname='" . $_POST['SalesmanName'] . "',

commissionrate1='" . filter_number_format($_POST['CommissionRate1']) . "',

smantel='" . $_POST['SManTel'] . "',

smanfax='" . $_POST['SManFax'] . "',

breakpoint='" . filter_number_format($_POST['Breakpoint']) . "',

commissionrate2='" . filter_number_format($_POST['CommissionRate2']) . "',

current='" . $_POST['Current'] . "'

WHERE salesmancode = '".$SelectedSalesPerson."'";

$msg = _('Salesperson record for') . ' ' . $_POST['SalesmanName'] . ' ' . _('has been updated');

} elseif ($InputError !=1) {

/*Selected group is null cos no item selected on first time round so must be adding a record must be submitting new entries in the new Sales-person form */

$sql = "INSERT INTO salesman (salesmancode,

salesmanname,

commissionrate1,

commissionrate2,

breakpoint,

smantel,

smanfax,

current)

VALUES ('" . $_POST['SalesmanCode'] . "',

'" . $_POST['SalesmanName'] . "',

'" . filter_number_format($_POST['CommissionRate1']) . "',

'" . filter_number_format($_POST['CommissionRate2']) . "',

'" . filter_number_format($_POST['Breakpoint']) . "',

'" . $_POST['SManTel'] . "',

'" . $_POST['SManFax'] . "',

'" . $_POST['Current'] . "'

)";

$msg = _('A new salesperson record has been added for') . ' ' . $_POST['SalesmanName'];

}

if ($InputError !=1) {

//run the SQL from either of the above possibilites

$ErrMsg = _('The insert or update of the salesperson failed because');

$DbgMsg = _('The SQL that was used and failed was');

$result = DB_query($sql,$ErrMsg, $DbgMsg);

prnMsg($msg , 'success');

unset($SelectedSalesPerson);

unset($_POST['SalesmanCode']);

unset($_POST['SalesmanName']);

unset($_POST['CommissionRate1']);

unset($_POST['CommissionRate2']);

unset($_POST['Breakpoint']);

unset($_POST['SManFax']);

unset($_POST['SManTel']);

unset($_POST['Current']);

}

} elseif (isset($_GET['delete'])) {

$BookMark = 'SalespeopleDelete';

//the link to delete a selected record was clicked instead of the submit button

// PREVENT DELETES IF DEPENDENT RECORDS IN 'DebtorsMaster'

$sql= "SELECT COUNT(*) FROM custbranch WHERE custbranch.salesman='".$SelectedSalesPerson."'";

$result = DB_query($sql);

$myrow = DB_fetch_row($result);

if ($myrow[0]>0) {

prnMsg(_('Cannot delete this salesperson because branches are set up referring to them') . ' - ' . _('first alter the branches concerned') . '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('branches that refer to this salesperson'),'error');

} else {

$sql= "SELECT COUNT(*) FROM salesanalysis WHERE salesanalysis.salesperson='".$SelectedSalesPerson."'";

$result = DB_query($sql);

$myrow = DB_fetch_row($result);

if ($myrow[0]>0) {

prnMsg(_('Cannot delete this salesperson because sales analysis records refer to them') , '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('sales analysis records that refer to this salesperson'),'error');

} else {

$sql= "SELECT COUNT(*) FROM www_users WHERE salesman='".$SelectedSalesPerson."'";

$result = DB_query($sql);

$myrow = DB_fetch_row($result);

if ($myrow[0]>0) {

prnMsg(_('Cannot delete this salesperson because') , '
' . _('There are') . ' ' . $myrow[0] . ' ' . _('user records that refer to this salesperson') . '.' ._('First delete any users that refer to this sales person'),'error');

} else {

$sql="DELETE FROM salesman WHERE salesmancode='". $SelectedSalesPerson."'";

$ErrMsg = _('The salesperson could not be deleted because');

$result = DB_query($sql,$ErrMsg);

prnMsg(_('Salesperson') . ' ' . $SelectedSalesPerson . ' ' . _('has been deleted from the database'),'success');

unset ($SelectedSalesPerson);

unset($delete);

}

}

} //end if Sales-person used in GL accounts

}

if (!isset($SelectedSalesPerson)) {

/* It could still be the second time the page has been run and a record has been selected for modification - SelectedSalesPerson will exist because it was sent with the new call. If its the first time the page has been displayed with no parameters

then none of the above are true and the list of Sales-persons will be displayed with

links to delete or edit each. These will call the same page again and allow update/input

or deletion of the records*/

$sql = "SELECT salesmancode,

salesmanname,

smantel,

smanfax,

commissionrate1,

breakpoint,

commissionrate2,

current

FROM salesman";

$result = DB_query($sql);

echo '

echo '

' . _('Code') . '' . _('Name') . '' . _('Telephone') . '' . _('Facsimile') . '' . _('Comm Rate 1') . '' . _('Break') . '' . _('Comm Rate 2') . '' . _('Current') . '';

$k=0;

while ($myrow=DB_fetch_array($result)) {

if ($k==1){

echo '

';

$k=0;

} else {

echo '

';

$k++;

}

if ($myrow[7] == 1) {

$ActiveText = _('Yes');

} else {

$ActiveText = _('No');

}

printf('

%s%s%s%s%s%s%s%s ' . _('Edit') . ' ' . _('Delete') . '',

$myrow['salesmancode'],

$myrow['salesmanname'],

$myrow['smantel'],

$myrow['smanfax'],

locale_number_format($myrow['commissionrate1'],2),

locale_number_format($myrow['breakpoint'],$_SESSION['CompanyRecord']['decimalplaces']),

locale_number_format($myrow['commissionrate2'],2),

$ActiveText,

htmlspecialchars($_SERVER['PHP_SELF'],ENT_QUOTES,'UTF-8') . '?',

$myrow['salesmancode'],

htmlspecialchars($_SERVER['PHP_SELF'],ENT_QUOTES,'UTF-8') . '?',

$myrow['salesmancode']);

} //END WHILE LIST LOOP

echo '


';

} //end of ifs and buts!

if (isset($SelectedSalesPerson)) {

echo '

';

}

if (! isset($_GET['delete'])) {

echo '

';

echo '

';

echo '';

if (isset($SelectedSalesPerson)) {

//editing an existing Sales-person

$sql = "SELECT salesmancode,

salesmanname,

smantel,

smanfax,

commissionrate1,

breakpoint,

commissionrate2,

current

FROM salesman

WHERE salesmancode='".$SelectedSalesPerson."'";

$result = DB_query($sql);

$myrow = DB_fetch_array($result);

$_POST['SalesmanCode'] = $myrow['salesmancode'];

$_POST['SalesmanName'] = $myrow['salesmanname'];

$_POST['SManTel'] = $myrow['smantel'];

$_POST['SManFax'] = $myrow['smanfax'];

$_POST['CommissionRate1'] = locale_number_format($myrow['commissionrate1'],'Variable');

$_POST['Breakpoint'] = locale_number_format($myrow['breakpoint'],$_SESSION['CompanyRecord']['decimalplaces']);

$_POST['CommissionRate2'] = locale_number_format($myrow['commissionrate2'],'Variable');

$_POST['Current'] = $myrow['current'];

echo '';

echo '';

echo '

' . _('Salesperson code') . ':' . $_POST['SalesmanCode'] . '

} else { //end of if $SelectedSalesPerson only do the else when a new record is being entered

echo '

' . _('Salesperson code') . ':

}

if (!isset($_POST['SalesmanName'])){

$_POST['SalesmanName']='';

}

if (!isset($_POST['SManTel'])){

$_POST['SManTel']='';

}

if (!isset($_POST['SManFax'])){

$_POST['SManFax']='';

}

if (!isset($_POST['CommissionRate1'])){

$_POST['CommissionRate1']=0;

}

if (!isset($_POST['CommissionRate2'])){

$_POST['CommissionRate2']=0;

}

if (!isset($_POST['Breakpoint'])){

$_POST['Breakpoint']=0;

}

if (!isset($_POST['Current'])){

$_POST['Current']=0;

}

echo '

' . _('Salesperson Name') . ':';

echo '

' . _('Telephone No') . ':';

echo '

' . _('Facsimile No') . ':';

echo '

' . _('Commission Rate 1') . ':';

echo '

' . _('Breakpoint') . ':';

echo '

' . _('Commission Rate 2') . ':';

echo '

' . _('Current?') . ':';

if (!isset($_POST['Current'])){

$_POST['Current']=1;

}

if ($_POST['Current']==1){

echo '' . _('Yes') . '';

} else {

echo '' . _('Yes') . '';

}

if ($_POST['Current']==0){

echo '' . _('No') . '';

} else {

echo '' . _('No') . '';

}

echo '

';

} //end if record deleted no point displaying form to add record

include('includes/footer.inc');

?>

一键复制

编辑

Web IDE

原始数据

按行查看

历史

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值