Question.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. package net.diaowen.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 net.diaowen.common.base.entity.IdEntity;
  9. import net.diaowen.common.YesnoOption;
  10. import net.diaowen.common.CheckType;
  11. import net.diaowen.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 String rowContent="";
  234. private String colContent="";
  235. private String optionContent="";
  236. //删除的ID
  237. private String[] removeOptionUuIds=null;
  238. //题答卷
  239. private AnAnswer anAnswer=new AnAnswer();
  240. private List<AnCheckbox> anCheckboxs=new ArrayList<AnCheckbox>();
  241. private List<AnDFillblank> anDFillblanks=new ArrayList<AnDFillblank>();
  242. private List<AnEnumqu> anEnumqus=new ArrayList<AnEnumqu>();
  243. private AnFillblank anFillblank=new AnFillblank();
  244. private AnRadio anRadio=new AnRadio();
  245. private AnYesno anYesno=new AnYesno();
  246. private List<AnScore> anScores=new ArrayList<AnScore>();
  247. private Integer anCount=0;
  248. private List<AnOrder> anOrders = new ArrayList<AnOrder>();
  249. private List<AnUplodFile> anUplodFiles=new ArrayList<AnUplodFile>();
  250. //逻辑设置
  251. private List<QuestionLogic> questionLogics;
  252. @Transient
  253. public List<QuRadio> getQuRadios() {
  254. return quRadios;
  255. }
  256. public void setQuRadios(List<QuRadio> quRadios) {
  257. this.quRadios = quRadios;
  258. }
  259. @Transient
  260. public List<QuCheckbox> getQuCheckboxs() {
  261. return quCheckboxs;
  262. }
  263. public void setQuCheckboxs(List<QuCheckbox> quCheckboxs) {
  264. this.quCheckboxs = quCheckboxs;
  265. }
  266. @Transient
  267. public List<QuMultiFillblank> getQuMultiFillblanks() {
  268. return quMultiFillblanks;
  269. }
  270. public void setQuMultiFillblanks(List<QuMultiFillblank> quMultiFillblanks) {
  271. this.quMultiFillblanks = quMultiFillblanks;
  272. }
  273. @Transient
  274. public List<QuScore> getQuScores() {
  275. return quScores;
  276. }
  277. public void setQuScores(List<QuScore> quScores) {
  278. this.quScores = quScores;
  279. }
  280. @Transient
  281. public List<QuOrderby> getQuOrderbys() {
  282. return quOrderbys;
  283. }
  284. public void setQuOrderbys(List<QuOrderby> quOrderbys) {
  285. this.quOrderbys = quOrderbys;
  286. }
  287. @Transient
  288. public String getRowContent() {
  289. return rowContent;
  290. }
  291. public void setRowContent(String rowContent) {
  292. this.rowContent = rowContent;
  293. }
  294. @Transient
  295. public String getColContent() {
  296. return colContent;
  297. }
  298. public void setColContent(String colContent) {
  299. this.colContent = colContent;
  300. }
  301. @Transient
  302. public String getOptionContent() {
  303. return optionContent;
  304. }
  305. public void setOptionContent(String optionContent) {
  306. this.optionContent = optionContent;
  307. }
  308. @Transient
  309. public String[] getRemoveOptionUuIds() {
  310. return removeOptionUuIds;
  311. }
  312. public void setRemoveOptionUuIds(String[] removeOptionUuIds) {
  313. this.removeOptionUuIds = removeOptionUuIds;
  314. }
  315. @Transient
  316. public List<Question> getQuestions() {
  317. return questions;
  318. }
  319. public void setQuestions(List<Question> questions) {
  320. this.questions = questions;
  321. }
  322. @Transient
  323. public AnAnswer getAnAnswer() {
  324. return anAnswer;
  325. }
  326. public void setAnAnswer(AnAnswer anAnswer) {
  327. this.anAnswer = anAnswer;
  328. }
  329. @Transient
  330. public List<AnCheckbox> getAnCheckboxs() {
  331. return anCheckboxs;
  332. }
  333. public void setAnCheckboxs(List<AnCheckbox> anCheckboxs) {
  334. this.anCheckboxs = anCheckboxs;
  335. }
  336. @Transient
  337. public List<AnDFillblank> getAnDFillblanks() {
  338. return anDFillblanks;
  339. }
  340. public void setAnDFillblanks(List<AnDFillblank> anDFillblanks) {
  341. this.anDFillblanks = anDFillblanks;
  342. }
  343. @Transient
  344. public List<AnEnumqu> getAnEnumqus() {
  345. return anEnumqus;
  346. }
  347. public void setAnEnumqus(List<AnEnumqu> anEnumqus) {
  348. this.anEnumqus = anEnumqus;
  349. }
  350. @Transient
  351. public AnFillblank getAnFillblank() {
  352. return anFillblank;
  353. }
  354. public void setAnFillblank(AnFillblank anFillblank) {
  355. this.anFillblank = anFillblank;
  356. }
  357. @Transient
  358. public AnRadio getAnRadio() {
  359. return anRadio;
  360. }
  361. public void setAnRadio(AnRadio anRadio) {
  362. this.anRadio = anRadio;
  363. }
  364. @Transient
  365. public AnYesno getAnYesno() {
  366. return anYesno;
  367. }
  368. public void setAnYesno(AnYesno anYesno) {
  369. this.anYesno = anYesno;
  370. }
  371. @Transient
  372. public List<AnScore> getAnScores() {
  373. return anScores;
  374. }
  375. public void setAnScores(List<AnScore> anScores) {
  376. this.anScores = anScores;
  377. }
  378. @Transient
  379. public Integer getAnCount() {
  380. return anCount;
  381. }
  382. public void setAnCount(Integer anCount) {
  383. this.anCount = anCount;
  384. }
  385. @Transient
  386. public List<QuestionLogic> getQuestionLogics() {
  387. return questionLogics;
  388. }
  389. public void setQuestionLogics(List<QuestionLogic> questionLogics) {
  390. this.questionLogics = questionLogics;
  391. }
  392. @Transient
  393. public List<AnOrder> getAnOrders() {
  394. return anOrders;
  395. }
  396. public void setAnOrders(List<AnOrder> anOrders) {
  397. this.anOrders = anOrders;
  398. }
  399. @Transient
  400. public List<AnUplodFile> getAnUplodFiles() {
  401. return anUplodFiles;
  402. }
  403. public void setAnUplodFiles(List<AnUplodFile> anUplodFiles) {
  404. this.anUplodFiles = anUplodFiles;
  405. }
  406. //统计json
  407. public String statJson="";
  408. @Transient
  409. public String getStatJson() {
  410. return statJson;
  411. }
  412. public void setStatJson(String statJson) {
  413. this.statJson = statJson;
  414. }
  415. }