From 365f6718c483cd2c064d743eef559806dfd9c23f Mon Sep 17 00:00:00 2001 From: sunjun Date: Wed, 6 Apr 2022 17:12:01 +0800 Subject: [PATCH] *Fixbug #17344 --- module/product/lang/zh-cn.php | 1 + module/product/model.php | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/module/product/lang/zh-cn.php b/module/product/lang/zh-cn.php index 40a51df27b..2e44ae691e 100644 --- a/module/product/lang/zh-cn.php +++ b/module/product/lang/zh-cn.php @@ -89,6 +89,7 @@ $lang->product->notChangeProgramTip = "该{$lang->productCommon}的{$lang->SRCo $lang->product->confirmChangeProgram = "如下项目既关联了该{$lang->productCommon}又关联了其他{$lang->productCommon},请确认是否继续关联该{$lang->productCommon},勾选后将取消与其他{$lang->productCommon}的关联关系,同时转移至新项目集下。"; $lang->product->changeProgramError = "该{$lang->productCommon}的{$lang->SRCommon}已经关联到项目,请取消关联后再操作"; $lang->product->programEmpty = '项目集不能为空'; +$lang->product->nameIsDuplicate = "'%s'产品线已经存在,请重新设置!"; $lang->product->id = '编号'; $lang->product->program = "所属项目集"; diff --git a/module/product/model.php b/module/product/model.php index 1d3012d7ac..cc94341615 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -835,6 +835,25 @@ class productModel extends model $maxOrder = $this->dao->select("max(`order`) as maxOrder")->from(TABLE_MODULE)->where('type')->eq('line')->fetch('maxOrder'); $maxOrder = $maxOrder ? $maxOrder : 0; + + $lines = array(); + foreach($data->modules as $id => $name) + { + if(empty($name)) continue; + $productLine = new stdclass(); + $productLine->module = $name; + $productLine->program = $data->programs[$id]; + if(in_array($productLine, $lines)) + { + dao::$errors[] = sprintf($this->lang->product->nameIsDuplicate, $productLine->module); + return false; + } + else + { + $lines[] = $productLine; + } + } + foreach($data->modules as $id => $name) { if(empty($name)) continue;