|
@@ -3,9 +3,10 @@
|
|
|
|
|
|
namespace app\admin\controller;
|
|
|
|
|
|
-use think\App;
|
|
|
+use app\admin\model\CgdInfo;use app\admin\model\InvoicePool;use app\admin\model\Pay;use app\admin\model\TradePool;use think\App;
|
|
|
use think\facade\Db;use think\facade\Validate;
|
|
|
class Sale extends Base{
|
|
|
+ #public $novalidate=["*"];
|
|
|
public function __construct(App $app) {parent::__construct($app);}
|
|
|
/** 获取列表
|
|
|
* @return \think\response\Json|void
|
|
@@ -153,10 +154,12 @@ class Sale extends Base{
|
|
|
foreach ( $list as $ky=>$value){
|
|
|
$value['catInfo'] = json_decode($value['catInfo'],true);
|
|
|
$tag =Db::name("tag_log")->alias("a")->leftJoin("order_tag b","a.tag_id=b.id")->where
|
|
|
- (["code"=>$value['sequenceNo'],"a.status"=>1])->column("b.tag_name,a.tag_img,a.tag_remark","b.type");
|
|
|
+ (["code"=>$value['sequenceNo'],"a.status"=>1])->column("a.id,b.tag_name,a.tag_img,a.tag_remark","b.type");
|
|
|
$value['goodNum'] = $value['goodNum'] -$value['thNum'];
|
|
|
$value['sendNum'] = $value['sendNum'] -$value['thNum'];
|
|
|
$value['inv_tag_name']=$tag[4]['tag_name']??'';
|
|
|
+ $value['inv_tag_id']=$tag[4]['id']??'0';
|
|
|
+ $value['pay_tag_id']=$tag[3]['id']??'0';
|
|
|
$value['pay_tag_name']=$tag[3]['tag_name']??'';
|
|
|
$value['pay_tag_img']=$tag[3]['tag_img']??'';
|
|
|
$value['inv_tag_img']=$tag[4]['tag_img']??'';
|
|
@@ -371,10 +374,12 @@ class Sale extends Base{
|
|
|
$qrdinfo['goodinfo'] =$goodinfo;
|
|
|
$qrdinfo['catInfo'] = json_decode($qrdinfo['catInfo'],true);
|
|
|
$tag =Db::name("tag_log")->alias("a")->leftJoin("order_tag b","a.tag_id=b.id")
|
|
|
- ->where(["code"=>$qrdinfo['sequenceNo'],"a.status"=>1])->column("b.tag_name,a.tag_img,a.tag_remark","b.type");
|
|
|
+ ->where(["code"=>$qrdinfo['sequenceNo'],"a.status"=>1])->column("a.id,b.tag_name,a.tag_img,a.tag_remark","b.type");
|
|
|
$qrdinfo['inv_tag_name']=$tag[4]['tag_name']??'';
|
|
|
$qrdinfo['pay_tag_name']=$tag[3]['tag_name']??'';
|
|
|
$qrdinfo['pay_tag_img']=$tag[3]['tag_img']??'';
|
|
|
+ $qrdinfo['inv_tag_id']=$tag[4]['id']??'0';
|
|
|
+ $qrdinfo['pay_tag_id']=$tag[3]['id']??'0';
|
|
|
$qrdinfo['pay_tag_remark']=$tag[3]['tag_remark']??'';
|
|
|
$qrdinfo['inv_tag_img']=$tag[4]['tag_img']??'';
|
|
|
$qrdinfo['inv_tag_remark']=$tag[4]['tag_remark']??'';
|
|
@@ -389,63 +394,164 @@ class Sale extends Base{
|
|
|
public function OrderIsCheck(){
|
|
|
$post =$this->request->only(["orderCode"=>'',"isCgd"=>0,"is_cgd_check"=>0],"post","trim");
|
|
|
$vali=Validate::rule([
|
|
|
- "orderCode|销售单单号"=>"require|max:255",
|
|
|
- "isCgd|是否退采购单"=>"require|in:0,1",
|
|
|
- "is_cgd_check|只退采购单"=>"in:0,1"
|
|
|
+ "orderCode|销售单单号"=>"require|max:255",
|
|
|
+ "isCgd|是否退采购单"=>"require|in:0,1",
|
|
|
+ "is_cgd_check|只退采购单"=>"in:0,1"
|
|
|
]);
|
|
|
if($vali->check($post)==false) return error_show(1004,$vali->getError());
|
|
|
+ $data=[];
|
|
|
if($post['is_cgd_check']==0){
|
|
|
- $qrdinf =Db::name('qrd_info')->where(['sequenceNo|cxCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])
|
|
|
- ->field('sequenceNo,inv_tag,pay_tag')->select()->toArray();
|
|
|
+ $qrdinf =Db::name('qrd_info')->where(['sequenceNo|cxCode'=>$post['orderCode'],'is_del'=>0])
|
|
|
+ ->field('sequenceNo,ownerName,companyName,inv_tag,pay_tag')->select()->toArray();
|
|
|
if(!empty($qrdinf)){
|
|
|
- $message='';
|
|
|
- if(in_array(1,array_column($qrdinf,'inv_tag')))$message.="结算订单存在开票标签\r\n";
|
|
|
- if(in_array(1,array_column($qrdinf,'pay_tag')))$message.="结算订单存在付款标签\r\n";
|
|
|
- $asscoinfo =Db::name('assoc')->where(['orderCode'=>array_column($qrdinf,"sequenceNo"),'status'=>[1,2],'is_del'=>0])->column
|
|
|
- ('viceCode','type');
|
|
|
-
|
|
|
- if(isset($asscoinfo[1]))$message.='开票申请编号:'.$asscoinfo[1]."\r\n";
|
|
|
- if(isset($asscoinfo[2]))$message.='资金认领编号:'.$asscoinfo[2]."\r\n";
|
|
|
- return error_show(1005,$message);
|
|
|
+ foreach ($qrdinf as $item){
|
|
|
+ if($item['inv_tag']==1){
|
|
|
+ $temp=["type"=>"结算销售单开票标签","username"=> $item['ownerName'],"orderCode"=>$item['sequenceNo'],
|
|
|
+ "companyName"=>$item['companyName']];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+
|
|
|
+ if($item['pay_tag']==1){
|
|
|
+ $temp=['type'=>'结算销售单付款标签','username'=> $item['ownerName'],'orderCode'=>$item['sequenceNo'],'companyName'=>$item['companyName']];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+ $asscoinfo =Db::name('assoc')->where(['orderCode'=>$item['sequenceNo'],'status'=>[1,2],'is_del'=>0])->column
|
|
|
+ ('viceCode','type');
|
|
|
+ if(isset($asscoinfo[1])){
|
|
|
+ $uname = InvoicePool::where("invNo",$asscoinfo[1])->value("apply_name",'');
|
|
|
+ $temp=['type'=>'结算销售单开票申请','username'=> $uname,'orderCode'=>$asscoinfo[1],'companyName'=>$item['companyName']];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+ if(isset($asscoinfo[2])){
|
|
|
+ $uname = TradePool::where('logNo',$asscoinfo[2])->value('apply_name','');
|
|
|
+ $temp=['type'=>'结算销售单资金认领','username'=> $uname,'orderCode'=>$asscoinfo[2],'companyName'=>$item['companyName']];
|
|
|
+ $data[]=$temp;
|
|
|
+ }
|
|
|
+ }
|
|
|
+// if(empty($data)==false) $this->error("结算存在进行中业务",1005,$data);
|
|
|
}
|
|
|
- $cgdinfo =Db::name('cgd_info')->where(['cxCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
|
|
|
+ $cgdinfo =Db::name('cgd_info')->where(['cxCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->field('sequenceNo,companyName')->findOrEmpty();
|
|
|
if(!empty($cgdinfo)){
|
|
|
- $message='';
|
|
|
- $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
|
|
|
- if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
|
|
|
- $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
|
|
|
- if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
|
|
|
- $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
|
|
|
- if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
|
|
|
- return error_show(1005,$message);
|
|
|
+ $payNo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo['sequenceNo'],'status'=>1,'is_del'=>0])->value('payNo','');
|
|
|
+ if($payNo!=''){
|
|
|
+ $uname = Pay::where("payNo",$payNo)->value("apply_name",'');
|
|
|
+ $data[]=['type'=>'采购对账单','username'=> $uname,'orderCode'=>$payNo,'companyName'=>$cgdinfo['companyName']];
|
|
|
+
|
|
|
+ $hp = Db::name('pay_invoice')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('hpNo,apply_name');
|
|
|
+ if(!empty($hp)){
|
|
|
+ foreach ($hp as $item){
|
|
|
+ $data[]=['type'=>'采购对账单回票','username'=> $item['apply_name'],'orderCode'=>$item['hpNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $paydz = Db::name('pay_payment')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('dzNo,apply_name');
|
|
|
+ if(!empty($paydz)){
|
|
|
+ foreach ($paydz as $item){
|
|
|
+ $data[]=['type'=>'采购对账单付款','username'=> $item['apply_name'],'orderCode'=>$item['dzNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
if($post['isCgd']==1){
|
|
|
- $cgdinfo =Db::name('cgd_info')->where(['qrdCode'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
|
|
|
- if(!empty($cgdinfo)){
|
|
|
- $message='';
|
|
|
- $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
|
|
|
- if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
|
|
|
- $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
|
|
|
- if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
|
|
|
- $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
|
|
|
- if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
|
|
|
- return error_show(1005,$message);
|
|
|
+ $cgdinfo =Db::name('cgd_info')->where(['qrdCode'=>$post['orderCode'],'is_del'=>0])->field('sequenceNo,companyName')->findOrEmpty();
|
|
|
+ if(!empty($cgdinfo)){
|
|
|
+ $payNo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo['sequenceNo'],'status'=>1,'is_del'=>0])->value('payNo','');
|
|
|
+ if($payNo!=''){
|
|
|
+ $uname = Pay::where('payNo',$payNo)->value('apply_name','');
|
|
|
+ $data[]=['type'=>'采购对账单','username'=> $uname,'orderCode'=>$payNo,'companyName'=>$cgdinfo['companyName']];
|
|
|
+ $hp = Db::name('pay_invoice')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('hpNo,apply_name');
|
|
|
+ if(!empty($hp)){
|
|
|
+ foreach ($hp as $item){
|
|
|
+ $data[]=['type'=>'采购对账单回票','username'=> $item['apply_name'],'orderCode'=>$item['hpNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $paydz = Db::name('pay_payment')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('dzNo,apply_name');
|
|
|
+ if(!empty($paydz)){
|
|
|
+ foreach ($paydz as $item){
|
|
|
+ $data[]=['type'=>'采购对账单付款','username'=> $item['apply_name'],'orderCode'=>$item['dzNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $comoOrder = CgdInfo::where(['mainCode'=>$cgdinfo['sequenceNo'],'is_comon'=>2,'status'=>1])->field('sequenceNo,companyName')->findOrEmpty();
|
|
|
+ if(!empty($comoOrder)){
|
|
|
+ $payNo = Db::name('pay_info')->where(['cgdNo'=>$comoOrder['sequenceNo'],'status'=>1,'is_del'=>0])->value('payNo','');
|
|
|
+ if($payNo!=''){
|
|
|
+ $uname = Pay::where('payNo',$payNo)->value('apply_name','');
|
|
|
+ $data[]=['type'=>'源头采购对账单','username'=> $uname,'orderCode'=>$payNo,'companyName'=>$comoOrder['companyName']];
|
|
|
+
|
|
|
+ $hp = Db::name('pay_invoice')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('hpNo,apply_name');
|
|
|
+ if(!empty($hp)){
|
|
|
+ foreach ($hp as $item){
|
|
|
+ $data[]=['type'=>'源头采购对账单回票','username'=> $item['apply_name'],'orderCode'=>$item['hpNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $paydz = Db::name('pay_payment')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('dzNo,apply_name');
|
|
|
+ if(!empty($paydz)){
|
|
|
+ foreach ($paydz as $item){
|
|
|
+ $data[]=['type'=>'源头采购对账单付款','username'=> $item['apply_name'],'orderCode'=>$item['dzNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
}else{
|
|
|
- $cgdinfo =Db::name('cgd_info')->where(['sequenceNo'=>$post['orderCode'],'status'=>1,'is_del'=>0])->column('sequenceNo');
|
|
|
+ $cgdinfo =Db::name('cgd_info')->where(['sequenceNo'=>$post['orderCode'],'status'=>1,'is_del'=>0])->field('sequenceNo,companyName')->findOrEmpty();
|
|
|
if(!empty($cgdinfo)){
|
|
|
- $message='';
|
|
|
- $payinfo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo,'status'=>1,'is_del'=>0])->column('payNo');
|
|
|
- if(!empty($payinfo))$message.='对账单编号:'.implode(',',$payinfo)."\n";
|
|
|
- $hp = Db::name('pay_invoice')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('hpNo');
|
|
|
- if(!empty($hp))$message.='对账单回票编号:'.implode(',',$hp)."\n";
|
|
|
- $paydz = Db::name('pay_payment')->where(['payNo'=>$payinfo,'is_del'=>0,'status'=>[1,2,3,4]])->column('dzNo');
|
|
|
- if(!empty($paydz))$message.='对账单付款编号:'.implode(',',$paydz)."\n";
|
|
|
- return error_show(1005,$message);
|
|
|
+ $payNo = Db::name('pay_info')->where(['cgdNo'=>$cgdinfo['sequenceNo'],'status'=>1,'is_del'=>0])->value('payNo','');
|
|
|
+ if($payNo!=''){
|
|
|
+ $uname = Pay::where('payNo',$payNo)->value('apply_name','');
|
|
|
+ $data[]=['type'=>'采购对账单','username'=> $uname,'orderCode'=>$payNo,'companyName'=>$cgdinfo['companyName']];
|
|
|
+
|
|
|
+ $hp = Db::name('pay_invoice')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('hpNo,apply_name');
|
|
|
+ if(!empty($hp)){
|
|
|
+ foreach ($hp as $item){
|
|
|
+ $data[]=['type'=>'采购对账单回票','username'=> $item['apply_name'],'orderCode'=>$item['hpNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $paydz = Db::name('pay_payment')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('dzNo,apply_name');
|
|
|
+ if(!empty($paydz)){
|
|
|
+ foreach ($paydz as $item){
|
|
|
+ $data[]=['type'=>'采购对账单付款','username'=> $item['apply_name'],'orderCode'=>$item['dzNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $comoOrder = CgdInfo::where(['mainCode'=>$post['orderCode'],'is_comon'=>2,'status'=>1])->field('sequenceNo,companyName')->findOrEmpty();
|
|
|
+ if(!empty($comoOrder)){
|
|
|
+ $payNo = Db::name('pay_info')->where(['cgdNo'=>$comoOrder['sequenceNo'],'status'=>1,'is_del'=>0])->value('payNo','');
|
|
|
+ if($payNo!=''){
|
|
|
+ $uname = Pay::where('payNo',$payNo)->value('apply_name','');
|
|
|
+ $data[]=['type'=>'源头采购对账单','username'=> $uname,'orderCode'=>$payNo,'companyName'=>$comoOrder['companyName']];
|
|
|
+ $hp = Db::name('pay_invoice')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('hpNo,apply_name');
|
|
|
+ if(!empty($hp)){
|
|
|
+ foreach ($hp as $item){
|
|
|
+ $data[]=['type'=>'源头采购对账单回票','username'=> $item['apply_name'],'orderCode'=>$item['hpNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $paydz = Db::name('pay_payment')->where(['payNo'=>$payNo,'is_del'=>0,'status'=>[1,2,3,4]])
|
|
|
+ ->column('dzNo,apply_name');
|
|
|
+ if(!empty($paydz)){
|
|
|
+ foreach ($paydz as $item){
|
|
|
+ $data[]=['type'=>'源头采购对账单付款','username'=> $item['apply_name'],'orderCode'=>$item['dzNo'],'companyName'=>$cgdinfo['companyName']];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
- }
|
|
|
+
|
|
|
|
|
|
- return app_show(0,"不存在对账订单");
|
|
|
+ empty($data)?$this->success("不存在对账订单"):$this->error("存在对账业务数据",1005,$data);
|
|
|
}
|
|
|
}
|