一、demo脚本
SET @modulename='CustomForm07';
SET @tabid=(SELECT tabid FROM ld_tab WHERE `name`=@modulename);
SET @relateid=(SELECT block FROM ld_field WHERE tabid=@tabid AND columnname='smownerid' LIMIT 1);
SET @maxseq=IFNULL((SELECT MAX(sequence) FROM ld_field WHERE tabid=@tabid AND block=@relateid),0);
SET @trantable='ld_field';
SET @tablename=(SELECT tablename FROM ld_field WHERE tabid=@tabid AND columnname='smownerid' LIMIT 1);
SET @columnname='operate_button';
SET @fieldname='operate_button';
SET @zh='预测提报';
SET @en='预测提报';
SET @uitype=231;
SET @typeofdata='V~O';
SET @quickcreate=1;
SET @displaytype=3;
SET @bigtype='richtext';
SET @datarang=NULL;
SET @maxrowsshow=0;SET @maxid=(SELECT MAX(fieldid) FROM ld_field);
INSERT INTO ld_field(tabid,fieldid,columnname,tablename,generatedtype,uitype,fieldname,fieldlabel,readonly,presence,defaultvalue,maximumlength,sequence,block,displaytype,typeofdata,quickcreate,quickcreatesequence,info_type,masseditable,helpinfo,fieldonly,approve_demand,is_checkimportfield,bigtype,datarang,maxrowsshow)
SELECT @tabid,@maxid+1,@columnname,@tablename,1,@uitype,@fieldname,@zh,1,2,NULL,100,@maxseq+1,@relateid,@displaytype,@typeofdata,@quickcreate,NULL,NULL,1,NULL,0,2,0,@bigtype,@datarang,@maxrowsshow from dual
WHERE NOT EXISTS (SELECT 1 FROM ld_field WHERE tabid=@tabid AND tablename=@tablename AND columnname=@columnname);UPDATE ld_field_seq SET id=(SELECT max(fieldid) FROM ld_field);
SET @relateid=(SELECT fieldid FROM ld_field WHERE tabid=@tabid AND columnname=@columnname LIMIT 1);
INSERT INTO ld_tranlabel(languagetype,trantable,tabid,relateid,fieldlabel)
SELECT 'zh',@trantable,@tabid,@relateid,@zh FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM ld_tranlabel WHERE languagetype = 'zh' AND trantable =@trantable AND tabid = @tabid AND relateid=@relateid);INSERT INTO ld_tranlabel(languagetype,trantable,tabid,relateid,fieldlabel)
SELECT 'en',@trantable,@tabid,@relateid,@en FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM ld_tranlabel WHERE languagetype = 'en' AND trantable =@trantable AND tabid = @tabid AND relateid=@relateid);CALl AddColumn(@tablename,@columnname,'TEXT','200',NULL);
CALL getallprofile(@modulename);
CALL fieldprofile(@modulename);
DROP TRIGGER IF EXISTS `trigger_before_form07_insert`;
DELIMITER ;;
CREATE TRIGGER `trigger_before_form07_insert` BEFORE INSERT ON `ld_customform07` FOR EACH ROW BEGINIF @disable_triggers IS NULL THEN
SET @add_html='<a title=\"新建\" href=\"javascript:void(0);\" onclick=\"related_add_url(\'index.php?module=CustomForm25&action=EditView&return_module=CustomForm25&return_action=DetailView&relatedcreate=yes&Create=true&frommodule=CustomForm07&fromid=this_form07id&parent_id=this_form07id\',\'CustomForm07\',\'CustomForm25\',\'this_form07id\');\">\r\n<span>新建</span></a>';
SET NEW.operate_button=REPLACE(@add_html,'this_form07id',NEW.customform07id);
END IF;END
;;
DELIMITER ;
DROP TRIGGER IF EXISTS `trigger_before_form07_update`;
DELIMITER ;;
CREATE TRIGGER `trigger_before_form07_update` BEFORE UPDATE ON `ld_customform07` FOR EACH ROW BEGINIF @disable_triggers IS NULL THEN
SET @this_relatedform25id=(SELECT customform25id FROM ld_customform25 WHERE deleted=0 AND customform07_id=NEW.customform07id ORDER BY IFNULL(modifiedtime,createdtime) DESC,customform25id DESC LIMIT 1);
IF @this_relatedform25id>0 THEN
SET @edit_html='<a href=\"javascript:void(0);\" onclick=\"check_edit_click(this,\'CustomForm25\',\'this_form25id\');\" type=\"redirect\" r_m=\"CustomForm07\" r_a=\"DetailView\" r_r=\"this_form07id\" attach_id=\"\" style=\"white-space:nowrap;\">编辑</a>';
SET NEW.operate_button=REPLACE(@edit_html,'this_form07id',NEW.customform07id);
SET NEW.operate_button=REPLACE(@edit_html,'this_form25id',@this_relatedform25id);
ELSE
SET @add_html='<a title=\"新建\" href=\"javascript:void(0);\" onclick=\"related_add_url(\'index.php?module=CustomForm25&action=EditView&return_module=CustomForm25&return_action=DetailView&relatedcreate=yes&Create=true&frommodule=CustomForm07&fromid=this_form07id&parent_id=this_form07id\',\'CustomForm07\',\'CustomForm25\',\'this_form07id\');\">\r\n<span>新建</span></a>';
SET NEW.operate_button=REPLACE(@add_html,'this_form07id',NEW.customform07id);
END IF;
END IF;END
;;
DELIMITER ;
DROP TRIGGER IF EXISTS `trigger_after_form25_update`;
DELIMITER ;;
CREATE TRIGGER `trigger_after_form25_update` AFTER UPDATE ON `ld_customform25` FOR EACH ROW BEGINIF @disable_triggers IS NULL THEN
IF (NEW.triggercount<>OLD.triggercount OR NEW.deleted<>OLD.deleted) AND NEW.customform07_id>0 THEN
UPDATE ld_customform07 SET operate_button='' WHERE customform07id=NEW.customform07_id;
END IF;IF OLD.customform07_id>0 AND OLD.customform07_id<>NEW.customform07_id THEN
UPDATE ld_customform07 SET operate_button='' WHERE customform07id=OLD.customform07_id;
END IF;
END IF;END
;;
DELIMITER ;