mirror of
https://gitee.com/ShopeX/OMS
synced 2026-04-23 05:05:33 +08:00
1. 【新增】售后单售后原因类型支持搜索
2. 【新增】手工创建订单折扣可输入正数 3. 【优化】盘点申请单确认 4. 【修复】采购退货单模拟出库失败问题 5. 【新增】订单金额客户实付与结算金额 6. 【优化】仓库发货统计报表物料名称显示 7. 【优化】自有仓储虚拟发货逻辑 8. 【修复】基础物料分类管理问题
This commit is contained in:
175
app/ticket/lib/workflow/template.php
Normal file
175
app/ticket/lib/workflow/template.php
Normal file
@@ -0,0 +1,175 @@
|
||||
<?php
|
||||
/**
|
||||
* 审批流模板业务逻辑类
|
||||
*
|
||||
* @author shopex开发团队
|
||||
* @version 2025.07.10
|
||||
*/
|
||||
class ticket_workflow_template extends ticket_abstract {
|
||||
/**
|
||||
* 验证数据
|
||||
*
|
||||
* @param array $params
|
||||
* @return array
|
||||
*/
|
||||
public function checkParams(&$params)
|
||||
{
|
||||
$mdl = app::get('ticket')->model('workflow_template');
|
||||
|
||||
// check template_bn
|
||||
if(empty($params['template_bn'])){
|
||||
$error_msg = '模板编号必须填写';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
// check template_name
|
||||
if(empty($params['template_name'])){
|
||||
$error_msg = '模板名称必须填写';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
// check scene_type
|
||||
if(empty($params['scene_type'])){
|
||||
$error_msg = '请选择审批场景类型';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
// check description
|
||||
if(empty($params['description'])){
|
||||
$error_msg = '流程描述必须填写';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
// is_enabled
|
||||
if($params['is_enabled'] == 'false'){
|
||||
$params['is_enabled'] = 'false';
|
||||
}else{
|
||||
$params['is_enabled'] = 'true';
|
||||
}
|
||||
|
||||
// check exist
|
||||
if($params['id']){
|
||||
$rowInfo = $mdl->dump(array('id'=>$params['id']), '*');
|
||||
if(empty($rowInfo)){
|
||||
$error_msg = '编辑的记录不存在,请检查!';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
}else{
|
||||
//判断物料编码只能是由数字英文下划线组成
|
||||
$reg_bn_code = "/^[0-9a-zA-Z\_\#\-\/]*$/";
|
||||
if(!preg_match($reg_bn_code, $params['template_bn'])){
|
||||
$error_msg = "模板编号只支持(数字、英文、_下划线、-横线、#井号、/斜杠)组成";
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
//编码首字母只支持数字、英文、_下划线
|
||||
$reg_rule_2 = "/^[0-9a-zA-Z\_]*$/";
|
||||
$first_letter = substr($params['template_bn'], 0, 1);
|
||||
if(!preg_match($reg_rule_2, $first_letter)){
|
||||
$error_msg = "模板编号首字母只支持(数字、英文、_下划线)组成";
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->succ('数据验证成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存数据
|
||||
*
|
||||
* @param array $data
|
||||
* @param string $error_msg
|
||||
* @return bool
|
||||
*/
|
||||
public function saveData(&$data, &$error_msg=null)
|
||||
{
|
||||
$mdl = app::get('ticket')->model('workflow_template');
|
||||
|
||||
//data
|
||||
$saveData = [
|
||||
'template_bn' => $data['template_bn'],
|
||||
'template_name' => $data['template_name'],
|
||||
'scene_type' => $data['scene_type'],
|
||||
'description' => $data['description'],
|
||||
'is_enabled' => $data['is_enabled'],
|
||||
//'version' => 1,
|
||||
];
|
||||
|
||||
//check
|
||||
if(empty($saveData['template_bn'])){
|
||||
$error_msg = '提交的模板编号无效';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
if(empty($saveData['template_name'])){
|
||||
$error_msg = '提交的模板名称无效';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
if(empty($saveData['scene_type'])){
|
||||
$error_msg = '提交的模板类型无效';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
|
||||
// insert or update
|
||||
if($data['id']){
|
||||
//update
|
||||
$rs = $mdl->update($saveData, array('id'=>$data['id']));
|
||||
if(is_bool($rs)) {
|
||||
$error_msg = '更新数据失败或者数据无变化';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
}else{
|
||||
//insert
|
||||
$rs = $mdl->insert($saveData);
|
||||
if(!$rs){
|
||||
$error_msg = '插入数据失败';
|
||||
return $this->error($error_msg);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->succ('数据保存成功');
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取指定的审批场景类型名称
|
||||
*
|
||||
* @param $type_bn
|
||||
* @return string
|
||||
*/
|
||||
public function getSceneTypeName($type_bn)
|
||||
{
|
||||
$mdl = app::get('ticket')->model('workflow_template');
|
||||
|
||||
$typeList = $mdl->getSceneTypes();
|
||||
|
||||
if(isset($typeList[$type_bn])){
|
||||
return $typeList[$type_bn];
|
||||
}else{
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有审批模拟
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTemplateList($template_id=0)
|
||||
{
|
||||
$mdl = app::get('ticket')->model('workflow_template');
|
||||
|
||||
// filter
|
||||
$filter = ['is_enabled'=>'true'];
|
||||
|
||||
// 指定模板ID
|
||||
if($template_id){
|
||||
$filter['template_id'] = $template_id;
|
||||
}
|
||||
|
||||
// list
|
||||
$templateList = $mdl->getList('*', $filter, 0, -1);
|
||||
|
||||
return $templateList;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user