Question.java 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499
  1. package com.key.dwsurvey.entity;
  2. import java.util.ArrayList;
  3. import java.util.Date;
  4. import java.util.List;
  5. import javax.persistence.Entity;
  6. import javax.persistence.Table;
  7. import javax.persistence.Transient;
  8. import com.key.common.base.entity.IdEntity;
  9. import com.key.common.YesnoOption;
  10. import com.key.common.CheckType;
  11. import com.key.common.QuType;
  12. /**
  13. *
  14. * @author keyuan
  15. *
  16. * https://github.com/wkeyuan/DWSurvey
  17. * http://dwsurvey.net
  18. */
  19. @Entity
  20. @Table(name="t_question")
  21. public class Question extends IdEntity{
  22. //所属问卷或题库
  23. private String belongId;
  24. //题目名称
  25. private String quName;
  26. // 题干
  27. private String quTitle;
  28. // 题目说明
  29. private String quNote;
  30. // 关键字
  31. private String keywords;
  32. // 题目类型
  33. private QuType quType;
  34. // 标记 1题库中的题 2问卷中的题
  35. private Integer tag;
  36. // 排序ID
  37. private Integer orderById;
  38. // 创建时间
  39. private Date createDate=new Date();
  40. // 是否是大小题 1默认题 2大题 3大题下面的小题
  41. private Integer quTag=1;
  42. // 所属大题 只有小题才有此属性 即quTag=3的题
  43. private String parentQuId;
  44. // 是非题的选项
  45. private YesnoOption yesnoOption;
  46. // 是否必答 0非必答 1必答
  47. private Integer isRequired=0;
  48. //说明的验证方式
  49. private CheckType checkType;
  50. // 枚举题 枚举项数目 ,评分题起始分值
  51. private Integer paramInt01 = 3;
  52. //评分题,最大分值
  53. private Integer paramInt02 = 10;
  54. //是否显示 0不显示 1显示
  55. private Integer visibility=1;
  56. //如果是复制的题,则有复制于那一题
  57. public String copyFromId;
  58. //控制性属性
  59. //1水平显示 2垂直显示
  60. private Integer hv=2;
  61. //选项随机排列 1随机排列 0不随机排列
  62. private Integer randOrder=0;
  63. //按列显示时,列数
  64. private Integer cellCount=0;
  65. //联系人属性
  66. //1关联到联系人属性 0不关联到联系人属性
  67. private Integer contactsAttr=0;
  68. //关联的联系人字段
  69. private String contactsField;
  70. //填空的input
  71. private Integer answerInputWidth;
  72. private Integer answerInputRow;
  73. public String getBelongId() {
  74. return belongId;
  75. }
  76. public void setBelongId(String belongId) {
  77. this.belongId = belongId;
  78. }
  79. public String getQuName() {
  80. return quName;
  81. }
  82. public void setQuName(String quName) {
  83. this.quName = quName;
  84. }
  85. public String getQuTitle() {
  86. return quTitle;
  87. }
  88. public void setQuTitle(String quTitle) {
  89. this.quTitle = quTitle;
  90. }
  91. public String getQuNote() {
  92. return quNote;
  93. }
  94. public void setQuNote(String quNote) {
  95. this.quNote = quNote;
  96. }
  97. public String getKeywords() {
  98. return keywords;
  99. }
  100. public void setKeywords(String keywords) {
  101. this.keywords = keywords;
  102. }
  103. public QuType getQuType() {
  104. return quType;
  105. }
  106. public void setQuType(QuType quType) {
  107. this.quType = quType;
  108. }
  109. public Integer getTag() {
  110. return tag;
  111. }
  112. public void setTag(Integer tag) {
  113. this.tag = tag;
  114. }
  115. public Integer getOrderById() {
  116. return orderById;
  117. }
  118. public void setOrderById(Integer orderById) {
  119. this.orderById = orderById;
  120. }
  121. public Date getCreateDate() {
  122. return createDate;
  123. }
  124. public void setCreateDate(Date createDate) {
  125. this.createDate = createDate;
  126. }
  127. public Integer getQuTag() {
  128. return quTag;
  129. }
  130. public void setQuTag(Integer quTag) {
  131. this.quTag = quTag;
  132. }
  133. public String getParentQuId() {
  134. return parentQuId;
  135. }
  136. public void setParentQuId(String parentQuId) {
  137. this.parentQuId = parentQuId;
  138. }
  139. public Integer getVisibility() {
  140. return visibility;
  141. }
  142. public void setVisibility(Integer visibility) {
  143. this.visibility = visibility;
  144. }
  145. public Integer getHv() {
  146. return hv;
  147. }
  148. public void setHv(Integer hv) {
  149. this.hv = hv;
  150. }
  151. public YesnoOption getYesnoOption() {
  152. return yesnoOption;
  153. }
  154. public void setYesnoOption(YesnoOption yesnoOption) {
  155. this.yesnoOption = yesnoOption;
  156. }
  157. public Integer getIsRequired() {
  158. return isRequired;
  159. }
  160. public void setIsRequired(Integer isRequired) {
  161. this.isRequired = isRequired;
  162. }
  163. public Integer getParamInt01() {
  164. return paramInt01;
  165. }
  166. public void setParamInt01(Integer paramInt01) {
  167. this.paramInt01 = paramInt01;
  168. }
  169. public CheckType getCheckType() {
  170. return checkType;
  171. }
  172. public void setCheckType(CheckType checkType) {
  173. this.checkType = checkType;
  174. }
  175. public Integer getParamInt02() {
  176. return paramInt02;
  177. }
  178. public void setParamInt02(Integer paramInt02) {
  179. this.paramInt02 = paramInt02;
  180. }
  181. public String getCopyFromId() {
  182. return copyFromId;
  183. }
  184. public void setCopyFromId(String copyFromId) {
  185. this.copyFromId = copyFromId;
  186. }
  187. public Integer getRandOrder() {
  188. return randOrder;
  189. }
  190. public void setRandOrder(Integer randOrder) {
  191. this.randOrder = randOrder;
  192. }
  193. public Integer getCellCount() {
  194. return cellCount;
  195. }
  196. public void setCellCount(Integer cellCount) {
  197. this.cellCount = cellCount;
  198. }
  199. public Integer getContactsAttr() {
  200. return contactsAttr;
  201. }
  202. public void setContactsAttr(Integer contactsAttr) {
  203. this.contactsAttr = contactsAttr;
  204. }
  205. public String getContactsField() {
  206. return contactsField;
  207. }
  208. public void setContactsField(String contactsField) {
  209. this.contactsField = contactsField;
  210. }
  211. public Integer getAnswerInputWidth() {
  212. return answerInputWidth;
  213. }
  214. public void setAnswerInputWidth(Integer answerInputWidth) {
  215. this.answerInputWidth = answerInputWidth;
  216. }
  217. public Integer getAnswerInputRow() {
  218. return answerInputRow;
  219. }
  220. public void setAnswerInputRow(Integer answerInputRow) {
  221. this.answerInputRow = answerInputRow;
  222. }
  223. /**
  224. * 附加属性,不作映射
  225. */
  226. private List<Question> questions=new ArrayList<Question>();
  227. //题选项
  228. private List<QuRadio> quRadios=new ArrayList<QuRadio>();
  229. private List<QuCheckbox> quCheckboxs=new ArrayList<QuCheckbox>();
  230. private List<QuMultiFillblank> quMultiFillblanks=new ArrayList<QuMultiFillblank>();
  231. private List<QuScore> quScores=new ArrayList<QuScore>();
  232. private List<QuOrderby> quOrderbys=new ArrayList<QuOrderby>();
  233. private List<QuChenOption> options=new ArrayList<QuChenOption>();
  234. private List<QuChenRow> rows=new ArrayList<QuChenRow>();
  235. private List<QuChenColumn> columns=new ArrayList<QuChenColumn>();
  236. private String rowContent="";
  237. private String colContent="";
  238. private String optionContent="";
  239. //删除的ID
  240. private String[] removeOptionUuIds=null;
  241. //题答卷
  242. private AnAnswer anAnswer=new AnAnswer();
  243. private List<AnCheckbox> anCheckboxs=new ArrayList<AnCheckbox>();
  244. private List<AnDFillblank> anDFillblanks=new ArrayList<AnDFillblank>();
  245. private List<AnEnumqu> anEnumqus=new ArrayList<AnEnumqu>();
  246. private AnFillblank anFillblank=new AnFillblank();
  247. private AnRadio anRadio=new AnRadio();
  248. private AnYesno anYesno=new AnYesno();
  249. private List<AnScore> anScores=new ArrayList<AnScore>();
  250. private List<AnChenRadio> anChenRadios=new ArrayList<AnChenRadio>();
  251. private List<AnChenCheckbox> anChenCheckboxs=new ArrayList<AnChenCheckbox>();
  252. private List<AnChenFbk> anChenFbks=new ArrayList<AnChenFbk>();
  253. private List<AnCompChenRadio> anCompChenRadios=new ArrayList<AnCompChenRadio>();
  254. private Integer anCount=0;
  255. private List<AnChenScore> anChenScores=new ArrayList<AnChenScore>();
  256. private List<AnOrder> anOrders = new ArrayList<AnOrder>();
  257. //逻辑设置
  258. private List<QuestionLogic> questionLogics;
  259. @Transient
  260. public List<QuRadio> getQuRadios() {
  261. return quRadios;
  262. }
  263. public void setQuRadios(List<QuRadio> quRadios) {
  264. this.quRadios = quRadios;
  265. }
  266. @Transient
  267. public List<QuCheckbox> getQuCheckboxs() {
  268. return quCheckboxs;
  269. }
  270. public void setQuCheckboxs(List<QuCheckbox> quCheckboxs) {
  271. this.quCheckboxs = quCheckboxs;
  272. }
  273. @Transient
  274. public List<QuMultiFillblank> getQuMultiFillblanks() {
  275. return quMultiFillblanks;
  276. }
  277. public void setQuMultiFillblanks(List<QuMultiFillblank> quMultiFillblanks) {
  278. this.quMultiFillblanks = quMultiFillblanks;
  279. }
  280. @Transient
  281. public List<QuScore> getQuScores() {
  282. return quScores;
  283. }
  284. public void setQuScores(List<QuScore> quScores) {
  285. this.quScores = quScores;
  286. }
  287. @Transient
  288. public List<QuOrderby> getQuOrderbys() {
  289. return quOrderbys;
  290. }
  291. public void setQuOrderbys(List<QuOrderby> quOrderbys) {
  292. this.quOrderbys = quOrderbys;
  293. }
  294. @Transient
  295. public List<QuChenOption> getOptions() {
  296. return options;
  297. }
  298. public void setOptions(List<QuChenOption> options) {
  299. this.options = options;
  300. }
  301. @Transient
  302. public List<QuChenRow> getRows() {
  303. return rows;
  304. }
  305. public void setRows(List<QuChenRow> rows) {
  306. this.rows = rows;
  307. }
  308. @Transient
  309. public List<QuChenColumn> getColumns() {
  310. return columns;
  311. }
  312. public void setColumns(List<QuChenColumn> columns) {
  313. this.columns = columns;
  314. }
  315. @Transient
  316. public String getRowContent() {
  317. return rowContent;
  318. }
  319. public void setRowContent(String rowContent) {
  320. this.rowContent = rowContent;
  321. }
  322. @Transient
  323. public String getColContent() {
  324. return colContent;
  325. }
  326. public void setColContent(String colContent) {
  327. this.colContent = colContent;
  328. }
  329. @Transient
  330. public String getOptionContent() {
  331. return optionContent;
  332. }
  333. public void setOptionContent(String optionContent) {
  334. this.optionContent = optionContent;
  335. }
  336. @Transient
  337. public String[] getRemoveOptionUuIds() {
  338. return removeOptionUuIds;
  339. }
  340. public void setRemoveOptionUuIds(String[] removeOptionUuIds) {
  341. this.removeOptionUuIds = removeOptionUuIds;
  342. }
  343. @Transient
  344. public List<Question> getQuestions() {
  345. return questions;
  346. }
  347. public void setQuestions(List<Question> questions) {
  348. this.questions = questions;
  349. }
  350. @Transient
  351. public AnAnswer getAnAnswer() {
  352. return anAnswer;
  353. }
  354. public void setAnAnswer(AnAnswer anAnswer) {
  355. this.anAnswer = anAnswer;
  356. }
  357. @Transient
  358. public List<AnCheckbox> getAnCheckboxs() {
  359. return anCheckboxs;
  360. }
  361. public void setAnCheckboxs(List<AnCheckbox> anCheckboxs) {
  362. this.anCheckboxs = anCheckboxs;
  363. }
  364. @Transient
  365. public List<AnDFillblank> getAnDFillblanks() {
  366. return anDFillblanks;
  367. }
  368. public void setAnDFillblanks(List<AnDFillblank> anDFillblanks) {
  369. this.anDFillblanks = anDFillblanks;
  370. }
  371. @Transient
  372. public List<AnEnumqu> getAnEnumqus() {
  373. return anEnumqus;
  374. }
  375. public void setAnEnumqus(List<AnEnumqu> anEnumqus) {
  376. this.anEnumqus = anEnumqus;
  377. }
  378. @Transient
  379. public AnFillblank getAnFillblank() {
  380. return anFillblank;
  381. }
  382. public void setAnFillblank(AnFillblank anFillblank) {
  383. this.anFillblank = anFillblank;
  384. }
  385. @Transient
  386. public AnRadio getAnRadio() {
  387. return anRadio;
  388. }
  389. public void setAnRadio(AnRadio anRadio) {
  390. this.anRadio = anRadio;
  391. }
  392. @Transient
  393. public AnYesno getAnYesno() {
  394. return anYesno;
  395. }
  396. public void setAnYesno(AnYesno anYesno) {
  397. this.anYesno = anYesno;
  398. }
  399. @Transient
  400. public List<AnScore> getAnScores() {
  401. return anScores;
  402. }
  403. public void setAnScores(List<AnScore> anScores) {
  404. this.anScores = anScores;
  405. }
  406. @Transient
  407. public List<AnChenRadio> getAnChenRadios() {
  408. return anChenRadios;
  409. }
  410. public void setAnChenRadios(List<AnChenRadio> anChenRadios) {
  411. this.anChenRadios = anChenRadios;
  412. }
  413. @Transient
  414. public List<AnChenCheckbox> getAnChenCheckboxs() {
  415. return anChenCheckboxs;
  416. }
  417. public void setAnChenCheckboxs(List<AnChenCheckbox> anChenCheckboxs) {
  418. this.anChenCheckboxs = anChenCheckboxs;
  419. }
  420. @Transient
  421. public List<AnChenFbk> getAnChenFbks() {
  422. return anChenFbks;
  423. }
  424. public void setAnChenFbks(List<AnChenFbk> anChenFbks) {
  425. this.anChenFbks = anChenFbks;
  426. }
  427. @Transient
  428. public List<AnCompChenRadio> getAnCompChenRadios() {
  429. return anCompChenRadios;
  430. }
  431. public void setAnCompChenRadios(List<AnCompChenRadio> anCompChenRadios) {
  432. this.anCompChenRadios = anCompChenRadios;
  433. }
  434. @Transient
  435. public Integer getAnCount() {
  436. return anCount;
  437. }
  438. public void setAnCount(Integer anCount) {
  439. this.anCount = anCount;
  440. }
  441. @Transient
  442. public List<QuestionLogic> getQuestionLogics() {
  443. return questionLogics;
  444. }
  445. public void setQuestionLogics(List<QuestionLogic> questionLogics) {
  446. this.questionLogics = questionLogics;
  447. }
  448. @Transient
  449. public List<AnChenScore> getAnChenScores() {
  450. return anChenScores;
  451. }
  452. public void setAnChenScores(List<AnChenScore> anChenScores) {
  453. this.anChenScores = anChenScores;
  454. }
  455. @Transient
  456. public List<AnOrder> getAnOrders() {
  457. return anOrders;
  458. }
  459. public void setAnOrders(List<AnOrder> anOrders) {
  460. this.anOrders = anOrders;
  461. }
  462. //统计json
  463. public String statJson="";
  464. @Transient
  465. public String getStatJson() {
  466. return statJson;
  467. }
  468. public void setStatJson(String statJson) {
  469. this.statJson = statJson;
  470. }
  471. }