mirror of
https://gitee.com/ShopeX/OMS
synced 2026-03-22 10:25:35 +08:00
134 lines
5.1 KiB
PHP
134 lines
5.1 KiB
PHP
<?php
|
|
/**
|
|
* Copyright 2012-2026 ShopeX (https://www.shopex.cn)
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
/*
|
|
**@author Kris wang 406048119@qq.com
|
|
**报残控制器
|
|
*/
|
|
class console_ctl_admin_damaged extends desktop_controller{
|
|
/**
|
|
* index
|
|
* @return mixed 返回值
|
|
*/
|
|
public function index(){
|
|
$branchMdl = app::get('ome')->model('branch');
|
|
$branch_list = $branchMdl->getList('branch_id,name',array('type'=>array('main','aftersale'),'b_type'=>1));
|
|
$this->pagedata['branch_list'] = $branch_list;
|
|
$this->page('admin/damaged.html');
|
|
}
|
|
|
|
/**
|
|
* 添加_products
|
|
* @return mixed 返回值
|
|
*/
|
|
public function add_products(){
|
|
$res = array('res'=>'succ');
|
|
$product_bn = trim($_POST['product_bn']);
|
|
$branch_id = intval($_POST['branch_id']);
|
|
|
|
$bpMdl = app::get('ome')->model('branch_product');
|
|
|
|
$basicMaterialObj = app::get('material')->model('basic_material');
|
|
$product_data_tmp = $basicMaterialObj->getList('bm_id, material_name, material_bn', array('material_bn'=>$product_bn), 0, 1);
|
|
|
|
$product_id = $product_data_tmp[0]['bm_id'];
|
|
$product_data = $bpMdl->getList('store as num',array('product_id'=>$product_id,'branch_id'=>$branch_id));
|
|
|
|
if(empty($product_data)){
|
|
$res['res'] = 'false';
|
|
$res['msg'] = '货号不存在';
|
|
echo json_encode($res);exit;
|
|
}
|
|
$res['data']['bn'] = $product_bn;
|
|
$res['data']['product_id'] = $product_data_tmp[0]['bm_id'];
|
|
$res['data']['name'] = $product_data_tmp[0]['material_name'];
|
|
$res['data']['num'] = $product_data[0]['num'];
|
|
$res['data']['price'] = 0;
|
|
echo json_encode($res);exit;
|
|
}
|
|
|
|
/**
|
|
* do_action
|
|
* @return mixed 返回值
|
|
*/
|
|
public function do_action(){
|
|
$url = 'index.php?app=console&ctl=admin_damaged&act=index';
|
|
$this->begin($url);
|
|
|
|
$bpMdl = app::get('ome')->model('branch_product');
|
|
|
|
|
|
$branch_id = $_POST['branch_id'];
|
|
if(empty($branch_id)){
|
|
$this->end(false,'请选择仓库');
|
|
}
|
|
#判断仓库有没有相关的残仓
|
|
$damaged_branch = kernel::single('console_iostockdata')->getDamagedbranch($branch_id);
|
|
if(!$damaged_branch){
|
|
$this->end(false,'所选仓库没有对应残仓,无法进行报残操作');
|
|
}
|
|
$damaged_branch_id = $damaged_branch['branch_id'];
|
|
#判断库存数 与 报残数的 大小
|
|
$in = $out =array();
|
|
|
|
$type_out = 5;
|
|
$type_in = 50;
|
|
$operator = kernel::single('desktop_user')->get_name();
|
|
foreach($_POST['num'] as $product_id=>$num){
|
|
if(!is_int(intval($num)) || $num <= 0) $this->end(false,'请输入大于零的正整数');
|
|
//todo 只判断实际库存
|
|
$data = $bpMdl->getList('store',array('branch_id'=>$branch_id,'product_id'=>$product_id));
|
|
if($data[0]['store'] < $num){
|
|
$this->end(false,$_POST['name'][$product_id].' 库存数小于报残数量,请重新确认');
|
|
}
|
|
#入库数据
|
|
$in[$product_id]['bn'] = $_POST['bn'][$product_id];
|
|
$in[$product_id]['branch_id'] = $damaged_branch_id;
|
|
$in[$product_id]['nums'] = $_POST['num'][$product_id];
|
|
|
|
$in[$product_id]['iostock_price'] = $_POST['price'][$product_id];
|
|
$in[$product_id]['type_id'] = $type_in;
|
|
#出库数据
|
|
$out[$product_id]['bn'] = $_POST['bn'][$product_id];
|
|
$out[$product_id]['branch_id'] = $branch_id;
|
|
$out[$product_id]['nums'] = $_POST['num'][$product_id];
|
|
|
|
$out[$product_id]['iostock_price'] = $_POST['price'][$product_id];
|
|
$out[$product_id]['type_id'] = $type_out;
|
|
}
|
|
|
|
#生成 残损出入库单
|
|
#1出库 0 入库
|
|
if ($in){
|
|
$instockLib = kernel::single('siso_receipt_iostock_damagedin');
|
|
$instockLib->_typeId = 50;
|
|
if(!$instockLib->create(array('items'=>$in,'operator'=>$operator), $data, $msg)){
|
|
|
|
$this->end(false,'残损入库操作失败');
|
|
}
|
|
}
|
|
if ($out){
|
|
$outstockLib = kernel::single('siso_receipt_iostock_damagedout');
|
|
$outstockLib->_typeId = 5;
|
|
if(!$outstockLib->create(array('items'=>$out,'operator'=>$operator), $data, $msg)){
|
|
|
|
$this->end(false,'残损出库操作失败');
|
|
}
|
|
}
|
|
$this->end(true,$url);
|
|
}
|
|
} |