interfaces.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. /**
  2. * Created by vian on 2017/3/20.
  3. */
  4. var model = require("./billsModel");
  5. var counter = require("../../../public/counter/counter");
  6. var StdBillsLib = model.stdBillsLibMod;
  7. var Bills = model.billsMod;
  8. var JobContent = model.jobContentMod;
  9. var ItemCharacter = model.itemCharacterMod;
  10. var fieldArr = ["code", "name", "unit", "ruleText", "Expression"];
  11. var billsDao = function(){};
  12. //----------StdBillsLib-------------------
  13. billsDao.prototype.getStdBillsLib = function(userId, callback){
  14. StdBillsLib.find({}, "-_id", function(err, data){
  15. if(err){
  16. callback(1, "Error", null);
  17. }
  18. else{
  19. callback(0, "", data);
  20. }
  21. })
  22. }
  23. billsDao.prototype.createStdBillsLib = function(clibData, callback){
  24. counter.getIDAfterCount("bills", 1, function(err, result){
  25. var billsLibId = result.value.sequence_value;
  26. var billsLibName = clibData.name;
  27. var createDate = Date.now();
  28. var newStdBillsLib = {
  29. billsLibId: billsLibId,
  30. billsLibName: billsLibName,
  31. createDate: createDate
  32. }
  33. StdBillsLib.create(newStdBillsLib, function(err){
  34. if(err){
  35. callback(1, "Error", null);
  36. }
  37. else {
  38. StdBillsLib.find({billsLibId: billsLibId}, function(err, data){
  39. if(err){
  40. callback(1, "Error", null)
  41. }
  42. else {
  43. callback(0, "", data);
  44. }
  45. });
  46. }
  47. });
  48. });
  49. }
  50. billsDao.prototype.deleteStdBillsLib = function(billsLibId, callback){
  51. StdBillsLib.remove({billsLibId: billsLibId}, function(err){
  52. if(err){
  53. callback(1, "Error");
  54. }
  55. else{
  56. callback(0, "");
  57. }
  58. });
  59. }
  60. billsDao.prototype.renameStdBillsLib = function(renameData, callback){
  61. var billsLibId = renameData.id;
  62. var renameVal = renameData.value;
  63. StdBillsLib.update({billsLibId: billsLibId}, {$set:{billsLibName: renameVal}}, function(err){
  64. if(err){
  65. callback(1, "Error");
  66. }
  67. else{
  68. callback(0, "");
  69. }
  70. });
  71. }
  72. //----------------------------Bills---------------------
  73. billsDao.prototype.getBills = function (billsLibId, callback) {
  74. Bills.find({billsLibId: billsLibId},"-_id", function(err, billsData){
  75. if(err){
  76. callback(1, "Error", null);
  77. }
  78. else{
  79. callback(0, "", billsData);
  80. }
  81. });
  82. }
  83. billsDao.prototype.createBills = function(cbillsData, callback){
  84. var field = cbillsData.field;
  85. var data = cbillsData.data;
  86. var newId = cbillsData.id;//ǰ��ͨ�� counter.getIDAfterCount("bills", 1);���
  87. var billsLibId = cbillsData.billsLibId;
  88. var newBills;
  89. if(field == "code"){
  90. newBills = {
  91. ID: newId,
  92. ParentID: cbillsData.parentId,
  93. NextSiblingID: cbillsData.nextSiblingId,
  94. billsLibId: billsLibId,
  95. code: data
  96. }
  97. }
  98. else if(field == "name"){
  99. newBills = {
  100. ID: newId,
  101. ParentID: cbillsData.parentId,
  102. NextSiblingID: cbillsData.nextSiblingId,
  103. billsLibId: billsLibId,
  104. name: data
  105. }
  106. }
  107. else if(field == "unit"){
  108. newBills = {
  109. ID: newId,
  110. ParentID: cbillsData.parentId,
  111. NextSiblingID: cbillsData.nextSiblingId,
  112. billsLibId: billsLibId,
  113. unit: data
  114. }
  115. }
  116. else if(field == "ruleText"){
  117. newBills = {
  118. ID: newId,
  119. ParentID: cbillsData.parentId,
  120. NextSiblingID: cbillsData.nextSiblingId,
  121. billsLibId: billsLibId,
  122. ruleText: data
  123. }
  124. }
  125. Bills.create(newBills, function(err){
  126. if(err){
  127. callback(1, "Error");
  128. }
  129. else{
  130. callback(0, "");
  131. }
  132. });
  133. }
  134. //������ɾ������¸ı��˵�nextSiblingId
  135. billsDao.prototype.updateNextSiblingId = function(uNextData, callback){
  136. var updateId = uNextData.id;
  137. var updateData = uNextData.data;
  138. Bills.update({ID: updateId}, {$set: {NextSiblingID: updateData}}, function(err){
  139. if(err){
  140. callback(1, "Error")
  141. }
  142. else{
  143. callback(0, "");
  144. }
  145. });
  146. }
  147. billsDao.prototype.updateBills = function(ubillsData, callback){
  148. var updateId = ubillsData.id;
  149. var updateField = ubillsData.field;
  150. var updateData = ubillsData.data;
  151. if(updateField == "code"){
  152. Bills.update({ID: updateId}, {$set:{code: updateData}}, function(err){
  153. if(err){
  154. callback(1, "Error");
  155. }
  156. else {
  157. callback(0, "");
  158. }
  159. });
  160. }
  161. else if(updateField == "name"){
  162. Bills.update({ID: updateId}, {$set:{name: updateData}}, function(err){
  163. if(err){
  164. callback(1, "Error");
  165. }
  166. else {
  167. callback(0, "");
  168. }
  169. });
  170. }
  171. else if(updateField == "unit"){
  172. Bills.update({ID: updateId}, {$set:{unit: updateData}}, function(err){
  173. if(err){
  174. callback(1, "Error");
  175. }
  176. else {
  177. callback(0, "");
  178. }
  179. });
  180. }
  181. else if(updateField == "ruleText"){
  182. Bills.update({ID: updateId}, {$set:{ruleText: updateData}}, function(err){
  183. if(err){
  184. callback(1, "Error");
  185. }
  186. else {
  187. callback(0, "");
  188. }
  189. });
  190. }
  191. }
  192. billsDao.prototype.deleteBills = function(deleteIds, callback){
  193. //ǰ�˿��Ƶõ���ɾ�������нڵ�deleteIds
  194. if(deleteIds){
  195. for(var i=0; i<deleteIds.length; i++){
  196. Bills.remove({ID: deleteIds[i]}, function(err){
  197. if(err){
  198. callback(1, "Error");
  199. }
  200. else{
  201. callback(0, "");
  202. }
  203. });
  204. }
  205. }
  206. }
  207. //--------------JobContent------------------
  208. billsDao.prototype.getJobContent = function(billsLibId, callback){
  209. JobContent.find({billsLibId: billsLibId}, "-_id", function(err, jobs){
  210. if(err){
  211. callback(1, "Error", null);
  212. }
  213. else{
  214. callback(0, "", jobs)
  215. }
  216. });
  217. }
  218. billsDao.prototype.createJobContent = function(cJobData, callback){
  219. var field = cJobData.field;
  220. var data = cJobData.data;
  221. var id = counter.getIDAfterCount("bills", 1);
  222. var billsLibId = cJobData.billsLibId;
  223. var newJobContent;
  224. if(field == "code"){
  225. newJobContent = {
  226. id: id,
  227. billsLibId: billsLibId,
  228. code: data
  229. }
  230. }
  231. else if(field == "content"){
  232. newJobContent = {
  233. id: id,
  234. billsLibId: billsLibId,
  235. content: data
  236. }
  237. }
  238. JobContent.create(newJobContent, function(err){
  239. if(err){
  240. callback(1, "Error");
  241. }
  242. else{
  243. callback(0, "");
  244. }
  245. });
  246. }
  247. billsDao.prototype.updateJobContent = function(uJobData, callback){
  248. var field = cJobData.field;
  249. var updateData = cJobData.data;
  250. var id = cJobData.id;
  251. if(field == "code"){
  252. JobContent.update({id: id}, {$set: {code: updateData}}, function(err){
  253. if(err){
  254. callback(1, "Error");
  255. }
  256. else{
  257. callback(0, "");
  258. }
  259. });
  260. }
  261. else if(field == "content"){
  262. JobContent.update({id: id}, {$set: {content: updateData}}, function(err){
  263. if(err){
  264. callback(1, "Error");
  265. }
  266. else{
  267. callback(0, "");
  268. }
  269. });
  270. }
  271. }
  272. billsDao.prototype.deleteJobContent = function(jobId, callback){
  273. JobContent.remove({id: jobId}, function(err){
  274. if(err){
  275. callback(1, "Error");
  276. }
  277. else{
  278. callback(0, "");
  279. }
  280. });
  281. }
  282. //----------------------ItemCharacter---------------------
  283. billsDao.prototype.getItemCharacter = function(billsLibId, callback){
  284. ItemCharacter.find({billsLibId: billsLibId}, "-_id", function(err, items){
  285. if(err){
  286. callback(1, "Error", null);
  287. }
  288. else{
  289. callback(0, "", items)
  290. }
  291. });
  292. }
  293. billsDao.prototype.createItemCharacter = function(cItemData, callback){
  294. var field = cItemData.field;
  295. var data = cItemData.data;
  296. var id = counter.getIDAfterCount("bills", 1);
  297. var billsLibId = cItemData.billsLibId;
  298. var newItemCharacter;
  299. if(field == "code"){
  300. newItemCharacter = {
  301. id: id,
  302. billsLibId: billsLibId,
  303. code: data
  304. }
  305. }
  306. else if(field == "content"){
  307. newItemCharacter = {
  308. id: id,
  309. billsLibId: billsLibId,
  310. content: data
  311. }
  312. }
  313. }
  314. billsDao.prototype.updateItemCharacter = function(uItemData, callback){
  315. var field = uItemData.field;
  316. var updateData = uItemData.data;
  317. var id = uItemData.id;
  318. if(field == "code"){
  319. ItemCharacter.update({id: id}, {$set: {code: updateData}}, function(err){
  320. if(err){
  321. callback(1, "Error");
  322. }
  323. else{
  324. callback(0, "");
  325. }
  326. });
  327. }
  328. else if(field == "character"){
  329. ItemCharacter.update({id: id}, {$set: {character: updateData}}, function(err){
  330. if(err){
  331. callback(1, "Error");
  332. }
  333. else{
  334. callback(0, "");
  335. }
  336. });
  337. }
  338. }
  339. billsDao.prototype.deleteItemCharacter = function(itemId, callback){
  340. JobContent.remove({id: itemId}, function(err){
  341. if(err){
  342. callback(1, "Error");
  343. }
  344. else{
  345. callback(0, "");
  346. }
  347. });
  348. }
  349. //----------------------itemValue
  350. //-----------------------------
  351. module.exports = new billsDao();