qa-ifish7/web/Application/Home/Controller/IndexController.class.php

1093 lines
53 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace Home\Controller;
use Think\Controller;
class IndexController extends BaseController
{
//获取操作工 工种
public function opGetType()
{
$data = D('task_flow')->where(array('pre_num' => array('neq', 0), 'is_complete' => 0, 'status'=>1))->field('type_id,type_name')->order('task_flow_id')->group('type_id')->select();
$this->success($data);
}
//获取操作工 工种-工序
public function opGetCraft()
{
$type_id = I('type_id');
$data = D('task_flow')->where(array('pre_num' => array('neq', 0), 'is_complete' => 0, 'type_id' => $type_id, 'status'=>1))->field('flow_craft_id,craft_name,type_id,craft_id')->order('task_flow_id')->group('craft_id')->select();
$this->success($data);
}
//获取操作工 工种-工序-产品
public function opGetProduct()
{
// $type_id = I('type_id');
$craft_id = I('craft_id');
$data = D('task_flow')->where(array('pre_num' => array('neq', 0), 'is_complete' => 0, 'craft_id'=>$craft_id, 'status'=>1))->field('product_id,product_name,product_desc,flow_craft_id')->order('task_flow_id')->group('product_id')->select();
$this->success($data);
}
//获取操作工 工种-工序-产品-任务
public function opGetTask()
{
$product_id = I('product_id');
$flow_craft_id = I('flow_craft_id');
$data = D('task_flow')->where(array('pre_num' => array('neq', 0), 'is_complete' => 0, 'product_id' => $product_id, 'flow_craft_id' => $flow_craft_id, 'status'=>1))->field('task_flow_id, task_name, task_time, task_id')->order('task_flow_id')->select();
foreach ($data as $k => $v) {
$data[$k]['task_time'] = date('Y.m.d', $data[$k]['task_time']);
$task_data = D('task')->find($v['task_id']);
$data[$k]['sub_name'] = '';
if($task_data['is_sub']==1){
$data[$k]['sub_name'] = $data[$k]['task_name'];
$data[$k]['task_name'] = D('task')->find($task_data['task_id_pro'])['task_name'];
}
}
$this->success($data);
}
//操作工添加 计划数 同时增加子任务
public function opAddSubTask()
{
$subtask_plan_num = I('subtask_plan_num');
$task_flow_id = I('task_flow_id');
$task_flow_data = D('task_flow')->find($task_flow_id);
$origin_pre_num = $task_flow_data['pre_num'];
if ($subtask_plan_num > $task_flow_data['pre_num']) {
$this->error('计划数量超标,最多' . $task_flow_data['pre_num'] . '件');
}
if($subtask_plan_num < 1){
$this->error('计划数量不能小于1件');
}
$is_sub = I('is_sub');
if($is_sub != 'false'){
$sub_name = I('sub_name');
if(!$sub_name){
$this->error('开启子任务,子任务单号不能为空');
}
$task_id = D('task_flow')->where(array('task_flow_id' => $task_flow_id))->find()['task_id'];
$order_id = D('task_flow')->where(array('task_flow_id' => $task_flow_id))->find()['order_id'];
$task_data0 = D('task')->find($task_id);
unset($task_data0['task_id']);
$task_data0['is_sub'] = 1;
$task_data0['task_product_num'] = $subtask_plan_num;
$task_data0['task_id_pro'] = $task_id;
$task_data0['task_who_add'] = $this->user_id;
$addTime = time();
$task_data0['task_time_add'] = $addTime;
$task_data0['task_name'] = $sub_name;
$task_data0['sub_num'] = 0;
$new_task_id = D('task')->add($task_data0);
$task_flow_data0 = D('task_flow')->where(array('task_id'=>$task_id))->order('order_id')->select();
foreach ($task_flow_data0 as $k=>$v){
$new_flow_data = $v;
unset($new_flow_data['task_flow_id']);
$new_flow_data['task_id'] = $new_task_id;
$new_flow_data['task_name'] = $sub_name;
$new_flow_data['task_time'] = $addTime;
D('task_flow')->add($new_flow_data);
}
D('task_flow')->where(array('task_flow_id' => $task_flow_id))->save(array('pre_num'=>$origin_pre_num-$subtask_plan_num));
D('task')->where(array('task_id'=>$task_id))->save(array('sub_num'=>$task_data0['sub_num'] + $subtask_plan_num));
D('task_flow')->where(array('task_id' => $new_task_id, 'order_id'=>$order_id))->save(array('pre_num'=>$subtask_plan_num,'pass_num'=>0,'is_complete'=>0));
D('task_flow')->where(array('task_id' => $new_task_id, 'order_id'=>array('lt',$order_id)))->save(array('pre_num'=>0,'pass_num'=>$subtask_plan_num,'is_complete'=>1));
D('task_flow')->where(array('task_id' => $new_task_id, 'order_id'=>array('gt',$order_id)))->save(array('pre_num'=>0,'pass_num'=>0,'is_complete'=>0));
$task_flow_id = D('task_flow')->where(array('task_id' => $new_task_id, 'order_id'=>$order_id))->find()['task_flow_id'];
$task_flow_data = D('task_flow')->find($task_flow_id);
}
$subtask_time_add = time();
$subtask_operator_id = $this->user_id;
$operator_name = D('user')->find($this->user_id)['user_name'];
$task_id = D('task_flow')->where(array('task_flow_id' => $task_flow_id))->find()['task_id'];
$task_sub_id = D('task_sub')->add(
array(
'task_id' => $task_id,
'task_flow_id' => $task_flow_id,
'subtask_time_add' => $subtask_time_add,
'subtask_plan_num' => $subtask_plan_num,
'subtask_operator_id' => $subtask_operator_id,
'operator_name' => $operator_name,
'craft_id' => $task_flow_data['craft_id'],
'type_id' => $task_flow_data['type_id'],
'type_name' => $task_flow_data['type_name'],
'flow_craft_id' => $task_flow_data['flow_craft_id'],
'craft_name' => $task_flow_data['craft_name'],
));
if (!$task_sub_id) {
$this->error('计划失败,请联系管理员!');
}
//在task_flow中总数量 减去 计划数量
if($is_sub == 'false') {
$task_flow_data['pre_num'] = $task_flow_data['pre_num'] - $subtask_plan_num;
D('task_flow')->save($task_flow_data);
}
$this->success($task_sub_id);
}
//操作工添加 完成数 结算task_flow 多退少补
public function opCompleteSubTask()
{
$task_sub_id = I('task_sub_id');
$task_sub_data = D('task_sub')->find($task_sub_id);
$subtask_complete_num = I('subtask_complete_num');
if ($subtask_complete_num > $task_sub_data['subtask_plan_num']) {
$this->error('完成数量不能大于计划数量!');
} else {
if ($task_sub_data['subtask_complete_num'] == 0) {
$diff_num = $task_sub_data['subtask_plan_num'] - $subtask_complete_num;
$save['subtask_complete_num'] = $subtask_complete_num;
$save['subtask_id'] = $task_sub_id;
D('task_sub')->save($save);
$task_flow_data = D('task_flow')->find($task_sub_data['task_flow_id']);
$task_flow_save['pre_num'] = $task_flow_data['pre_num'] + $diff_num;
$task_flow_save['task_flow_id'] = $task_sub_data['task_flow_id'];
D('task_flow')->save($task_flow_save);
} else {
$diff_num = $task_sub_data['subtask_complete_num'] - $subtask_complete_num;
$save['subtask_complete_num'] = $subtask_complete_num;
$save['subtask_id'] = $task_sub_id;
D('task_sub')->save($save);
$task_flow_data = D('task_flow')->find($task_sub_data['task_flow_id']);
$task_flow_save['pre_num'] = $task_flow_data['pre_num'] + $diff_num;
$task_flow_save['task_flow_id'] = $task_sub_data['task_flow_id'];
D('task_flow')->save($task_flow_save);
}
$this->success('本次子任务完成!');
}
}
//获取子任务相关信息
public function getSubTaskInfo()
{
$subtask_id = I('subtask_id');
$subtask_data = D('task_sub')->find($subtask_id);
$task_flow_data = D('task_flow')->find($subtask_data['task_flow_id']);
$task_flow_data['product_type'] = D('product')->find($task_flow_data['product_id'])['product_type'];
$param_data = D('craft_param')->where(array('flow_craft_id' => $task_flow_data['flow_craft_id']))->order('param_id')->select();
$task_flow_data['task_time'] = date('Y年m月d日', $task_flow_data['task_time']);
foreach ($param_data as $k => $v) {
$param_data[$k]['param_diff_up'] = floatval($param_data[$k]['param_diff_up']);
$param_data[$k]['param_diff_down'] = floatval($param_data[$k]['param_diff_down']);
$param_data[$k]['param_base'] = floatval($param_data[$k]['param_base']);
}
$firstAllData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id, 'user_id' => $this->user_id))->order('order_id desc')->select();
$first = array();
if ($firstAllData) {
$order_id_arr = array();
foreach ($firstAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$firstData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->select();
foreach ($firstData as $k => $v) {
$firstData[$k]['record_data'] = floatval($firstData[$k]['record_data']);
$firstData[$k]['record_data1'] = floatval($firstData[$k]['record_data1']);
$firstData[$k]['record_data2'] = floatval($firstData[$k]['record_data2']);
$firstData[$k]['record_data3'] = floatval($firstData[$k]['record_data3']);
$firstData[$k]['record_data4'] = floatval($firstData[$k]['record_data4']);
}
foreach ($firstData as $k => $v) {
$first[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$first[$v['order_id']]['time'] = $v['record_time'];
}
}
$lastData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id, 'user_id' => $this->user_id))->select();
foreach ($lastData as $k => $v) {
$lastData[$k]['record_data'] = floatval($v['record_data']);
$lastData[$k]['record_data1'] = floatval($v['record_data1']);
$lastData[$k]['record_data2'] = floatval($v['record_data2']);
$lastData[$k]['record_data3'] = floatval($v['record_data3']);
$lastData[$k]['record_data4'] = floatval($v['record_data4']);
}
$last = array();
if ($lastData) {
foreach ($lastData as $k => $v) {
$last[$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$last['time'] = $v['record_time'];
}
}
$check = array();
$checkAllData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id, 'user_id' => $this->user_id))->order('order_id desc')->select();
if ($checkAllData) {
$order_id_arr = array();
foreach ($checkAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$checkData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id, 'user_id' => $this->user_id, 'order_id' => array('in', $order_id_arr)))->select();
foreach ($checkData as $k => $v) {
$checkData[$k]['record_data'] = floatval($checkData[$k]['record_data']);
$checkData[$k]['record_data1'] = floatval($checkData[$k]['record_data1']);
$checkData[$k]['record_data2'] = floatval($checkData[$k]['record_data2']);
$checkData[$k]['record_data3'] = floatval($checkData[$k]['record_data3']);
$checkData[$k]['record_data4'] = floatval($checkData[$k]['record_data4']);
}
foreach ($checkData as $k => $v) {
$check[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$check[$v['order_id']]['time'] = $v['record_time'];
}
}
$data = array();
$data['task'] = $subtask_data;
$data['flow'] = $task_flow_data;
$data['param'] = $param_data;
$data['first'] = $first;
$data['last'] = $last;
$data['check'] = $check;
$this->success($data);
}
//获取子任务相关信息
public function getSubTaskInfoOther()
{
$subtask_id = I('subtask_id');
$subtask_data = D('task_sub')->find($subtask_id);
$where = array();
if ($subtask_data['subtask_qc_id']) {
$where['user_id'] = $subtask_data['subtask_qc_id'];
}
$task_flow_data = D('task_flow')->find($subtask_data['task_flow_id']);
$param_data = D('craft_param')->where(array('flow_craft_id' => $task_flow_data['flow_craft_id']))->order('param_id')->select();
$task_flow_data['task_time'] = date('Y年m月d日', $task_flow_data['task_time']);
foreach ($param_data as $k => $v) {
$param_data[$k]['param_diff_up'] = floatval($param_data[$k]['param_diff_up']);
$param_data[$k]['param_diff_down'] = floatval($param_data[$k]['param_diff_down']);
$param_data[$k]['param_base'] = floatval($param_data[$k]['param_base']);
}
$firstAllData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
$first = array();
if ($firstAllData) {
$order_id_arr = array();
foreach ($firstAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$firstData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($firstData as $k => $v) {
$firstData[$k]['record_data'] = floatval($firstData[$k]['record_data']);
$firstData[$k]['record_data1'] = floatval($firstData[$k]['record_data1']);
$firstData[$k]['record_data2'] = floatval($firstData[$k]['record_data2']);
$firstData[$k]['record_data3'] = floatval($firstData[$k]['record_data3']);
$firstData[$k]['record_data4'] = floatval($firstData[$k]['record_data4']);
}
foreach ($firstData as $k => $v) {
$first[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$first[$v['order_id']]['time'] = $v['record_time'];
}
}
$lastData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id))->where($where)->select();
foreach ($lastData as $k => $v) {
$lastData[$k]['record_data'] = floatval($lastData[$k]['record_data']);
$lastData[$k]['record_data1'] = floatval($v['record_data1']);
$lastData[$k]['record_data2'] = floatval($v['record_data2']);
$lastData[$k]['record_data3'] = floatval($v['record_data3']);
$lastData[$k]['record_data4'] = floatval($v['record_data4']);
}
$last = array();
if ($lastData) {
foreach ($lastData as $k => $v) {
$last[$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$last['time'] = $v['record_time'];
}
}
$check = array();
$checkAllData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
if ($checkAllData) {
$order_id_arr = array();
foreach ($checkAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$checkData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($checkData as $k => $v) {
$checkData[$k]['record_data'] = floatval($checkData[$k]['record_data']);
$checkData[$k]['record_data1'] = floatval($checkData[$k]['record_data1']);
$checkData[$k]['record_data2'] = floatval($checkData[$k]['record_data2']);
$checkData[$k]['record_data3'] = floatval($checkData[$k]['record_data3']);
$checkData[$k]['record_data4'] = floatval($checkData[$k]['record_data4']);
}
foreach ($checkData as $k => $v) {
$check[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$check[$v['order_id']]['time'] = $v['record_time'];
}
}
$data = array();
$data['task'] = $subtask_data;
$data['flow'] = $task_flow_data;
$data['param'] = $param_data;
$data['first'] = $first;
$data['last'] = $last;
$data['check'] = $check;
$this->success($data);
}
//获取子任务相关信息
public function getSubTaskInfoOther1()
{
$subtask_id = I('subtask_id');
$subtask_data = D('task_sub')->find($subtask_id);
$where = array();
if ($subtask_data['subtask_qc_id']) {
$where['user_id'] = $subtask_data['subtask_qc_id'];
}
$task_flow_data = D('task_flow')->find($subtask_data['task_flow_id']);
$task_flow_data['product_name'] = D('product')->find($task_flow_data['product_id'])['product_type'];
$param_data = D('craft_param')->where(array('flow_craft_id' => $task_flow_data['flow_craft_id']))->order('param_id')->select();
$task_flow_data['task_time'] = date('Y年m月d日', $task_flow_data['task_time']);
foreach ($param_data as $k => $v) {
$param_data[$k]['param_diff_up'] = floatval($param_data[$k]['param_diff_up']);
$param_data[$k]['param_diff_down'] = floatval($param_data[$k]['param_diff_down']);
$param_data[$k]['param_base'] = floatval($param_data[$k]['param_base']);
}
$firstAllData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
$first = array();
if ($firstAllData) {
$order_id_arr = array();
foreach ($firstAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$firstData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($firstData as $k => $v) {
$firstData[$k]['record_data'] = floatval($firstData[$k]['record_data']);
$firstData[$k]['record_data1'] = floatval($firstData[$k]['record_data1']);
$firstData[$k]['record_data2'] = floatval($firstData[$k]['record_data2']);
$firstData[$k]['record_data3'] = floatval($firstData[$k]['record_data3']);
$firstData[$k]['record_data4'] = floatval($firstData[$k]['record_data4']);
}
foreach ($firstData as $k => $v) {
$first[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$first[$v['order_id']]['time'] = $v['record_time'];
}
}
$lastAllData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
$last = array();
if ($lastAllData) {
$order_id_arr = array();
foreach ($lastAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$lastData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($lastData as $k => $v) {
$lastData[$k]['record_data'] = floatval($lastData[$k]['record_data']);
$lastData[$k]['record_data1'] = floatval($v['record_data1']);
$lastData[$k]['record_data2'] = floatval($v['record_data2']);
$lastData[$k]['record_data3'] = floatval($v['record_data3']);
$lastData[$k]['record_data4'] = floatval($v['record_data4']);
}
foreach ($lastData as $k => $v) {
$last[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$last[$v['order_id']]['time'] = $v['record_time'];
}
}
$check = array();
$checkAllData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
if ($checkAllData) {
$order_id_arr = array();
foreach ($checkAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$checkData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($checkData as $k => $v) {
$checkData[$k]['record_data'] = floatval($checkData[$k]['record_data']);
$checkData[$k]['record_data1'] = floatval($checkData[$k]['record_data1']);
$checkData[$k]['record_data2'] = floatval($checkData[$k]['record_data2']);
$checkData[$k]['record_data3'] = floatval($checkData[$k]['record_data3']);
$checkData[$k]['record_data4'] = floatval($checkData[$k]['record_data4']);
}
foreach ($checkData as $k => $v) {
$check[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id']);
$check[$v['order_id']]['time'] = $v['record_time'];
}
}
$data = array();
$data['task'] = $subtask_data;
$data['flow'] = $task_flow_data;
$data['param'] = $param_data;
$data['first'] = $first;
$data['last'] = $last;
$data['check'] = $check;
$this->success($data);
}
//获取子任务相关信息
public function getSubTaskInfoAll()
{
$subtask_id = I('subtask_id');
$subtask_data = D('task_sub')->find($subtask_id);
$where = array();
// if ($subtask_data['subtask_qc_id']) {
// $where['user_id'] = $subtask_data['subtask_qc_id'];
// }
$task_flow_data = D('task_flow')->find($subtask_data['task_flow_id']);
$param_data = D('craft_param')->where(array('flow_craft_id' => $task_flow_data['flow_craft_id']))->order('param_id')->select();
$task_flow_data['task_time'] = date('Y年m月d日', $task_flow_data['task_time']);
foreach ($param_data as $k => $v) {
$param_data[$k]['param_diff_up'] = (int)$param_data[$k]['param_diff_up'];
$param_data[$k]['param_diff_down'] = (int)$param_data[$k]['param_diff_down'];
$param_data[$k]['param_base'] = floatval($param_data[$k]['param_base']);
}
$firstAllData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
$first = array();
if ($firstAllData) {
$order_id_arr = array();
foreach ($firstAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$firstData = D('task_sub_record')->where(array('record_type' => 0, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($firstData as $k => $v) {
$firstData[$k]['record_data'] = floatval($firstData[$k]['record_data']);
$firstData[$k]['record_data1'] = floatval($firstData[$k]['record_data1']);
$firstData[$k]['record_data2'] = floatval($firstData[$k]['record_data2']);
$firstData[$k]['record_data3'] = floatval($firstData[$k]['record_data3']);
$firstData[$k]['record_data4'] = floatval($firstData[$k]['record_data4']);
}
foreach ($firstData as $k => $v) {
$user_name = D('user')->find($v['user_id'])['user_name'];
$first[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id'], $user_name);
$first[$v['order_id']]['time'] = $v['record_time'];
}
}
$lastAllData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
$last = array();
if ($lastAllData) {
$order_id_arr = array();
foreach ($lastAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$lastData = D('task_sub_record')->where(array('record_type' => 2, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($lastData as $k => $v) {
$lastData[$k]['record_data'] = floatval($lastData[$k]['record_data']);
$lastData[$k]['record_data1'] = floatval($v['record_data1']);
$lastData[$k]['record_data2'] = floatval($v['record_data2']);
$lastData[$k]['record_data3'] = floatval($v['record_data3']);
$lastData[$k]['record_data4'] = floatval($v['record_data4']);
}
foreach ($lastData as $k => $v) {
$user_name = D('user')->find($v['user_id'])['user_name'];
$last[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id'], $user_name);
$last[$v['order_id']]['time'] = $v['record_time'];
}
}
$check = array();
$checkAllData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id))->where($where)->order('order_id desc')->select();
if ($checkAllData) {
$order_id_arr = array();
foreach ($checkAllData as $k0 => $v0) {
$order_id_arr[] = $v0['order_id'];
}
$checkData = D('task_sub_record')->where(array('record_type' => 1, 'subtask_id' => $subtask_id, 'order_id' => array('in', $order_id_arr)))->where($where)->select();
foreach ($checkData as $k => $v) {
$checkData[$k]['record_data'] = floatval($checkData[$k]['record_data']);
$checkData[$k]['record_data1'] = floatval($checkData[$k]['record_data1']);
$checkData[$k]['record_data2'] = floatval($checkData[$k]['record_data2']);
$checkData[$k]['record_data3'] = floatval($checkData[$k]['record_data3']);
$checkData[$k]['record_data4'] = floatval($checkData[$k]['record_data4']);
}
foreach ($checkData as $k => $v) {
$user_name = D('user')->find($v['user_id'])['user_name'];
$check[$v['order_id']][$v['param_id']] = array(array($v['record_data'], $v['record_data1'], $v['record_data2'], $v['record_data3'], $v['record_data4']), $v['is_pass'], $v['record_id'], $user_name);
$check[$v['order_id']]['time'] = $v['record_time'];
}
}
$data = array();
$data['task'] = $subtask_data;
$data['flow'] = $task_flow_data;
$data['param'] = $param_data;
$data['first'] = $first;
$data['last'] = $last;
$data['check'] = $check;
$this->success($data);
}
public function addRecord()
{
$data = file_get_contents('php://input');
$data = json_decode($data, true);
$record_type = $data['record_type'];
$subtask_id = $data['subtask_id'];
$subtask_data = D('task_sub')->find($subtask_id);
$task_flow_data = D('task_flow')->find($subtask_data['task_flow_id']);
$user_id = $this->user_id;
$record = $data['record'];
$res = '';
$addData = array();
$addData['record_type'] = $record_type;
$addData['subtask_id'] = $subtask_id;
$addData['user_id'] = $user_id;
$addData['task_id'] = $task_flow_data['task_id'];
$addData['user_id'] = $user_id;
$addData['task_flow_id'] = $task_flow_data['task_flow_id'];
$addData['record_time'] = date('m.d', time());
$dataExit = D('task_sub_record')->where(array('subtask_id' => $subtask_id))->order('order_id desc')->find();
if ($record_type == 2) {
if (D('task_sub_record')->where(array('subtask_id' => $subtask_id, 'record_type' => $record_type, 'user_id' => $user_id))->order('order_id desc')->find()) {
$this->error("数据已存在,不可以重复添加");
}
}
if ($dataExit) {
$addData['order_id'] = $dataExit['order_id'] + 1;
} else {
$addData['order_id'] = 1;
}
foreach ($record as $k => $v) {
$paramData = D('craft_param')->find($k);
if (!is_numeric($v[0])) {
$addData['is_pass'] = "合格";
} else {
$addData['is_pass'] = "合格";
if ($v[0] < $paramData['param_base'] + $paramData['param_diff_down'] || $v[0] > $paramData['param_base'] + $paramData['param_diff_up']) {
$addData['is_pass'] = "不合格";
}
if ($v[1] < $paramData['param_base'] + $paramData['param_diff_down'] || $v[1] > $paramData['param_base'] + $paramData['param_diff_up']) {
$addData['is_pass'] = "不合格";
}
if ($v[2] < $paramData['param_base'] + $paramData['param_diff_down'] || $v[2] > $paramData['param_base'] + $paramData['param_diff_up']) {
$addData['is_pass'] = "不合格";
}
if ($v[3] < $paramData['param_base'] + $paramData['param_diff_down'] || $v[3] > $paramData['param_base'] + $paramData['param_diff_up']) {
$addData['is_pass'] = "不合格";
}
if ($v[4] < $paramData['param_base'] + $paramData['param_diff_down'] || $v[4] > $paramData['param_base'] + $paramData['param_diff_up']) {
$addData['is_pass'] = "不合格";
}
}
$addData['param_id'] = $k;
$addData['record_data'] = $v[0];
$addData['record_data1'] = $v[1];
$addData['record_data2'] = $v[2];
$addData['record_data3'] = $v[3];
$addData['record_data4'] = $v[4];
D('task_sub_record')->add($addData);
}
$this->success($res);
}
public function modifyRecord()
{
$data = file_get_contents('php://input');
$data = json_decode($data, true);
unset($data['time']);
foreach ($data as $k => $v) {
$saveData['record_id'] = $v[2];
$saveData['record_data'] = $v[0][0];
$saveData['record_data1'] = $v[0][1];
$saveData['record_data2'] = $v[0][2];
$saveData['record_data3'] = $v[0][3];
$saveData['record_data4'] = $v[0][4];
$paramData = D('craft_param')->find($k);
if (!is_numeric($v[0][0])) {
$saveData['is_pass'] = "合格";
} else {
$saveData['is_pass'] = "合格";
if (floatval($v[0][0]) < $paramData['param_base'] + $paramData['param_diff_down'] || floatval($v[0][0]) > $paramData['param_base'] + $paramData['param_diff_up']) {
$saveData['is_pass'] = "不合格";
}
if (floatval($v[0][1]) < $paramData['param_base'] + $paramData['param_diff_down'] || floatval($v[0][1]) > $paramData['param_base'] + $paramData['param_diff_up']) {
$saveData['is_pass'] = "不合格";
}
if (floatval($v[0][2]) < $paramData['param_base'] + $paramData['param_diff_down'] || floatval($v[0][2]) > $paramData['param_base'] + $paramData['param_diff_up']) {
$saveData['is_pass'] = "不合格";
}
if (floatval($v[0][3]) < $paramData['param_base'] + $paramData['param_diff_down'] || floatval($v[0][3]) > $paramData['param_base'] + $paramData['param_diff_up']) {
$saveData['is_pass'] = "不合格";
}
if (floatval($v[0][4]) < $paramData['param_base'] + $paramData['param_diff_down'] || floatval($v[0][4]) > $paramData['param_base'] + $paramData['param_diff_up']) {
$saveData['is_pass'] = "不合格";
}
}
// if ($v[0] >= $paramData['param_base'] + $paramData['param_diff_down'] && $v[0] <= $paramData['param_base'] + $paramData['param_diff_up']) {
// $saveData['is_pass'] = "合格";
// } else {
// $saveData['is_pass'] = "不合格";
// }
D('task_sub_record')->save($saveData);
}
$this->success($data);
}
public function deleteRecord()
{
$data = file_get_contents('php://input');
$data = json_decode($data, true);
unset($data['time']);
foreach ($data as $k => $v) {
D('task_sub_record')->delete($v[2]);
}
$this->success($data);
}
//获取质检员 工种
public function qcGetType()
{
$data = D('task_sub')->where(array('subtask_tonext_num' => 0))->field('type_id,type_name')->order('subtask_id')->group('type_id')->select();
$this->success($data);
}
//获取质检员 工种-工序
public function qcGetCraft()
{
$type_id = I('type_id');
$data = D('task_sub')->where(array('subtask_tonext_num' => 0, 'type_id' => $type_id))->field('flow_craft_id,craft_name')->order('subtask_id')->group('craft_id')->select();
$this->success($data);
}
//获取质检员 工种-工序-操作工
public function qcGetOperator()
{
$flow_craft_id = I('flow_craft_id');
$craft_id = D('flow_craft')->find($flow_craft_id)['craft_id'];
$data = D('task_sub')->where(array('subtask_tonext_num' => 0, 'craft_id' => $craft_id))->field('subtask_id,operator_name,task_id,subtask_time_add')->order('subtask_id')->select();
foreach ($data as $k=>$v){
$thisData = D('task')->find($v['task_id']);
$time = date('Y-m-d', $data[$k]['subtask_time_add']);
// $data[$k]['operator_name'] = $data[$k]['operator_name'] . '('.$thisData['task_name'].')';
if($thisData['is_sub']==0){
$data[$k]['operator_name'] = $data[$k]['operator_name'] . '['.$time.'] -- ('.$thisData['task_name'].')';
}
else{
$subName = D('task')->where(array('task_id'=>$thisData['task_id_pro']))->find()['task_name'];
$data[$k]['operator_name'] = $data[$k]['operator_name'] . '['.$time.'] -- ('.$thisData['task_name'].') -- ' . $subName;
}
}
$this->success($data);
}
//质检员填写小计
public function qcXiaoji()
{
$data = file_get_contents('php://input');
$data = json_decode($data, true);
if ($data['subtask_tonext_num'] < $data['subtask_pass_num']) {
$this->error("流转数不能小于合格数");
}
// if ($data['subtask_tonext_num'] > $data['subtask_complete_num']) {
// $this->error("流转数不能大于完成数");
// }
$flow_craft_id = $data['flow_craft_id'];
$data['subtask_qc_id'] = $this->user_id;
$data['qc_name'] = D('user')->find($this->user_id)['user_name'];
$data['subtask_time_qc'] = time();
$data['subtask_pass_rate'] = ($data['subtask_pass_num'] * 1.0000) / ($data['subtask_complete_num'] * 1.0000);
$price_data = D('craft_price')->where(array('flow_craft_id' => $flow_craft_id))->find();
unset($price_data['price_id']);
unset($price_data['flow_craft_id']);
$money = 0;
foreach ($price_data as $k => $v) {
if ($data[$k]) {
$money += $v * $data[$k];
}
}
$data['money'] = $money;
D('task_sub')->save($data);
$task_flow_data = D('task_flow')->find($data['task_flow_id']);
$task_flow_save['task_flow_id'] = $data['task_flow_id'];
$task_flow_save['pass_num'] = $task_flow_save['pass_num'] + $data['subtask_pass_num'];
$unCompleteSubTask = D('task_sub')->where(array('task_flow_id' => $data['task_flow_id'], 'subtask_tonext_num' => array('neq', 0)))->select();
if (!$unCompleteSubTask && $task_flow_data['pre_num'] == 0) {
$task_flow_save['is_complete'] = 1;
}
D('task_flow')->save($task_flow_save);
$order_id = $task_flow_data['order_id'];
$is_final = $task_flow_data['is_final'];
if (!$is_final) {
$next_task_flow_data = D('task_flow')->where(array('task_id' => $task_flow_data['task_id'], 'order_id' => $order_id + 1))->find();
$next_task_flow_data['pre_num'] = $next_task_flow_data['pre_num'] + $data['subtask_tonext_num'];
D('task_flow')->where(array('task_flow_id' => $next_task_flow_data['task_flow_id']))->save(array('pre_num' => $next_task_flow_data['pre_num']));
}
$task_final_data = D('task_flow')->where(array('task_id' => $data['task_id'], 'is_final' => 1, 'is_complete' => 1))->find();
if ($task_final_data) {
$min_pass_data = D('task_flow')->where(array('task_id' => $data['task_id']))->order('pass_num')->find();
$task_data = D('task')->find($data['task_id']);
$pass_rate = ($min_pass_data['pass_num'] * 1.0000) / (($task_data['task_product_num'] - $task_data['sub_num']) * 1.0000);
D('task')->where(array('task_id' => $data['task_id']))->save(array('task_pass_num' => $min_pass_data['pass_num'], 'task_pass_rate' => $pass_rate));
}
$this->success($data);
}
public function qcModifyXiaoji()
{
$data = file_get_contents('php://input');
$data = json_decode($data, true);
$subtask_id = $data['subtask_id'];
$origin_task_data = D('task_sub')->find($subtask_id);
if ($data['subtask_tonext_num'] < $data['subtask_pass_num']) {
$this->error("流转数不能小于合格数");
}
if ($data['subtask_tonext_num'] > $data['subtask_complete_num']) {
$this->error("流转数不能大于完成数");
}
$flow_craft_id = $data['flow_craft_id'];
$data['subtask_qc_id'] = $this->user_id;
$data['qc_name'] = D('user')->find($this->user_id)['user_name'];
$data['subtask_time_qc'] = time();
$data['subtask_pass_rate'] = ($data['subtask_pass_num'] * 1.0000) / ($data['subtask_complete_num'] * 1.0000);
$price_data = D('craft_price')->where(array('flow_craft_id' => $flow_craft_id))->find();
unset($price_data['price_id']);
unset($price_data['flow_craft_id']);
$money = 0;
foreach ($price_data as $k => $v) {
if ($data[$k]) {
$money += $v * $data[$k];
}
}
$data['money'] = $money;
D('task_sub')->save($data);
$pass_num_diff = $data['subtask_pass_num'] - $origin_task_data['subtask_pass_num'];
$tonext_num_diff = $data['subtask_tonext_num'] - $origin_task_data['subtask_tonext_num'];
$task_flow_data = D('task_flow')->find($data['task_flow_id']);
$task_flow_save['task_flow_id'] = $data['task_flow_id'];
$task_flow_save['pass_num'] = $task_flow_save['pass_num'] + $pass_num_diff;
$unCompleteSubTask = D('task_sub')->where(array('task_flow_id' => $data['task_flow_id'], 'subtask_tonext_num' => array('neq', 0)))->select();
if (!$unCompleteSubTask && $task_flow_data['pre_num'] == 0) {
$task_flow_save['is_complete'] = 1;
}
D('task_flow')->save($task_flow_save);
$order_id = $task_flow_data['order_id'];
$is_final = $task_flow_data['is_final'];
if (!$is_final) {
$next_task_flow_data = D('task_flow')->where(array('task_id' => $task_flow_data['task_id'], 'order_id' => $order_id + 1))->find();
$next_task_flow_data['pre_num'] = $next_task_flow_data['pre_num'] + $tonext_num_diff;
D('task_flow')->where(array('task_flow_id' => $next_task_flow_data['task_flow_id']))->save(array('pre_num' => $next_task_flow_data['pre_num']));
}
$task_final_data = D('task_flow')->where(array('task_id' => $data['task_id'], 'is_final' => 1, 'is_complete' => 1))->find();
if ($task_final_data) {
$min_pass_data = D('task_flow')->where(array('task_id' => $data['task_id']))->order('pass_num')->find();
$task_data = D('task')->find($data['task_id']);
$pass_rate = ($min_pass_data['pass_num'] * 1.0000) / ($task_data['task_product_num'] * 1.0000);
D('task')->where(array('task_id' => $data['task_id']))->save(array('task_pass_num' => $min_pass_data['pass_num'], 'task_pass_rate' => $pass_rate));
}
$this->success($data);
}
//操作工 个人查询
public function getPersonDetails()
{
$craftData = D('task_sub')->where(array('subtask_operator_id' => $this->user_id))->field('craft_id,craft_name')->group('craft_id')->select();
$taskData = D('task_sub')->where(array('subtask_operator_id' => $this->user_id))->field('task_flow_id, task_id')->group('task_id')->select();
foreach ($taskData as $k => $v) {
$taskData[$k]['product_name'] = D('task_flow')->find($taskData[$k]['task_flow_id'])['product_name'];
}
$data['craft'] = $craftData;
$data['task'] = $taskData;
$this->success($data);
}
// 操作工 所有子任务
public function allSubTask()
{
$data = D('task_sub')->where(array('subtask_operator_id' => $this->user_id))->order('subtask_time_add desc')->select();
foreach ($data as $k => $v) {
if ($data[$k]['subtask_pass_rate']) {
$data[$k]['subtask_pass_rate'] = ($data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$data[$k]['subtask_pass_rate'] = '';
}
$data[$k]['time'] = date('Y.m.d', $data[$k]['subtask_time_add']);
}
$this->success($data);
}
//操作工 根据条件查询子任务
public function partSubTask()
{
$start_time = I('start_time');
$end_time = I('end_time');
// $task_id = I('task_id');
// $craft_id = I('craft_id');
$start_time = strtotime($start_time);
$end_time = strtotime($end_time) + 86400;
if ($end_time < $start_time) {
$this->error('结束时间不能小于开始时间');
}
$where = array();
$where['subtask_time_add'] = array('between', array($start_time, $end_time));
$where['subtask_operator_id'] = $this->user_id;
// $where['task_id'] = $task_id;
// $where['craft_id'] = $craft_id;
$data = D('task_sub')->where($where)->select();
foreach ($data as $k => $v) {
if ($data[$k]['subtask_pass_rate']) {
$data[$k]['subtask_pass_rate'] = ($data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$data[$k]['subtask_pass_rate'] = '';
}
$data[$k]['time'] = date('Y.m.d', $data[$k]['subtask_time_add']);
}
$this->success($data);
}
//质检和其他查询 所有任务最新10条
public function allTask()
{
$where = array();
$role_info = D('role_user')->where(array('user_id' => $this->user_id))->find();
$role_id = $role_info['role_id'];
$subtask_data = D('task_sub')->group('task_id')->select();;
if ($role_id == 3) {
$subtask_data = D('task_sub')->where(array('subtask_operator_id' => $this->user_id))->group('task_id')->select();
}
if ($role_id == 4) {
$subtask_data = D('task_sub')->where(array('subtask_qc_id' => $this->user_id))->group('task_id')->select();
}
$task_id_arr = array();
if ($subtask_data) {
foreach ($subtask_data as $k => $v) {
$task_id_arr[] = $v['task_id'];
}
if ($task_id_arr) {
$where['task_id'] = array('in', $task_id_arr);
}
}
$data = D('task')->where($where)->order('task_id desc')->select();
foreach ($data as $k => $v) {
if ($data[$k]['task_pass_rate']) {
$data[$k]['task_pass_rate'] = ($data[$k]['task_pass_rate'] * 100) . "%";
} else {
$data[$k]['task_pass_rate'] = '';
$data[$k]['task_pass_num'] = '';
}
$data[$k]['product_name'] = D('task_flow')->where(array('task_id' => $v['task_id']))->find()['product_name'];
$data[$k]['time'] = date('Ymd', $data[$k]['subtask_time_add']);
}
$this->success($data);
}
//质检和其他查询任务(根据时间)
public function partTask()
{
$start_time = I('start_time');
$end_time = I('end_time');
$start_time = strtotime($start_time);
$end_time = strtotime($end_time) + 86400;
if ($end_time < $start_time) {
$this->error('结束时间不能小于开始时间');
}
$where = array();
$where['task_time_add'] = array('between', array($start_time, $end_time));
$pici = I('pici');
$danhao = I('danhao');
if ($pici) {
$where['task_pici'] = array('like', '%' . $pici . '%');
}
if ($danhao) {
$where['task_name'] = array('like', '%' . $danhao . '%');
}
$role_info = D('role_user')->where(array('user_id' => $this->user_id))->find();
$role_id = $role_info['role_id'];
if ($role_id == 4) {
$where['subtask_qc_id'] = $this->user_id;
}
$data = D('task')->where($where)->select();
foreach ($data as $k => $v) {
if ($data[$k]['task_pass_rate']) {
$data[$k]['task_pass_rate'] = ($data[$k]['task_pass_rate'] * 100) . "%";
} else {
$data[$k]['task_pass_rate'] = '';
$data[$k]['task_pass_num'] = '';
}
$data[$k]['product_name'] = D('task_flow')->where(array('task_id' => $v['task_id']))->find()['product_name'];
$data[$k]['time'] = date('Ymd', $data[$k]['subtask_time_add']);
}
$this->success($data);
}
//质检或其他 查看某个单独的任务
public function taskDetial()
{
$role_info = D('role_user')->where(array('user_id' => $this->user_id))->find();
$role_id = $role_info['role_id'];
$where = array();
if ($role_id == 4) {
$where['subtask_qc_id'] = $this->user_id;
}
$task_id = I('task_id');
$orgin_task_data = D('task')->find($task_id);
$orgin_task_data['time'] = date('Y-m-d', $orgin_task_data['task_time_add']);
$task_data = D('task_flow')->where(array('task_id' => $task_id))->find();
$subtask_data = D('task_sub')->where(array('task_id' => $task_id))->where($where)->select();
$qc_data = D('task_sub')->where(array('task_id' => $task_id))->field('subtask_qc_id,qc_name')->group('subtask_qc_id')->select();
$op_data = D('task_sub')->where(array('task_id' => $task_id))->field('subtask_operator_id,operator_name')->group('subtask_operator_id')->select();
foreach ($subtask_data as $k => $v) {
$subtask_data[$k]['time'] = date('Ymd', $subtask_data[$k]['subtask_time_add']);
if ($subtask_data[$k]['subtask_pass_rate']) {
$subtask_data[$k]['subtask_pass_rate'] = ($subtask_data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$subtask_data[$k]['subtask_pass_rate'] = '';
}
}
$data = array();
$data['qc'] = $qc_data;
$data['op'] = $op_data;
$data['task'] = $task_data;
$data['subtask'] = $subtask_data;
$data['orgin_task'] = $orgin_task_data;
$this->success($data);
}
//其他人员所有子任务
public function taskDetialOther()
{
$where = array();
$operator_name = I('operator');
if ($operator_name) {
$where['operator_name'] = array('like', '%' . $operator_name . '%');
}
$start_time = I('start_time');
$end_time = I('end_time');
if ($start_time && $end_time) {
$start_time = strtotime($start_time);
$end_time = strtotime($end_time) + 86400;
if ($end_time < $start_time) {
$this->error('结束时间不能小于开始时间');
}
$where['subtask_time_add'] = array('between', array($start_time, $end_time));
}
$subtask_data = D('task_sub')->where($where)->select();
foreach ($subtask_data as $k => $v) {
$subtask_data[$k]['time'] = date('Ymd', $subtask_data[$k]['subtask_time_add']);
if ($subtask_data[$k]['subtask_pass_rate']) {
$subtask_data[$k]['subtask_pass_rate'] = ($subtask_data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$subtask_data[$k]['subtask_pass_rate'] = '';
}
$subtask_data[$k]['task_name'] = D('task')->find($v['task_id'])['task_name'];
}
$data = array();
$data['subtask'] = $subtask_data;
$this->success($data);
}
//质检或其他 查看某个单独的任务(根据 操作员 和 质检员 查看)
public function partTaskDetial()
{
$task_id = I('task_id');
$subtask_qc_id = I('subtask_qc_id');
$subtask_operator_id = I('subtask_operator_id');
$where = array();
$where['task_id'] = $task_id;
$where['subtask_operator_id'] = $subtask_operator_id;
if ($subtask_qc_id) {
$where['subtask_qc_id'] = $subtask_qc_id;
} else {
$where['subtask_qc_id'] = $this->user_id;
}
$subtask_data = D('task_sub')->where($where)->select();
foreach ($subtask_data as $k => $v) {
$subtask_data[$k]['time'] = date('Ymd', $subtask_data[$k]['subtask_time_add']);
if ($subtask_data[$k]['subtask_pass_rate']) {
$subtask_data[$k]['subtask_pass_rate'] = ($subtask_data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$subtask_data[$k]['subtask_pass_rate'] = '';
}
}
$data = array();
$data['subtask'] = $subtask_data;
$this->success($data);
}
public function getUnCheckedSubTask()
{
$where = array();
$where['subtask_pass_rate'] = array('gt', '0');
$where['is_checked'] = 0;
$role_info = D('role_user')->where(array('user_id' => $this->user_id))->find();
$role_id = $role_info['role_id'];
// 质检员
if ($role_id == 4) {
$where['subtask_qc_id'] = $this->user_id;
}
$subtask_data = D('task_sub')->where($where)->select();
foreach ($subtask_data as $k => $v) {
$subtask_data[$k]['time'] = date('Ymd', $v['subtask_time_add']);
if ($subtask_data[$k]['subtask_pass_rate']) {
$subtask_data[$k]['subtask_pass_rate'] = ($subtask_data[$k]['subtask_pass_rate'] * 100) . "%";
} else {
$subtask_data[$k]['subtask_pass_rate'] = '';
}
}
$data['subtask'] = $subtask_data;
$this->success($data);
}
public function fuhe()
{
$user_data = D('user')->find($this->user_id);
$subtask_id = I('subtask_id');
$save['is_checked'] = 1;
$save['subtask_check_id'] = $user_data['user_id'];
$save['check_name'] = $user_data['user_name'];
D('task_sub')->where(array('subtask_id' => $subtask_id))->save($save);
$this->success('复核成功!');
}
public function is_sub(){
$task_flow_id = I('task_flow_id');
$task_id = D('task_flow')->find($task_flow_id)['task_id'];
$pre_num = D('task_flow')->find($task_flow_id)['pre_num'];
$is_sub = D('task')->find($task_id)['is_sub'];
$this->success(array($is_sub,$pre_num));
}
}