lvhao hai 1 día
pai
achega
ff34d90b25
Modificáronse 1 ficheiros con 184 adicións e 0 borrados
  1. 184 0
      core/CoreApp/controllers/Transfer.php

+ 184 - 0
core/CoreApp/controllers/Transfer.php

@@ -104,6 +104,8 @@ class Transfer extends Start_Controller {
 	   }
 	   }
 	   else if($arg == 'sczexcel'){
 	   else if($arg == 'sczexcel'){
 			$this->_sczexcel();
 			$this->_sczexcel();
+	   }else if($arg == 'czbmsfcz'){
+			$this->_czbmIsOutExcel();
 	   }
 	   }
 		else
 		else
 		{
 		{
@@ -3044,4 +3046,186 @@ class Transfer extends Start_Controller {
 		header( "Expires: 0" ); 
 		header( "Expires: 0" ); 
 		exit($str); 
 		exit($str); 
 	}
 	}
+
+	/**
+	 * 导出excel  操作部门是否出库
+	 */
+	public function  _czbmIsOutExcel(){
+
+		if($this->input->method() == 'get'){
+			$number = $this->input->get('number',true);
+			$color = $this->input->get('color',true);
+			$purchase = $this->input->get('purchase',true);
+			$transfer = $this->input->get('transfer',true);
+			$lx = $this->input->get('lx',true);
+			$type = $this->input->get('type',true);
+			$pm = $this->input->get('pm',true);
+			$jiaji = $this->input->get('jiaji',true);
+			$timetk = $this->input->get('timetk',true);
+			$timetj = $this->input->get('timetj',true);
+			$timetk = strtotime($timetk);
+			$timetj = strtotime($timetj);
+			$where = '1=1';
+			if($number)
+            {
+                $where  .= " and number = '$number'";
+            }
+			if($pm){
+				$where  .= " and pm like '%".$pm."%'";
+			}
+			if($purchase)
+            {
+                $where  .= " and purchase = '$purchase'";
+            }
+			if($color)
+            {
+                $where  .= " and fpdata like '%-".$color."-%'";
+            }
+			if($lx)
+            {
+				if($lx == 1)
+				{
+                    $where  .= " and ordernumber = ''";
+				}
+				else
+				{
+					$where  .= " and ordernumber != ''";
+				}
+            }
+            if($jiaji){
+                if($jiaji == 1){
+                    $where  .= " and is_jiaji = 0";
+                }
+                if($jiaji == 2){
+                    $where  .= " and is_jiaji = 2";
+                }
+                
+            }
+            //数据排序
+            $order_str = "id desc";
+            
+			$where  .= " and ctime12 > '$timetk' and ctime12 < '$timetj'";
+			if($type)
+			{
+				if($type == 3){
+					if($transfer)
+					{
+						$where  .= " and rk like '%|".$transfer."|%' and rk != ck";
+					}
+				}else{
+					$type = ($type==1)?'rk':'ck';
+					if($transfer)
+					{
+						$where  .= " and $type like '%|".$transfer."|%'";
+					}
+				}
+				
+
+			}
+			else
+			{
+				if($transfer)
+				{
+					$where  .= " and rk like '%|".$transfer."|%'";
+				}
+			}
+			
+            //取得信息列表
+            $info_list = $this->systemtransfer->find_all($where,'*',$order_str);
+			$transfer = $this->transfer->find_all();
+			$t = array();
+			foreach ($transfer as $v)
+		    {
+				$t[$v['id']] = $v['title'];
+				$ot[$v['id']] = ($v['orvertime']>0)?$v['orvertime']*24*3600:0;
+			}
+			$final_list = [];
+			 //格式化数据
+            foreach ($info_list as $key=>$value)
+		    {
+			   $transfer_list = $this->_get_transfer_data($value,$t);
+		       $final_list[] = [
+					'number'=>$value['number'],
+					'pm'=>$value['pm'],
+					'transfer_list'=>$transfer_list,
+			   ];
+				
+				
+            }
+			echo "<pre>";
+			print_r($final_list);
+		    die;
+		    
+		}
+
+		
+
+	}
+
+	public function _get_transfer_data($info,$t){
+		$rk_list = explode('|',trim($info['rk'],'|'));
+		$rk_time = explode('|',trim($info['rktime'],'|'));
+		$ck_list = explode('|',trim($info['ck'],'|'));
+		$ck_time = explode('|',trim($info['cktime'],'|'));
+
+		if(count($rk_time) < count($ck_time)){
+			return [
+				'code'=>-1,
+				'msg'=>'数据异常,('.$info['id'].')联系技术',
+			];
+		}
+
+		$tran_list = [];
+		$len = count($rk_list);
+		$ck_index = 0;
+		for($i = 0;$i < $len;$i++){
+			
+			if(isset($rk_list[$i]) &&  empty($ck_list[$ck_index]) ){
+				$tran_list[] = [
+					'lx'=>$rk_list[$i],
+					'lx_show'=>(isset($t[$rk_list[$i]])?$t[$rk_list[$i]]:''),
+					'rk_time'=>$rk_time[$i],
+					'ck_time'=>'',
+					'is_over'=>1,//未出库
+				];
+			}else{
+				if($rk_list[$i] == $ck_list[$ck_index]){
+					$tran_list[] = [
+						'lx'=>$rk_list[$i],
+						'lx_show'=>(isset($t[$rk_list[$i]])?$t[$rk_list[$i]]:''),
+						'rk_time'=>$rk_time[$i],
+						'ck_time'=>$ck_time[$ck_index],
+						'is_over'=>2,//已出库
+					];
+					$ck_index++;
+				}else if($rk_list[$i] != $ck_list[$ck_index]){			
+					if($rk_list[$i] == $ck_list[$ck_index-1]){
+						//估计是之前完成 或者 成品库  强制扫入
+						$tran_list[] = [
+							'lx'=>$rk_list[$i],
+							'lx_show'=>(isset($t[$rk_list[$i]])?$t[$rk_list[$i]]:''),
+							'rk_time'=>$rk_time[$i],
+							'ck_time'=>$ck_time[$ck_index-1],
+							'is_over'=>2,//已出库
+						];
+					}else if($rk_list[$i] == $ck_list[$ck_index+1]){
+						//估计是完成 或者 成品库  强制扫出了
+						$tran_list[] = [
+							'lx'=>$rk_list[$i],
+							'lx_show'=>(isset($t[$rk_list[$i]])?$t[$rk_list[$i]]:''),
+							'rk_time'=>$rk_time[$i],
+							'ck_time'=>$ck_time[$ck_index+1],
+							'is_over'=>2,//已出库
+						];
+						$ck_index++;
+						$ck_index++;
+					}
+				}
+			}
+			
+		}
+
+
+		return $tran_list;
+	}
 }
 }