|
@@ -40,23 +40,16 @@ class GetOrderInfoAndInvoiceInfo extends Command
|
|
|
}
|
|
|
if($value['status']==2){
|
|
|
if($value['KPLX']==1){
|
|
|
- $red=Db::name("invoice_red")->where(["invRed"=>$value['invNo'],"is_del"=>0])->find();
|
|
|
- if($red){
|
|
|
- $invNo=$red['invNo'];
|
|
|
- Db::name("invoice_return")->where(["returnCode"=>$red['returnCode'],"status"=>1])->update
|
|
|
- (["status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
- Db::name("invoice_red")->where(["invRed"=>$value['invNo'],"is_del"=>0])->update(["status"=>4,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
- Db::name("invoice_pool")->where(["invNo"=>$red['invNo'],"is_del"=>0])->update(["status"=>6,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
- }
|
|
|
+ $red=Db::name("invoice_red")->where(["invRed"=>$value['invNo'],"is_del"=>0])->find();
|
|
|
+ if($red){
|
|
|
+ $invNo=$red['invNo'];
|
|
|
+ Db::name("invoice_return")->where(["returnCode"=>$red['returnCode'],"status"=>1])->update(["status"=>2,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
+ Db::name("invoice_red")->where(["invRed"=>$value['invNo'],"is_del"=>0])->update(["status"=>4,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
+ Db::name("invoice_pool")->where(["invNo"=>$red['invNo'],"is_del"=>0])->update(["status"=>6,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
+ }
|
|
|
+
|
|
|
}else{
|
|
|
- $invNo=$value['invNo'];
|
|
|
- $status=4;
|
|
|
- $rmark=$this->updateQRd($invNo);
|
|
|
- if($rmark==''){
|
|
|
- Db::name("invoice_pool")->where(["invNo"=>$value['invNo'],"is_del"=>0])->update(["status"=>$status,"seller_check"=>1,"buyer_check"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
- }else{
|
|
|
- Db::name("invoice_pool")->where(["invNo"=>$value['invNo'],"is_del"=>0])->update(["status"=>5,"check_remark"=>$rmark,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
- }
|
|
|
+ Db::name("invoice_pool")->where(["invNo"=>$value['invNo'],"is_del"=>0])->update(["status"=>4,"seller_check"=>1,"buyer_check"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
}
|
|
|
$da=Db::name("invoice_interface")->where($value)->update(["is_check"=>1,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
if($da) $this->insertTicket($value['result'],$invNo);
|
|
@@ -102,13 +95,13 @@ class GetOrderInfoAndInvoiceInfo extends Command
|
|
|
if($zt=='030000'){
|
|
|
$data= $value['DDFPXX'];
|
|
|
$data['itemlist'] = $value['DDMXXX'];
|
|
|
- if($data['KPLX']==0)$this->updateGood($value['DDMXXX'],$order['invNo']);
|
|
|
+ if($data['KPLX']==0)$this->updateGood($value['DDMXXX'],$order['invNo'],4);
|
|
|
+ else $this->updateGood($value['DDMXXX'],$order['invNo'],6);
|
|
|
$exit= json_encode($data,JSON_UNESCAPED_UNICODE);
|
|
|
Db::name("invoice_interface")->where(["DDQQLSH"=>$value['DDFPXX']['DDQQLSH']])->update(["status"=>2,"result"=>$exit,"remark"=>$ztxx,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
}
|
|
|
if($zt=='031999' ||$zt=='032997'||$zt=='032999'||$zt=='032998' ){
|
|
|
- Db::name("invoice_interface")->where(["DDQQLSH"=>$value['DDFPXX']['DDQQLSH']])->update
|
|
|
- (["status"=>4,"is_check"=>1,"remark"=>$ztxx,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
+ Db::name("invoice_interface")->where(["DDQQLSH"=>$value['DDFPXX']['DDQQLSH']])->update(["status"=>4,"is_check"=>1,"remark"=>$ztxx,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
|
}
|
|
|
if($zt=='031000' ||$zt=='032000'){
|
|
|
Db::name("invoice_interface")->where(["DDQQLSH"=>$value['DDFPXX']['DDQQLSH']])->update(["remark"=>$ztxx,"updatetime"=>date("Y-m-d H:i:s")]);
|
|
@@ -159,51 +152,74 @@ class GetOrderInfoAndInvoiceInfo extends Command
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- private function updateGood($data,$invNo){
|
|
|
+ private function updateGood($data,$invNo,$status=4){
|
|
|
if(empty($data))return;
|
|
|
foreach ($data as $value){
|
|
|
if($value['ZXBM']!=''){
|
|
|
- $invinfo =Db::name("invoice_good")->where(["invNo"=>$invNo,"id"=>$value['ZXBM'],'is_del'=>0])->findOrEmpty();
|
|
|
- if(empty($invinfo)) continue;
|
|
|
- $invinfo['goodPrice'] = $value['DJ'];
|
|
|
- $invinfo['totalPrice'] = $value['JE'];
|
|
|
- $invinfo['taxPrice'] = $value['SE'];
|
|
|
- Db::name("invoice_good")->save($invinfo);
|
|
|
+ $invinfo =Db::name("invoice_good")->where(["invNo"=>$invNo,"id"=>$value['ZXBM'],'is_del'=>0])->findOrEmpty();
|
|
|
+ if(empty($invinfo)) continue;
|
|
|
+ if($status==4){
|
|
|
+ $invinfo['goodPrice'] = $value['DJ'];
|
|
|
+ $invinfo['totalPrice'] = $value['JE'];
|
|
|
+ $invinfo['taxPrice'] = $value['SE'];
|
|
|
+ }else{
|
|
|
+ $invinfo['good_num'] =0;
|
|
|
+ }
|
|
|
+ $invinfo['updatetime'] = date("Y-m-d H:i:s");
|
|
|
+ Db::name("invoice_good")->save($invinfo);
|
|
|
}
|
|
|
}
|
|
|
+ $this->updateQRd($invNo,$status);
|
|
|
}
|
|
|
|
|
|
|
|
|
- private function updateQRd($invNo){
|
|
|
+ private function updateQRd($invNo,$status){
|
|
|
$qrdArr=Db::name("assoc")->where(["viceCode"=>$invNo,"is_del"=>0])->column("id,orderCode,cancel_fee");
|
|
|
if(!empty($qrdArr)){
|
|
|
foreach ($qrdArr as $value){
|
|
|
$qrdinfo =Db::name("qrd_info")->where(["sequenceNo"=>$value['orderCode']])->find();
|
|
|
if($qrdinfo==false){
|
|
|
- return "确认单信息未找到";
|
|
|
-
|
|
|
+ echo "$invNo 确认单信息未找到\r\n";break;
|
|
|
}
|
|
|
- if($qrdinfo['inv_fee']<$value['cancel_fee']){
|
|
|
- return "确认单信息开票金额不足";
|
|
|
+ if($status==4){
|
|
|
+ if($qrdinfo['inv_fee']<$value['cancel_fee']){
|
|
|
+ echo "$invNo 确认单信息开票金额不足 \r\n";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ $update =[
|
|
|
+ "ainv_fee"=>$qrdinfo['ainv_fee']+$value['cancel_fee'],
|
|
|
+ "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
|
|
|
+ "invtime"=>date("Y-m-d H:i:s"),
|
|
|
+ "inv_status"=>$qrdinfo['winv_fee']==0 &&($qrdinfo['inv_fee']-$value['cancel_fee'])==0 ? 3 : 2,
|
|
|
+ "updatetime"=>date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
}
|
|
|
- $update =[
|
|
|
- "ainv_fee"=>$qrdinfo['ainv_fee']+$value['cancel_fee'],
|
|
|
- "inv_fee"=>$qrdinfo['inv_fee']-$value['cancel_fee'],
|
|
|
- "invtime"=>date("Y-m-d H:i:s"),
|
|
|
- "inv_status"=>$qrdinfo['winv_fee']==0 &&($qrdinfo['inv_fee']-$value['cancel_fee'])==0 ? 3 : 2,
|
|
|
- "updatetime"=>date("Y-m-d H:i:s"),
|
|
|
- ];
|
|
|
+ if($status==6){
|
|
|
+ if($qrdinfo['ainv_fee']<$value['cancel_fee']){
|
|
|
+ echo "$invNo 确认单信息开票金额不足 \r\n";break;
|
|
|
+ }
|
|
|
+ $update =[
|
|
|
+ "ainv_fee"=>$qrdinfo['ainv_fee']-$value['cancel_fee'],
|
|
|
+ "winv_fee"=>$qrdinfo['winv_fee']+$value['cancel_fee'],
|
|
|
+ "invtime"=>'',
|
|
|
+ "inv_status"=>$qrdinfo['inv_fee']==0 &&($qrdinfo['ainv_fee']-$value['cancel_fee'])==0 ? 1 : 2,
|
|
|
+ "status"=>$qrdinfo['inv_fee']==0 &&($qrdinfo['ainv_fee']-$value['cancel_fee'])==0 && $qrdinfo['pay_status']==0 ? 0 : 1,
|
|
|
+ "updatetime"=>date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
+ }
|
|
|
+
|
|
|
$qrdup = Db::name("qrd_info")->where($qrdinfo)->update($update);
|
|
|
if($qrdup==false){
|
|
|
- return "确认单信息更新失败";
|
|
|
+
|
|
|
+ echo "$invNo 确认单信息更新失败 \r\n";break;
|
|
|
}
|
|
|
- $assoc=["status"=>2,"assoc_time"=>date("Y-m-d H:i:s"),"updatetime"=>date("Y-m-d H:i:s")];
|
|
|
+ $assoc=["status"=>$status==4?2:3,"assoc_time"=>date("Y-m-d H:i:s"),"updatetime"=>date("Y-m-d H:i:s")];
|
|
|
$assocup =Db::name("assoc")->where($value)->update($assoc);
|
|
|
if($assocup==false){
|
|
|
- return "确认单关联信息更新失败";
|
|
|
+
|
|
|
+ echo "$invNo 确认单关联信息更新失败 \r\n";break;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- return '';
|
|
|
}
|
|
|
}
|