|
@@ -117,10 +117,21 @@ class FinancialManager extends Base{
|
|
|
$product= $this->outProduct($data);
|
|
|
$data['error_remark'] = $data['balance_num']!='0'?'出库数量不正确':'';
|
|
|
}
|
|
|
- $data['status']=$data['balance_num']=='0'?2:1;
|
|
|
+ if($data['balance_num']!=$data['total_num'] && $data['balance_num']!='0') throw new \Exception($data['error_remark']);
|
|
|
+ $data['status']=$data['balance_num']==$data['total_num']?1:2;
|
|
|
self::commit();
|
|
|
}catch (\Exception $e){
|
|
|
self::rollback();
|
|
|
+ if(!empty($data['idArr'])) $product=array_map(function ($item) use($data){
|
|
|
+ $temp=[];
|
|
|
+ $temp['product_id']=$item['id'];
|
|
|
+ $temp['type']=$data['type'];
|
|
|
+ $temp['num']=$item['num'];
|
|
|
+ $temp['apply_id'] = $data['apply_id'];
|
|
|
+ $temp['apply_name'] = $data['apply_name'];
|
|
|
+ $temp['status'] = 0;
|
|
|
+ return $temp;
|
|
|
+ },$data['idArr']);
|
|
|
$data['status'] =4;
|
|
|
$data['error_remark'] = $e->getMessage();
|
|
|
}
|
|
@@ -197,12 +208,17 @@ class FinancialManager extends Base{
|
|
|
$this->processSingleProduct($item, $productID,$data);
|
|
|
} else {
|
|
|
if (isset($data['relaArr']) && is_array($data['relaArr'])&& !empty($data['relaArr'])) {
|
|
|
- foreach ($data['relaArr'] as $item) {
|
|
|
- if (!isset($item['id']) || !isset($item['num'])) {
|
|
|
- throw new \Exception('relaArr 中的元素缺少 id 或 num');
|
|
|
+ if(floatval($data['balance_num'])!= floatval(array_sum(array_column($data['relaArr'], 'num')))){
|
|
|
+ throw new \Exception('出库商品数量不正确');
|
|
|
+ }else{
|
|
|
+ foreach ($data['relaArr'] as $item) {
|
|
|
+ if (!isset($item['id']) || !isset($item['num'])) {
|
|
|
+ throw new \Exception('relaArr 中的元素缺少 id 或 num');
|
|
|
+ }
|
|
|
+ $this->processSingleProduct($item, $productID, $data);
|
|
|
}
|
|
|
- $this->processSingleProduct($item, $productID, $data);
|
|
|
}
|
|
|
+
|
|
|
} else {
|
|
|
throw new \Exception('relaArr 为空或格式不正确');
|
|
|
}
|
|
@@ -299,10 +315,21 @@ class FinancialManager extends Base{
|
|
|
$product=$this->outProduct($data);
|
|
|
$data['error_remark'] = $data['balance_num']!='0'?'出库数量不正确':'';
|
|
|
}
|
|
|
- $data['status']=$data['balance_num']=='0'?2:1;
|
|
|
+ if($data['balance_num']!=$data['total_num'] && $data['balance_num']!='0') throw new \Exception($data['error_remark']);
|
|
|
+ $data['status']=$data['balance_num']==$data['total_num']?1:2;
|
|
|
self::commit();
|
|
|
}catch (\Exception $e){
|
|
|
self::rollback();
|
|
|
+ if(!empty($data['idArr'])) $product=array_map(function ($item) use($data){
|
|
|
+ $temp=[];
|
|
|
+ $temp['product_id']=$item['id'];
|
|
|
+ $temp['type']=$data['type'];
|
|
|
+ $temp['num']=$item['num'];
|
|
|
+ $temp['apply_id'] = $data['apply_id'];
|
|
|
+ $temp['apply_name'] = $data['apply_name'];
|
|
|
+ $temp['status'] = 0;
|
|
|
+ return $temp;
|
|
|
+ },$data['idArr']);
|
|
|
$data['status'] =4;
|
|
|
$data['error_remark'] = $e->getMessage();
|
|
|
}
|
|
@@ -324,10 +351,21 @@ class FinancialManager extends Base{
|
|
|
$product=$this->outProduct($data);
|
|
|
$data['error_remark'] = $data['balance_num']!='0'?'出库数量不正确':'';
|
|
|
}
|
|
|
- $data['status']=$data['balance_num']=='0'?2:1;
|
|
|
+ if($data['balance_num']!=$data['total_num'] && $data['balance_num']!='0') throw new \Exception($data['error_remark']);
|
|
|
+ $data['status']=$data['balance_num']==$data['total_num']?1:2;
|
|
|
self::commit();
|
|
|
}catch (\Exception $e){
|
|
|
self::rollback();
|
|
|
+ if(!empty($data['idArr'])) $product=array_map(function ($item) use($data){
|
|
|
+ $temp=[];
|
|
|
+ $temp['product_id']=$item['id'];
|
|
|
+ $temp['type']=$data['type'];
|
|
|
+ $temp['num']=$item['num'];
|
|
|
+ $temp['apply_id'] = $data['apply_id'];
|
|
|
+ $temp['apply_name'] = $data['apply_name'];
|
|
|
+ $temp['status'] = 0;
|
|
|
+ return $temp;
|
|
|
+ },$data['idArr']);
|
|
|
$data['status'] =4;
|
|
|
$data['error_remark'] = $e->getMessage();
|
|
|
}
|