|
|
@@ -78,108 +78,376 @@ class LargeWasteRewardPunish extends Api
|
|
|
}
|
|
|
$this->success('成功',$data);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取工序大废品惩奖列表
|
|
|
- * @ApiMethod (GET)
|
|
|
- * @param string $date 时间
|
|
|
*/
|
|
|
public function getList()
|
|
|
{
|
|
|
- //get请求
|
|
|
- if(!$this->request->isGet()){
|
|
|
+ if (!$this->request->isGet()) {
|
|
|
$this->error('请求方式错误');
|
|
|
}
|
|
|
$req = $this->request->param();
|
|
|
$rq = $req['date'];
|
|
|
$page = 1;
|
|
|
$limit = 15;
|
|
|
+
|
|
|
+ // 处理分页
|
|
|
if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
|
|
|
if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
|
|
|
- $date = substr($req['date'],0,10);
|
|
|
- $req['date'] = str_replace('.','-',$date);
|
|
|
+
|
|
|
+ // 规范化日期格式
|
|
|
+ $date = substr($req['date'], 0, 10);
|
|
|
+ $req['date'] = str_replace('.', '-', $date);
|
|
|
+
|
|
|
$where = [];
|
|
|
- if (isset($req['date']) && !empty($req['date'])){
|
|
|
- if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $rq)>0){
|
|
|
- $where['sys_rq'] = ['LIKE',$req['date'].'%'];
|
|
|
- }else{
|
|
|
- $where['sczl_rq'] = ['LIKE',$req['date'].'%'];
|
|
|
+ /*
|
|
|
+ * 按月份查询是按照生产月份进行筛选
|
|
|
+ * 按日查询是按照添加时间筛选
|
|
|
+ */
|
|
|
+ if (!empty($req['date'])) {
|
|
|
+ // 根据日期中是否包含中文字符,决定查询条件
|
|
|
+ if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $rq) > 0) {
|
|
|
+ $where['sys_rq'] = ['LIKE', $req['date'] . '%'];
|
|
|
+ $order = [
|
|
|
+ 'sys_rq' => 'DESC',
|
|
|
+ 'UniqId' => 'DESC'
|
|
|
+ ];
|
|
|
+ } else {
|
|
|
+ $where['sczl_rq'] = ['LIKE', $req['date'] . '%'];
|
|
|
+ $order = [
|
|
|
+ 'sczl_rq' => 'DESC',
|
|
|
+ 'UniqId' => 'DESC'
|
|
|
+ ];
|
|
|
}
|
|
|
-
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
$this->error('参数错误');
|
|
|
}
|
|
|
+
|
|
|
+ // 查询数据库,获取数据
|
|
|
$res = db()->table('db_大废品')
|
|
|
->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
|
|
|
- rtrim(责任部门) as 责任部门,sczl_cl,
|
|
|
- rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh, JL_bh1,
|
|
|
- sczl_jtbh as sczl_bzdh, sczl_bh1, sczl_je1, sczl_bh2, sczl_je2, sczl_bh3,sczl_bh4, sczl_je3,sczl_je4,rtrim(sys_id) as sys_id, sys_rq, UniqId')
|
|
|
- ->where('sczl_gdbh',$req['date'])
|
|
|
- ->order('UniqId desc')
|
|
|
- ->page($page,$limit)
|
|
|
+ rtrim(责任部门) as 责任部门, sczl_cl,
|
|
|
+ rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh,
|
|
|
+ sczl_jtbh as sczl_bzdh,rtrim(sys_id) as sys_id, sys_rq, UniqId,
|
|
|
+ sczl_bh1,sczl_bh2,sczl_bh3,sczl_bh4,
|
|
|
+ sczl_je1, sczl_je2, sczl_je3, sczl_je4,
|
|
|
+ JL_bh1,JL_bh2,JL_bh3, JL_bh4,
|
|
|
+ JL_Je1, JL_Je2, JL_Je3, JL_Je4
|
|
|
+ ')
|
|
|
+// ->where('sczl_gdbh', $req['date'])
|
|
|
+ ->where($where)
|
|
|
+ ->order($order)
|
|
|
+ ->page($page, $limit)
|
|
|
->select();
|
|
|
- if($res){
|
|
|
- $rows=$res;
|
|
|
- $total = db()->table('db_大废品')->where('sczl_gdbh',$req['date'])->count();;
|
|
|
- }else{
|
|
|
+
|
|
|
+ // 如果查询不到数据,则使用备用查询条件
|
|
|
+ if ($res) {
|
|
|
+ $rows = $res;
|
|
|
+// $total = db()->table('db_大废品')->where('sczl_gdbh', $req['date'])->count();
|
|
|
+ $total = db()->table('db_大废品')->where($where)->count();
|
|
|
+ } else {
|
|
|
$rows = db()->table('db_大废品')
|
|
|
->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
|
|
|
- rtrim(责任部门) as 责任部门, sczl_cl,
|
|
|
- rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh, JL_bh1,
|
|
|
- sczl_jtbh as sczl_bzdh, sczl_bh1, sczl_je1, sczl_bh2, sczl_je2, sczl_bh3,sczl_bh4, sczl_je3,sczl_je4, rtrim(sys_id) as sys_id, sys_rq, UniqId')
|
|
|
+ rtrim(责任部门) as 责任部门, sczl_cl,
|
|
|
+ rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh,
|
|
|
+ sczl_jtbh as sczl_bzdh,rtrim(sys_id) as sys_id, sys_rq, UniqId,
|
|
|
+ sczl_bh1,sczl_bh2,sczl_bh3,sczl_bh4,
|
|
|
+ sczl_je1, sczl_je2, sczl_je3, sczl_je4,
|
|
|
+ JL_bh1,JL_bh2,JL_bh3, JL_bh4,
|
|
|
+ JL_Je1, JL_Je2, JL_Je3, JL_Je4
|
|
|
+ ')
|
|
|
->where($where)
|
|
|
- ->order('UniqId desc')
|
|
|
- ->page($page,$limit)
|
|
|
+ ->order($order)
|
|
|
+ ->page($page, $limit)
|
|
|
->select();
|
|
|
$total = db()->table('db_大废品')->where($where)->count();
|
|
|
}
|
|
|
+ // 获取相关数据用于转换
|
|
|
$gd = db()->table('工单_印件资料')->column('Yj_Gdbh, yj_yjmc');
|
|
|
- $rs = db()->table('人事_基本资料')->where('员工姓名','<>','通用编号')->column('员工编号, 员工姓名');
|
|
|
- foreach ($rows as $key=>$value) {
|
|
|
- $rows[$key]['yj_yjmc'] = array_key_exists($value['sczl_gdbh'],$gd) ? sprintf("%02d", $value['sczl_yjno']).'-'.trim($gd[$value['sczl_gdbh']]) : '';
|
|
|
- $rows[$key]['JL_bh1'] = array_key_exists($value['JL_bh1'],$rs) ? trim($rs[$value['JL_bh1']]) : '';
|
|
|
- $rows[$key]['sczl_bh1'] = array_key_exists($value['sczl_bh1'],$rs) ? trim($rs[$value['sczl_bh1']]) : '';
|
|
|
- $rows[$key]['sczl_bh2'] = array_key_exists($value['sczl_bh2'],$rs) ? trim($rs[$value['sczl_bh2']]) : '';
|
|
|
- $rows[$key]['sczl_bh3'] = array_key_exists($value['sczl_bh3'],$rs) ? trim($rs[$value['sczl_bh3']]) : '';
|
|
|
- $rows[$key]['sczl_bh4'] = array_key_exists($value['sczl_bh4'],$rs) ? trim($rs[$value['sczl_bh4']]) : '';
|
|
|
+ $rs = db()->table('人事_基本资料')->where('员工姓名', '<>', '通用编号')->column('员工编号, 员工姓名');
|
|
|
+ //查询结果
|
|
|
+ foreach ($rows as $key => $value) {
|
|
|
+ $rows[$key]['yj_yjmc'] = array_key_exists($value['sczl_gdbh'], $gd) ? sprintf("%02d", $value['sczl_yjno']) . '-' . trim($gd[$value['sczl_gdbh']]) : '';
|
|
|
+ $rows[$key]['JL_bh1'] = array_key_exists($value['JL_bh1'], $rs) ? trim($rs[$value['JL_bh1']]) : '';
|
|
|
+ $rows[$key]['JL_bh2'] = array_key_exists($value['JL_bh2'], $rs) ? trim($rs[$value['JL_bh2']]) : '';
|
|
|
+ $rows[$key]['JL_bh3'] = array_key_exists($value['JL_bh3'], $rs) ? trim($rs[$value['JL_bh3']]) : '';
|
|
|
+ $rows[$key]['JL_bh4'] = array_key_exists($value['JL_bh4'], $rs) ? trim($rs[$value['JL_bh4']]) : '';
|
|
|
+ $rows[$key]['sczl_bh1'] = array_key_exists($value['sczl_bh1'], $rs) ? trim($rs[$value['sczl_bh1']]) : '';
|
|
|
+ $rows[$key]['sczl_bh2'] = array_key_exists($value['sczl_bh2'], $rs) ? trim($rs[$value['sczl_bh2']]) : '';
|
|
|
+ $rows[$key]['sczl_bh3'] = array_key_exists($value['sczl_bh3'], $rs) ? trim($rs[$value['sczl_bh3']]) : '';
|
|
|
+ $rows[$key]['sczl_bh4'] = array_key_exists($value['sczl_bh4'], $rs) ? trim($rs[$value['sczl_bh4']]) : '';
|
|
|
$rows[$key]['sczl_fplxB'] = $value['sczl_fplxB'] == 1 ? '制程废' : '';
|
|
|
- if ($rows[$key]['sczl_bh1'] != '' && $value['sczl_je1'] > 0){
|
|
|
- $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
- if ($number > 200){
|
|
|
- $number = 200;
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 惩罚金额人员规则
|
|
|
+ * 1、机长(sczl_je1) 当天超过 1000,显示 1000
|
|
|
+ * 2、组员(sczl_je2、sczl_je3、sczl_je4) 当天超过 500,显示 500
|
|
|
+ */
|
|
|
+ for ($i = 1; $i <= 4; $i++) {
|
|
|
+ // 惩罚人员编号
|
|
|
+ $bhKey = "sczl_bh{$i}";
|
|
|
+ // 惩罚金额
|
|
|
+ $jeKey = "sczl_je{$i}";
|
|
|
+
|
|
|
+ // 如果人员编号不为空,且惩罚金额大于 0,则进行计算
|
|
|
+ if (!empty($rows[$key][$bhKey]) && $value[$jeKey] > 0) {
|
|
|
+ // 计算原始惩罚金额,并保留 2 位小数
|
|
|
+ $originalAmount = round($value[$jeKey] * $value['sczl_cl'], 2);
|
|
|
+ $info = ["惩罚:$originalAmount"];
|
|
|
+
|
|
|
+ // 机长(sczl_je1)超过 1000,固定扣除 1000
|
|
|
+ if ($i == 1 && $originalAmount > 1000) {
|
|
|
+ $info[] = "封顶:1000";
|
|
|
+ }
|
|
|
+ // 组员(sczl_je2, sczl_je3, sczl_je4)超过 500,固定扣除 500
|
|
|
+ elseif ($i > 1 && $originalAmount > 500) {
|
|
|
+ $info[] = "封顶:500";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 用 `implode()` 拼接成字符串,确保格式整洁
|
|
|
+ $rows[$key][$bhKey] .= "(" . implode(" | ", $info) . ")";
|
|
|
}
|
|
|
- $rows[$key]['sczl_bh1'] = $rows[$key]['sczl_bh1'].'(-'.$number.')';
|
|
|
}
|
|
|
- if ($rows[$key]['sczl_bh2'] != '' && $value['sczl_je2'] > 0){
|
|
|
- $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
- if ($number > 200){
|
|
|
- $number = 200;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 奖励金额人员规则
|
|
|
+ */
|
|
|
+ // 计算有效奖励人数和总奖励金额
|
|
|
+ $validCount = 0;
|
|
|
+ $totalJLAmt = 0;
|
|
|
+
|
|
|
+ // 先计算总奖励金额,并统计有值的奖励人数
|
|
|
+ for ($i = 1; $i <= 4; $i++) {
|
|
|
+ $jlKey = "JL_Je{$i}";
|
|
|
+ if (!empty($value[$jlKey]) && $value[$jlKey] > 0) {
|
|
|
+ $totalJLAmt += $value[$jlKey]; // 累加奖励金额
|
|
|
+ $validCount++; // 统计有值的奖励人数
|
|
|
}
|
|
|
- $rows[$key]['sczl_bh2'] = $rows[$key]['sczl_bh2'].'(-'.$number.')';
|
|
|
}
|
|
|
- if ($rows[$key]['sczl_bh3'] != '' && $value['sczl_je3'] > 0){
|
|
|
- $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
- if ($number > 200){
|
|
|
- $number = 200;
|
|
|
+
|
|
|
+ // 计算平分后的奖励金额
|
|
|
+ if ($validCount > 0) {
|
|
|
+ // 总金额 * 系数,并保留两位小数
|
|
|
+ $totalJLAmt = round($totalJLAmt * $value['sczl_cl'], 2);
|
|
|
+ if ($totalJLAmt > 200) {
|
|
|
+ // 超过 200,按 200 平分,并保留 2 位小数
|
|
|
+ $distributedAmount = round(200 / $validCount, 2);
|
|
|
+ } else {
|
|
|
+ // 没超过 200,按实际金额平分,并保留 2 位小数
|
|
|
+ $distributedAmount = round($totalJLAmt / $validCount, 2);
|
|
|
}
|
|
|
- $rows[$key]['sczl_bh3'] = $rows[$key]['sczl_bh3'].'(-'.$number.')';
|
|
|
+ } else {
|
|
|
+ $distributedAmount = 0;
|
|
|
}
|
|
|
- if ($rows[$key]['sczl_bh4'] != '' && $value['sczl_je4'] > 0){
|
|
|
- $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
- if ($number > 200){
|
|
|
- $number = 200;
|
|
|
+
|
|
|
+ for ($i = 1; $i <= 4; $i++) {
|
|
|
+ // 奖励人员编号
|
|
|
+ $jlbhKey = "JL_bh{$i}";
|
|
|
+ // 奖励金额
|
|
|
+ $jlKey = "JL_Je{$i}";
|
|
|
+
|
|
|
+ // 只有当编号不为空,并且有奖励金额时才计算
|
|
|
+ if (!empty($rows[$key][$jlbhKey]) && $value[$jlKey] > 0) {
|
|
|
+ // 计算个人原始奖励金额,并保留 2 位小数
|
|
|
+ $originalAmount = round($value[$jlKey] * $value['sczl_cl'], 2);
|
|
|
+ $info = ["奖励:$originalAmount"];
|
|
|
+
|
|
|
+ // 只有当总奖励金额超过 200 时,才显示封顶金额
|
|
|
+ if ($totalJLAmt > 200) {
|
|
|
+ $info[] = "封顶:$distributedAmount";
|
|
|
+ }
|
|
|
+
|
|
|
+ // 用 `implode()` 拼接成字符串,确保格式整洁
|
|
|
+ $rows[$key][$jlbhKey] .= "(" . implode(" | ", $info) . ")";
|
|
|
}
|
|
|
- $rows[$key]['sczl_bh4'] = $rows[$key]['sczl_bh4'].'(-'.$number.')';
|
|
|
}
|
|
|
+
|
|
|
+// /*
|
|
|
+// * 惩罚金额人员规则
|
|
|
+// * 1、如果惩罚金额【机长是sczl_je1】当天超过1000,【组员是sczl_je2、sczl_je3、sczl_je4】当天超过500
|
|
|
+// * 2、则机长显示1000、组员显示500(列如:机长(1000),组员(500)格式)
|
|
|
+// */
|
|
|
+// for ($i = 1; $i <= 4; $i++) {
|
|
|
+// //惩罚人员编号
|
|
|
+// $bhKey = "sczl_bh{$i}";
|
|
|
+// // 惩罚金额
|
|
|
+// $jeKey = "sczl_je{$i}";
|
|
|
+// // 如果人员编号不为空,且惩罚金额大于 0,则进行计算
|
|
|
+// if (!empty($rows[$key][$bhKey]) && $value[$jeKey] > 0) {
|
|
|
+// // 计算原始惩罚金额
|
|
|
+// $originalAmount = $value[$jeKey] * $value['sczl_cl'];
|
|
|
+// // 初始化扣除值为空
|
|
|
+// $deductedAmount = '';
|
|
|
+// // 机长(sczl_je1)超过 1000,固定扣除 1000
|
|
|
+// if ($i == 1 && $originalAmount > 1000) {
|
|
|
+// $deductedAmount = "(-1000)";
|
|
|
+// }
|
|
|
+// // 组员(sczl_je2, sczl_je3, sczl_je4)超过 500,固定扣除 500
|
|
|
+// elseif ($i > 1 && $originalAmount > 500) {
|
|
|
+// $deductedAmount = "(-500)";
|
|
|
+// }
|
|
|
+// // 拼接格式:原来的数值(超过的固定值),只有超过时才显示扣除值
|
|
|
+// $rows[$key][$bhKey] .= "({$originalAmount}){$deductedAmount}";
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// /*
|
|
|
+// * 奖励金额人员规则
|
|
|
+// */
|
|
|
+// // 计算有效奖励人数和总奖励金额
|
|
|
+// $validCount = 0;
|
|
|
+// $totalJLAmt = 0;
|
|
|
+//
|
|
|
+// // 先计算总奖励金额,并统计有值的奖励人数
|
|
|
+// for ($i = 1; $i <= 4; $i++) {
|
|
|
+// $jlKey = "JL_Je{$i}";
|
|
|
+// if (!empty($value[$jlKey]) && $value[$jlKey] > 0) {
|
|
|
+// $totalJLAmt += $value[$jlKey]; // 累加奖励金额
|
|
|
+// $validCount++; // 统计有值的奖励人数
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 计算平分后的奖励金额
|
|
|
+// if ($validCount > 0) {
|
|
|
+// // 总金额 * 系数
|
|
|
+// $totalJLAmt *= $value['sczl_cl'];
|
|
|
+// if ($totalJLAmt > 200) {
|
|
|
+// // 超过 200,按 200 平分并四舍五入
|
|
|
+// $distributedAmount = round(200 / $validCount,2);
|
|
|
+// } else {
|
|
|
+// // 没超过 200,按实际金额平分并四舍五入
|
|
|
+// $distributedAmount = round($totalJLAmt / $validCount,2);
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// $distributedAmount = 0;
|
|
|
+// }
|
|
|
+// for ($i = 1; $i <= 4; $i++) {
|
|
|
+// // 奖励人员编号
|
|
|
+// $jlbhKey = "JL_bh{$i}";
|
|
|
+// // 奖励金额
|
|
|
+// $jlKey = "JL_Je{$i}";
|
|
|
+// // 只有当编号不为空,并且有奖励金额时才计算
|
|
|
+// if (!empty($rows[$key][$jlbhKey]) && $value[$jlKey] > 0) {
|
|
|
+// // 个人原始奖励金额
|
|
|
+// $originalAmount = $value[$jlKey] * $value['sczl_cl'];
|
|
|
+//
|
|
|
+// // 未超过200,只显示原始金额
|
|
|
+// if ($totalJLAmt <= 200) {
|
|
|
+// $rows[$key][$jlbhKey] .= "({$originalAmount})";
|
|
|
+// } else {
|
|
|
+// // 超过200,显示原始金额和分摊金额
|
|
|
+// $rows[$key][$jlbhKey] .= "({$originalAmount})({$distributedAmount})";
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+ // 移除 sczl_yjno 字段
|
|
|
unset($rows[$key]['sczl_yjno']);
|
|
|
}
|
|
|
-
|
|
|
$data = [
|
|
|
- 'total' => $total,
|
|
|
- 'rows' => $rows,
|
|
|
+ 'total' => $total,
|
|
|
+ 'rows' => $rows,
|
|
|
];
|
|
|
- $this->success('成功',$data);
|
|
|
+ $this->success('成功', $data);
|
|
|
}
|
|
|
|
|
|
+// public function getList()
|
|
|
+// {
|
|
|
+// if(!$this->request->isGet()){
|
|
|
+// $this->error('请求方式错误');
|
|
|
+// }
|
|
|
+// $req = $this->request->param();
|
|
|
+// $rq = $req['date'];
|
|
|
+// $page = 1;
|
|
|
+// $limit = 15;
|
|
|
+// if (isset($req['page']) && !empty($req['page'])) $page = $req['page'];
|
|
|
+// if (isset($req['limit']) && !empty($req['limit'])) $limit = $req['limit'];
|
|
|
+// $date = substr($req['date'],0,10);
|
|
|
+// $req['date'] = str_replace('.','-',$date);
|
|
|
+// $where = [];
|
|
|
+// if (isset($req['date']) && !empty($req['date'])){
|
|
|
+// if (preg_match('/[\x{4e00}-\x{9fa5}]/u', $rq)>0){
|
|
|
+// $where['sys_rq'] = ['LIKE',$req['date'].'%'];
|
|
|
+// }else{
|
|
|
+// $where['sczl_rq'] = ['LIKE',$req['date'].'%'];
|
|
|
+// }
|
|
|
+//
|
|
|
+// }else{
|
|
|
+// $this->error('参数错误');
|
|
|
+// }
|
|
|
+// $res = db()->table('db_大废品')
|
|
|
+// ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
|
|
|
+// rtrim(责任部门) as 责任部门,sczl_cl,
|
|
|
+// rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh, JL_bh1,
|
|
|
+// sczl_jtbh as sczl_bzdh, sczl_bh1, sczl_je1, sczl_bh2, sczl_je2, sczl_bh3,sczl_bh4, sczl_je3,sczl_je4,rtrim(sys_id) as sys_id, sys_rq, UniqId')
|
|
|
+// ->where('sczl_gdbh',$req['date'])
|
|
|
+// ->order('UniqId desc')
|
|
|
+// ->page($page,$limit)
|
|
|
+// ->select();
|
|
|
+// if($res){
|
|
|
+// $rows=$res;
|
|
|
+// $total = db()->table('db_大废品')->where('sczl_gdbh',$req['date'])->count();;
|
|
|
+// }else{
|
|
|
+// $rows = db()->table('db_大废品')
|
|
|
+// ->field('sczl_gdbh, LEFT(sczl_rq, 10) as sczl_rq, rtrim(sczl_numDesc) as sczl_numDesc, sczl_ls, sczl_yjno,
|
|
|
+// rtrim(责任部门) as 责任部门, sczl_cl,
|
|
|
+// rtrim(sczl_fplxA) as sczl_fplxA, sczl_fplxB, jl_jtbh as Jl_bzdh, JL_bh1,
|
|
|
+// sczl_jtbh as sczl_bzdh, sczl_bh1, sczl_je1, sczl_bh2, sczl_je2, sczl_bh3,sczl_bh4, sczl_je3,sczl_je4, rtrim(sys_id) as sys_id, sys_rq, UniqId')
|
|
|
+// ->where($where)
|
|
|
+// ->order('UniqId desc')
|
|
|
+// ->page($page,$limit)
|
|
|
+// ->select();
|
|
|
+// $total = db()->table('db_大废品')->where($where)->count();
|
|
|
+// }
|
|
|
+// $gd = db()->table('工单_印件资料')->column('Yj_Gdbh, yj_yjmc');
|
|
|
+// $rs = db()->table('人事_基本资料')->where('员工姓名','<>','通用编号')->column('员工编号, 员工姓名');
|
|
|
+// foreach ($rows as $key=>$value) {
|
|
|
+// $rows[$key]['yj_yjmc'] = array_key_exists($value['sczl_gdbh'],$gd) ? sprintf("%02d", $value['sczl_yjno']).'-'.trim($gd[$value['sczl_gdbh']]) : '';
|
|
|
+// $rows[$key]['JL_bh1'] = array_key_exists($value['JL_bh1'],$rs) ? trim($rs[$value['JL_bh1']]) : '';
|
|
|
+// $rows[$key]['sczl_bh1'] = array_key_exists($value['sczl_bh1'],$rs) ? trim($rs[$value['sczl_bh1']]) : '';
|
|
|
+// $rows[$key]['sczl_bh2'] = array_key_exists($value['sczl_bh2'],$rs) ? trim($rs[$value['sczl_bh2']]) : '';
|
|
|
+// $rows[$key]['sczl_bh3'] = array_key_exists($value['sczl_bh3'],$rs) ? trim($rs[$value['sczl_bh3']]) : '';
|
|
|
+// $rows[$key]['sczl_bh4'] = array_key_exists($value['sczl_bh4'],$rs) ? trim($rs[$value['sczl_bh4']]) : '';
|
|
|
+// $rows[$key]['sczl_fplxB'] = $value['sczl_fplxB'] == 1 ? '制程废' : '';
|
|
|
+// if ($rows[$key]['sczl_bh1'] != '' && $value['sczl_je1'] > 0){
|
|
|
+// $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
+// if ($number > 200){
|
|
|
+// $number = 200;
|
|
|
+// }
|
|
|
+// $rows[$key]['sczl_bh1'] = $rows[$key]['sczl_bh1'].'(-'.$number.')';
|
|
|
+// }
|
|
|
+// if ($rows[$key]['sczl_bh2'] != '' && $value['sczl_je2'] > 0){
|
|
|
+// $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
+// if ($number > 200){
|
|
|
+// $number = 200;
|
|
|
+// }
|
|
|
+// $rows[$key]['sczl_bh2'] = $rows[$key]['sczl_bh2'].'(-'.$number.')';
|
|
|
+// }
|
|
|
+// if ($rows[$key]['sczl_bh3'] != '' && $value['sczl_je3'] > 0){
|
|
|
+// $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
+// if ($number > 200){
|
|
|
+// $number = 200;
|
|
|
+// }
|
|
|
+// $rows[$key]['sczl_bh3'] = $rows[$key]['sczl_bh3'].'(-'.$number.')';
|
|
|
+// }
|
|
|
+// if ($rows[$key]['sczl_bh4'] != '' && $value['sczl_je4'] > 0){
|
|
|
+// $number = $value['sczl_je1']*$value['sczl_cl'];
|
|
|
+// if ($number > 200){
|
|
|
+// $number = 200;
|
|
|
+// }
|
|
|
+// $rows[$key]['sczl_bh4'] = $rows[$key]['sczl_bh4'].'(-'.$number.')';
|
|
|
+// }
|
|
|
+// unset($rows[$key]['sczl_yjno']);
|
|
|
+// }
|
|
|
+// $data = [
|
|
|
+// 'total' => $total,
|
|
|
+// 'rows' => $rows,
|
|
|
+// ];
|
|
|
+// $this->success('成功',$data);
|
|
|
+// }
|
|
|
+
|
|
|
/**
|
|
|
* 获取工序大废品惩奖信息
|
|
|
* @ApiMethod (GET)
|
|
|
@@ -440,122 +708,111 @@ class LargeWasteRewardPunish extends Api
|
|
|
|
|
|
$param['mod_rq'] = date('Y-m-d H:i:s', time());
|
|
|
|
|
|
- $data = $param['sczl_rq'].' 00:00:00';
|
|
|
-
|
|
|
+// $data = $param['sczl_rq'].' 00:00:00';
|
|
|
// 奖励班组封顶限制【记录是否存在超限的标志】
|
|
|
- $over_limit = false;
|
|
|
-
|
|
|
+// $over_limit = false;
|
|
|
// 遍历 JL_bh1 ~ JL_bh10,检查当天和本月金额限制
|
|
|
- for ($i = 1; $i <= 10; $i++) {
|
|
|
- $jl_bh = 'JL_bh' . $i; // 获取 JL_bh1 到 JL_bh10
|
|
|
- $jl_je = 'JL_Je' . $i; // 获取 JL_Je1 到 JL_Je10
|
|
|
-
|
|
|
- if (!empty($param[$jl_bh]) && isset($param[$jl_je])) { // 确保 JL_bh 和 JL_Je 不为空
|
|
|
- $person_id = $param[$jl_bh]; // 当前人员的 ID
|
|
|
- $amount = $param[$jl_je]; // 当前人员的金额
|
|
|
-
|
|
|
- // 获取当天的所有记录金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
- ->sum($jl_je);
|
|
|
-
|
|
|
-
|
|
|
- $daUniqId = \db('db_大废品')
|
|
|
- ->where('UniqId', $param['UniqId'])
|
|
|
- ->sum($jl_je);
|
|
|
-
|
|
|
- // 将当天的金额总和与接口传过来的金额加起来
|
|
|
- $total_amount = ($daily_total + $amount) - $daUniqId; // 假设传入的是 JL_Je1
|
|
|
-
|
|
|
-
|
|
|
- // 检查金额是否超过 200 元
|
|
|
- if ($total_amount > 200) {
|
|
|
- $this->error("【{$person_id}】当天金额超限!当天金额不能超过 200 元!");
|
|
|
- $over_limit = true;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- // 获取当月的所有记录金额总和
|
|
|
- $month = substr($data, 5, 2);
|
|
|
- $year = substr($data, 0, 4);
|
|
|
- $start_date = $year . '-' . $month . '-01';
|
|
|
- $end_date = date('Y-m-t', strtotime($start_date));
|
|
|
- $monthly_total = \db('db_大废品')
|
|
|
- ->whereBetween('sczl_rq', [$start_date, $end_date])
|
|
|
- ->where($jl_bh, $person_id)
|
|
|
- ->sum($jl_je);
|
|
|
-
|
|
|
- // 检查本月是否超过 1500 元
|
|
|
- if ($monthly_total + $amount - $daUniqId > 1500) {
|
|
|
- $this->error("【{$person_id}】本月金额超限!本月金额不能超过 1500 元!");
|
|
|
- $over_limit = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // 如果存在超限,停止执行
|
|
|
- if ($over_limit) {
|
|
|
- return;
|
|
|
- }
|
|
|
+// for ($i = 1; $i <= 10; $i++) {
|
|
|
+// $jl_bh = 'JL_bh' . $i; // 获取 JL_bh1 到 JL_bh10
|
|
|
+// $jl_je = 'JL_Je' . $i; // 获取 JL_Je1 到 JL_Je10
|
|
|
+
|
|
|
+// if (!empty($param[$jl_bh]) && isset($param[$jl_je])) { // 确保 JL_bh 和 JL_Je 不为空
|
|
|
+// $person_id = $param[$jl_bh]; // 当前人员的 ID
|
|
|
+// $amount = $param[$jl_je]; // 当前人员的金额
|
|
|
+
|
|
|
+// // 获取当天的所有记录金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->sum($jl_je);
|
|
|
+//
|
|
|
+//
|
|
|
+// $daUniqId = \db('db_大废品')
|
|
|
+// ->where('UniqId', $param['UniqId'])
|
|
|
+// ->sum($jl_je);
|
|
|
+
|
|
|
+ // 将当天的金额总和与接口传过来的金额加起来
|
|
|
+// $total_amount = ($daily_total + $amount) - $daUniqId; // 假设传入的是 JL_Je1
|
|
|
+
|
|
|
+
|
|
|
+// // 检查金额是否超过 200 元
|
|
|
+// if ($total_amount > 200) {
|
|
|
+// $this->error("【{$person_id}】当天金额超限!当天金额不能超过 200 元!");
|
|
|
+// $over_limit = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+
|
|
|
+ // 获取当月的所有记录金额总和
|
|
|
+// $month = substr($data, 5, 2);
|
|
|
+// $year = substr($data, 0, 4);
|
|
|
+// $start_date = $year . '-' . $month . '-01';
|
|
|
+// $end_date = date('Y-m-t', strtotime($start_date));
|
|
|
+// $monthly_total = \db('db_大废品')
|
|
|
+// ->whereBetween('sczl_rq', [$start_date, $end_date])
|
|
|
+// ->where($jl_bh, $person_id)
|
|
|
+// ->sum($jl_je);
|
|
|
+// // 检查本月是否超过 1500 元
|
|
|
+// if ($monthly_total + $amount - $daUniqId > 1500) {
|
|
|
+// $this->error("【{$person_id}】本月金额超限!本月金额不能超过 1500 元!");
|
|
|
+// $over_limit = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 如果存在超限,停止执行
|
|
|
+// if ($over_limit) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
|
|
|
// 扣罚金额封顶限制
|
|
|
- $kfover_limit = false;
|
|
|
- // 检查 sczl_bh1 的限制(不能超过 1000 元)
|
|
|
- if (!empty($param['sczl_bh1']) && isset($param['sczl_je1'])) {
|
|
|
- $person_id = $param['sczl_bh1'];
|
|
|
- $amount = $param['sczl_je1'];
|
|
|
-
|
|
|
- // 获取该人员当天的扣罚金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
- ->where('sczl_bh1', $person_id)
|
|
|
- ->sum('sczl_je1');
|
|
|
-
|
|
|
- $daUniqId = \db('db_大废品')
|
|
|
- ->where('UniqId', $param['UniqId'])
|
|
|
- ->sum("sczl_je1");
|
|
|
-
|
|
|
- // 判断是否超过 1000 元
|
|
|
- if (($daily_total + $amount) - $daUniqId > 1000) {
|
|
|
- $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 1000 元!");
|
|
|
- $kfover_limit = true;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- // 遍历 sczl_bh2 ~ sczl_bh10,检查当天金额是否超过 500 元
|
|
|
- for ($i = 2; $i <= 10; $i++) {
|
|
|
- $sczl_bh = 'sczl_bh' . $i;
|
|
|
- $sczl_je = 'sczl_je' . $i;
|
|
|
-
|
|
|
- if (!empty($param[$sczl_bh]) && isset($param[$sczl_je])) {
|
|
|
- $person_id = $param[$sczl_bh];
|
|
|
- $amount = $param[$sczl_je];
|
|
|
-
|
|
|
- // 获取该人员当天的扣罚金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
-// ->where($sczl_bh, $person_id)
|
|
|
- ->sum($sczl_je);
|
|
|
-
|
|
|
- $daUniqId = \db('db_大废品')
|
|
|
- ->where('UniqId', $param['UniqId'])
|
|
|
- ->sum($sczl_je);
|
|
|
-
|
|
|
- $total_amount = ($daily_total + $amount) - $daUniqId; // 假设传入的是 JL_Je1
|
|
|
-
|
|
|
- // 判断是否超过 500 元
|
|
|
- if ($total_amount > 500) {
|
|
|
- $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 500 元!");
|
|
|
- $kfover_limit = true;
|
|
|
- break; // 如果超限,停止检查
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+// $kfover_limit = false;
|
|
|
+// // 检查 sczl_bh1 的限制(不能超过 1000 元)
|
|
|
+// if (!empty($param['sczl_bh1']) && isset($param['sczl_je1'])) {
|
|
|
+// $person_id = $param['sczl_bh1'];
|
|
|
+// $amount = $param['sczl_je1'];
|
|
|
+// // 获取该人员当天的扣罚金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->where('sczl_bh1', $person_id)
|
|
|
+// ->sum('sczl_je1');
|
|
|
+//
|
|
|
+// $daUniqId = \db('db_大废品')
|
|
|
+// ->where('UniqId', $param['UniqId'])
|
|
|
+// ->sum("sczl_je1");
|
|
|
+
|
|
|
+// // 判断是否超过 1000 元
|
|
|
+// if (($daily_total + $amount) - $daUniqId > 1000) {
|
|
|
+// $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 1000 元!");
|
|
|
+// $kfover_limit = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 遍历 sczl_bh2 ~ sczl_bh10,检查当天金额是否超过 500 元
|
|
|
+// for ($i = 2; $i <= 10; $i++) {
|
|
|
+// $sczl_bh = 'sczl_bh' . $i;
|
|
|
+// $sczl_je = 'sczl_je' . $i;
|
|
|
+// if (!empty($param[$sczl_bh]) && isset($param[$sczl_je])) {
|
|
|
+// $person_id = $param[$sczl_bh];
|
|
|
+// $amount = $param[$sczl_je];
|
|
|
+ // 获取该人员当天的扣罚金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->sum($sczl_je);
|
|
|
+// $daUniqId = \db('db_大废品')
|
|
|
+// ->where('UniqId', $param['UniqId'])
|
|
|
+// ->sum($sczl_je);
|
|
|
+// $total_amount = ($daily_total + $amount) - $daUniqId; // 假设传入的是 JL_Je1
|
|
|
+// // 判断是否超过 500 元
|
|
|
+// if ($total_amount > 500) {
|
|
|
+// $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 500 元!");
|
|
|
+// $kfover_limit = true;
|
|
|
+// break; // 如果超限,停止检查
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 如果超限就不插入数据
|
|
|
+// if ($kfover_limit) {
|
|
|
+// return; // 直接终止
|
|
|
+// }
|
|
|
|
|
|
- // 如果超限就不插入数据
|
|
|
- if ($kfover_limit) {
|
|
|
- return; // 直接终止
|
|
|
- }
|
|
|
// 执行更新操作
|
|
|
// unset($data['UniqId']);
|
|
|
$sql = \db('db_大废品')
|
|
|
@@ -594,104 +851,99 @@ class LargeWasteRewardPunish extends Api
|
|
|
$param['mod_rq'] = '1900-01-01 00:00:00';
|
|
|
$param['UniqId'] = $lastID + 1;
|
|
|
|
|
|
- $data = $param['sczl_rq'];
|
|
|
-
|
|
|
- //奖励班组封顶限制【记录是否存在超限的标志】
|
|
|
- $over_limit = false;
|
|
|
- // 遍历参数,检查每个人当天和本月的消费情况
|
|
|
- for ($i = 1; $i <= 10; $i++) {
|
|
|
- $jl_bh = 'JL_bh' . $i;
|
|
|
- $jl_je = 'JL_Je' . $i;
|
|
|
-
|
|
|
- if (!empty($param[$jl_bh]) && isset($param[$jl_je])) {
|
|
|
- $person_id = $param[$jl_bh];
|
|
|
- $amount = $param[$jl_je];
|
|
|
-
|
|
|
- // 获取当天的所有记录金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
- ->where($jl_bh, $person_id)
|
|
|
- ->sum($jl_je);
|
|
|
-
|
|
|
- // 获取当月的所有记录金额总和
|
|
|
- $month = substr($data, 5, 2);
|
|
|
- $year = substr($data, 0, 4);
|
|
|
- $start_date = $year . '-' . $month . '-01';
|
|
|
- $end_date = date('Y-m-t', strtotime($start_date));
|
|
|
- $monthly_total = \db('db_大废品')
|
|
|
- ->whereBetween('sczl_rq', [$start_date, $end_date])
|
|
|
- ->where($jl_bh, $person_id)
|
|
|
- ->sum($jl_je);
|
|
|
-
|
|
|
-
|
|
|
- // 检查当天是否超过 200
|
|
|
- if ($daily_total + ($amount * $param['sczl_cl']) > 200) {
|
|
|
- $this->error("【{$person_id}】当天金额超限!当天金额不能超过200元!");
|
|
|
- $over_limit = true;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- // 检查本月是否超过 1500
|
|
|
- if ($monthly_total + ($amount * $param['sczl_cl']) > 1500) {
|
|
|
- $this->error("【{$person_id}】本月金额超限!本月金额不能超过1500元!");
|
|
|
- $over_limit = true;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // 如果超限就不插入数据
|
|
|
- if ($over_limit) {
|
|
|
- // 提示超限后停止执行
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- // 记录是否存在超限
|
|
|
- $kfover_limit = false;
|
|
|
- // 获取 sczl_bh1 的值,并检查它是否存在
|
|
|
- if (!empty($param['sczl_bh1']) && isset($param['sczl_je1'])) {
|
|
|
- $person_id = $param['sczl_bh1'];
|
|
|
- $amount = $param['sczl_je1'];
|
|
|
-
|
|
|
- // 获取该人员当天的扣罚金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
- ->where('sczl_bh1', $person_id)
|
|
|
- ->sum('sczl_je1');
|
|
|
-
|
|
|
- // 判断是否超过 1000
|
|
|
- if ($daily_total + ($amount * $param['sczl_cl']) > 1000) {
|
|
|
- $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 1000 元!");
|
|
|
- $kfover_limit = true;
|
|
|
- }
|
|
|
- }
|
|
|
- // 遍历 sczl_bh2 ~ sczl_bh10
|
|
|
- for ($i = 2; $i <= 10; $i++) {
|
|
|
- $sczl_bh = 'sczl_bh' . $i;
|
|
|
- $sczl_je = 'sczl_je' . $i;
|
|
|
-
|
|
|
- if (!empty($param[$sczl_bh]) && isset($param[$sczl_je])) {
|
|
|
- $person_id = $param[$sczl_bh];
|
|
|
- $amount = $param[$sczl_je];
|
|
|
-
|
|
|
- // 获取该人员当天的扣罚金额总和
|
|
|
- $daily_total = \db('db_大废品')
|
|
|
- ->where('sczl_rq', $data)
|
|
|
- ->where($sczl_bh, $person_id)
|
|
|
- ->sum($sczl_je);
|
|
|
-
|
|
|
- // 判断是否超过 500
|
|
|
- if ($daily_total + ($amount * $param['sczl_cl']) > 500) {
|
|
|
- $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 500 元!");
|
|
|
- $kfover_limit = true;
|
|
|
- break; // 只要有一个超限就停止检查
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- // 如果超限就不插入数据
|
|
|
- if ($kfover_limit) {
|
|
|
- return; // 直接终止
|
|
|
- }
|
|
|
+// $data = $param['sczl_rq'];
|
|
|
+// //奖励班组封顶限制【记录是否存在超限的标志】
|
|
|
+// $over_limit = false;
|
|
|
+// // 遍历参数,检查每个人当天和本月的消费情况
|
|
|
+// for ($i = 1; $i <= 10; $i++) {
|
|
|
+// $jl_bh = 'JL_bh' . $i;
|
|
|
+// $jl_je = 'JL_Je' . $i;
|
|
|
+//
|
|
|
+// if (!empty($param[$jl_bh]) && isset($param[$jl_je])) {
|
|
|
+// $person_id = $param[$jl_bh];
|
|
|
+// $amount = $param[$jl_je];
|
|
|
+//
|
|
|
+// // 获取当天的所有记录金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->where($jl_bh, $person_id)
|
|
|
+// ->sum($jl_je);
|
|
|
+//
|
|
|
+// // 获取当月的所有记录金额总和
|
|
|
+// $month = substr($data, 5, 2);
|
|
|
+// $year = substr($data, 0, 4);
|
|
|
+// $start_date = $year . '-' . $month . '-01';
|
|
|
+// $end_date = date('Y-m-t', strtotime($start_date));
|
|
|
+// $monthly_total = \db('db_大废品')
|
|
|
+// ->whereBetween('sczl_rq', [$start_date, $end_date])
|
|
|
+// ->where($jl_bh, $person_id)
|
|
|
+// ->sum($jl_je);
|
|
|
+// // 检查当天是否超过 200
|
|
|
+// if ($daily_total + ($amount * $param['sczl_cl']) > 200) {
|
|
|
+// $this->error("【{$person_id}】当天金额超限!当天金额不能超过200元!");
|
|
|
+// $over_limit = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 检查本月是否超过 1500
|
|
|
+// if ($monthly_total + ($amount * $param['sczl_cl']) > 1500) {
|
|
|
+// $this->error("【{$person_id}】本月金额超限!本月金额不能超过1500元!");
|
|
|
+// $over_limit = true;
|
|
|
+// break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 如果超限就不插入数据
|
|
|
+// if ($over_limit) {
|
|
|
+// // 提示超限后停止执行
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// // 记录是否存在超限
|
|
|
+// $kfover_limit = false;
|
|
|
+// // 获取 sczl_bh1 的值,并检查它是否存在
|
|
|
+// if (!empty($param['sczl_bh1']) && isset($param['sczl_je1'])) {
|
|
|
+// $person_id = $param['sczl_bh1'];
|
|
|
+// $amount = $param['sczl_je1'];
|
|
|
+//
|
|
|
+// // 获取该人员当天的扣罚金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->where('sczl_bh1', $person_id)
|
|
|
+// ->sum('sczl_je1');
|
|
|
+//
|
|
|
+// // 判断是否超过 1000
|
|
|
+// if ($daily_total + ($amount * $param['sczl_cl']) > 1000) {
|
|
|
+// $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 1000 元!");
|
|
|
+// $kfover_limit = true;
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 遍历 sczl_bh2 ~ sczl_bh10
|
|
|
+// for ($i = 2; $i <= 10; $i++) {
|
|
|
+// $sczl_bh = 'sczl_bh' . $i;
|
|
|
+// $sczl_je = 'sczl_je' . $i;
|
|
|
+//
|
|
|
+// if (!empty($param[$sczl_bh]) && isset($param[$sczl_je])) {
|
|
|
+// $person_id = $param[$sczl_bh];
|
|
|
+// $amount = $param[$sczl_je];
|
|
|
+//
|
|
|
+// // 获取该人员当天的扣罚金额总和
|
|
|
+// $daily_total = \db('db_大废品')
|
|
|
+// ->where('sczl_rq', $data)
|
|
|
+// ->where($sczl_bh, $person_id)
|
|
|
+// ->sum($sczl_je);
|
|
|
+//
|
|
|
+// // 判断是否超过 500
|
|
|
+// if ($daily_total + ($amount * $param['sczl_cl']) > 500) {
|
|
|
+// $this->error("【{$person_id}】当天扣罚金额超限!当天扣罚金额不能超过 500 元!");
|
|
|
+// $kfover_limit = true;
|
|
|
+// break; // 只要有一个超限就停止检查
|
|
|
+// }
|
|
|
+// }
|
|
|
+// }
|
|
|
+// // 如果超限就不插入数据
|
|
|
+// if ($kfover_limit) {
|
|
|
+// return; // 直接终止
|
|
|
+// }
|
|
|
|
|
|
// 插入数据
|
|
|
$sql = \db('db_大废品')->fetchSql(true)->insert($param);
|