|
@@ -46,7 +46,8 @@ class Allot extends BaseController
|
|
|
$count = Db::name('allot_stock')->where($where)->count();
|
|
|
$total = ceil($count/$size);
|
|
|
$page = $page >= $total ? $total : $page;
|
|
|
- $list = Db::name('allot_stock')->where($where)->page($page,$size)->select();
|
|
|
+ $list = Db::name('allot_stock')
|
|
|
+ ->where($where)->order("addtime desc")->page($page,$size)->select();
|
|
|
|
|
|
return app_show(0,"获取成功",['count'=>$count,'list'=>$list]);
|
|
|
}
|
|
@@ -295,23 +296,41 @@ class Allot extends BaseController
|
|
|
if(empty($st)){
|
|
|
return error_show(1002,"调拨信息未找到");
|
|
|
}
|
|
|
- $st['remark']=$remark;
|
|
|
- $st['status']=$status;
|
|
|
- $st['updatetime']= date('Y-m-d H:i:s');
|
|
|
- $sv = Db::name('allot_stock')->save($st);
|
|
|
- if($sv){
|
|
|
- if($status==2){
|
|
|
- $vmp = Db::name('allot_info')->where(['allot_code'=>$st['allot_code']])->select();
|
|
|
- $data=[];
|
|
|
- foreach ($vmp as $value){
|
|
|
- $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"is_del"=>0])->sum("total_stock");
|
|
|
- $value['usable_stock']+$value['wait_out_stock']=$stock;
|
|
|
- $data[]=$value;
|
|
|
- }
|
|
|
+ Db::startTrans();
|
|
|
+ try{
|
|
|
+ $st['remark']=$remark;
|
|
|
+ $st['status']=$status;
|
|
|
+ $st['updatetime']= date('Y-m-d H:i:s');
|
|
|
+ $sv = Db::name('allot_stock')->save($st);
|
|
|
+ if($sv){
|
|
|
+ if($status==2){
|
|
|
+ $vmp = Db::name('allot_info')->where(['allot_code'=>$st['allot_code']])->select();
|
|
|
+ foreach ($vmp as $value){
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$st['wsm_out'],"is_del"=>0])->find();
|
|
|
+
|
|
|
+ if($value['allot_num']>$stock['usable_stock']){
|
|
|
+ return error_show(1003,"超出库存数量");
|
|
|
+ }
|
|
|
+ $stock['usable_stock']-=$value['allot_num'];
|
|
|
+ $stock['wait_out_stock']+=$value['allot_num'];
|
|
|
+ $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
+ $stock['updatetime']= date('Y-m-d H:i:s');
|
|
|
+ $Db = Db::name('good_stock')->update($stock);
|
|
|
+
|
|
|
+ if($Db==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1002,"状态更新失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Db::commit();
|
|
|
+ return error_show(0,"状态更新成功");
|
|
|
}
|
|
|
- return error_show(0,"状态更新成功");
|
|
|
- }else{
|
|
|
- return error_show(1002,"状态更新失败");
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1003,"状态更新失败");
|
|
|
+ }catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, $e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -320,6 +339,10 @@ class Allot extends BaseController
|
|
|
if(empty($allot_code)){
|
|
|
return error_show(1002,"调拨单编号不能为空");
|
|
|
}
|
|
|
+ $al = Db::name('allot_stock')->where(['allot_code'=>$allot_code,"is_del"=>0])->find();
|
|
|
+ if($al==""){
|
|
|
+ return error_show(1003,"调拨编号未找到");
|
|
|
+ }
|
|
|
$post_name = isset($this->post['post_name']) && $this->post['post_name'] !=="" ? trim($this->post['post_name']) :"";
|
|
|
if($post_name==""){
|
|
|
return error_show(1002,"物流公司不能为空");
|
|
@@ -332,20 +355,45 @@ class Allot extends BaseController
|
|
|
if($post_fee===""){
|
|
|
return error_show(1002,"物流费用不能为空");
|
|
|
}
|
|
|
- $data=[
|
|
|
- "allot_code"=>$allot_code,
|
|
|
- "post_name"=>$post_name,
|
|
|
- "post_code"=>$post_code,
|
|
|
- "post_fee"=>$post_fee,
|
|
|
- "status"=>3,
|
|
|
- "is_del"=>0,
|
|
|
- "updatetime"=>date("Y-m-d H:i:s"),
|
|
|
- ];
|
|
|
- $datainfo = Db::name('allot_stock')->where(['allot_code'=>$allot_code])->update($data);
|
|
|
- if($datainfo){
|
|
|
- return error_show(0,"发货更新成功");
|
|
|
+ Db::startTrans();
|
|
|
+ try {
|
|
|
+ $data=[
|
|
|
+ "allot_code"=>$allot_code,
|
|
|
+ "post_name"=>$post_name,
|
|
|
+ "post_code"=>$post_code,
|
|
|
+ "post_fee"=>$post_fee,
|
|
|
+ "status"=>3,
|
|
|
+ "is_del"=>0,
|
|
|
+ "updatetime"=>date("Y-m-d H:i:s"),
|
|
|
+ ];
|
|
|
+ $datainfo = Db::name('allot_stock')->where(['allot_code'=>$allot_code])->update($data);
|
|
|
+ if($datainfo){
|
|
|
+ $vnp = Db::name('allot_info')->where(['allot_code'=>$al['allot_code']])->select();
|
|
|
+ var_dump(Db::name('allot_info')->getLastSql());
|
|
|
+ foreach ($vnp as $value){
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$value['good_type_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
|
|
|
+ if($stock['wait_out_stock']<$value['allot_num']){
|
|
|
+ return error_show(1006,"超出库存数量");
|
|
|
+ }
|
|
|
+ $stock['wait_out_stock']-=$value['allot_num'];
|
|
|
+ $stock['intra_stock']+=$value['allot_num'];
|
|
|
+ $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
+ $stock['updatetime']= date('Y-m-d H:i:s');
|
|
|
+ $dr = Db::name('good_stock')->update($stock);
|
|
|
+ if($dr==false){
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1002,"发货更新失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Db::commit();
|
|
|
+ return error_show(0,"发货更新成功");
|
|
|
+ }
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1003,"发货更新失败");
|
|
|
+ }catch (\Exception $e) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(1005, $e->getMessage());
|
|
|
}
|
|
|
- return error_show(1003,"发货更新失败");
|
|
|
}
|
|
|
|
|
|
public function getin(){
|
|
@@ -380,20 +428,32 @@ class Allot extends BaseController
|
|
|
Db::rollback();
|
|
|
return error_show(1003, "商品不能为空");
|
|
|
}
|
|
|
+
|
|
|
$temp = [];
|
|
|
$temp['usable_num'] = $value['usable_num'];
|
|
|
$temp['error_num'] = $value['error_num'];
|
|
|
$temp['error_remark'] = $value['error_remark'];
|
|
|
$temp['updatetime'] = date("Y-m-d H:i:s");
|
|
|
- $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
|
|
|
- if ($np) {
|
|
|
- Db::commit();
|
|
|
- return error_show(0, "入库验货更新成功");
|
|
|
+ $np = Db::name('allot_info')->where(['good_type_code'=>$value['good_type_code'],'allot_code'=> $al['allot_code']])->save($temp);
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$np['allot_code'],"wsm_code"=>$al['wsm_out'],"is_del"=>0])->find();
|
|
|
+ if($stock['intra_stock']<$np['allot_num']){
|
|
|
+ return error_show(1002,"超出库存数量");
|
|
|
+ }
|
|
|
+ $stock['intra_stock']-=$np['allot_num'];
|
|
|
+ $stock['wait_in_stock']+=$np['allot_num'];
|
|
|
+ $stock['updatetime']= date('Y-m-d H:i:s');
|
|
|
+ $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
+ $dr = Db::name('good_stock')->update($stock);
|
|
|
+ if ($dr==false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(0, "入库验货更新失败");
|
|
|
}
|
|
|
+ Db::commit();
|
|
|
+ return error_show(1003, "入库验货更新成功");
|
|
|
}
|
|
|
}
|
|
|
Db::rollback();
|
|
|
- return error_show(1003, "入库验货更新失败");
|
|
|
+ return error_show(1002, "入库验货更新失败");
|
|
|
}catch (\Exception $e){
|
|
|
Db::rollback();
|
|
|
return error_show(1005,$e->getMessage());
|
|
@@ -436,10 +496,20 @@ public function vesio(){
|
|
|
$temp['stock_num'] = $value['stock_num'];
|
|
|
$temp['updatetime'] = date("Y-m-d H:i:s");
|
|
|
$np = Db::name('allot_info')->where(['good_type_code'=>$value['good_code'],'allot_code'=> $al['allot_code']])->save($temp);
|
|
|
- if ($np) {
|
|
|
- Db::commit();
|
|
|
- return error_show(0, "验货更新成功");
|
|
|
+ $stock = Db::name("good_stock")->where(["good_type_code"=>$np['allot_code'],"wsm_code"=>$datainfo['wsm_in'],"is_del"=>0])->find();
|
|
|
+ if($stock['wait_in_stock'<$np['allot_num']]){
|
|
|
+ return error_show(1002,"超出库存数量");
|
|
|
+ }
|
|
|
+ $stock['wait_in_stock']-=$np['allot_num'];
|
|
|
+ $stock['usable_stock']+=$np['allot_num'];
|
|
|
+ $stock['total_stock']=$stock['wait_out_stock']+$stock['usable_stock'];
|
|
|
+ $dr = Db::name('good_stock')->update([$stock,"updatetime"=>date('Y-m-d H:i:s')]);
|
|
|
+ if ($dr==false) {
|
|
|
+ Db::rollback();
|
|
|
+ return error_show(0, "验货更新失败");
|
|
|
}
|
|
|
+ Db::commit();
|
|
|
+ return error_show(1003, "验货更新成功");
|
|
|
}
|
|
|
}
|
|
|
Db::rollback();
|
|
@@ -449,5 +519,4 @@ public function vesio(){
|
|
|
return error_show(1005,$e->getMessage());
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
}
|