billsLibInterfaces.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  1. /**
  2. * Created by vian on 2017/3/20.
  3. */
  4. var model = require("./billsLibModel");
  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. billsDao.prototype.getStdBillsLibName = function(billsLibId, callback){
  73. StdBillsLib.find({billsLibId: billsLibId}, "-_id", function(err, data){
  74. if(err){
  75. callback(1, "Error", null);
  76. }
  77. else {
  78. callback(0, "", data);
  79. }
  80. });
  81. }
  82. //----------------------------Bills---------------------
  83. billsDao.prototype.getBills = function (billsLibId, callback) {
  84. Bills.find({billsLibId: billsLibId}, "-_id", function(err, billsData){
  85. if(err){
  86. callback(1, "Error", null);
  87. }
  88. else{
  89. callback(0, "", billsData);
  90. }
  91. });
  92. }
  93. billsDao.prototype.createBills = function(cbillsData, callback){
  94. counter.getIDAfterCount('bills', 1, function(err, result){
  95. var newId = result.value.sequence_value;
  96. var pid = cbillsData.ParentID;
  97. var nid = cbillsData.NextSiblingID;
  98. var billsLibId = cbillsData.billsLibId;
  99. var newBills = {
  100. ID: newId,
  101. ParentID: pid,
  102. NextSiblingID: nid,
  103. billsLibId: billsLibId
  104. };
  105. Bills.create(newBills, function(err){
  106. if(err){
  107. callback(1, "Error");
  108. }
  109. else{
  110. callback(0, "");
  111. }
  112. });
  113. })
  114. }
  115. billsDao.prototype.updatePNId= function(updateData, callback){
  116. var updateId = updateData.updateId;
  117. var updatepid= updateData.ParentID;
  118. var updatenid = updateData.NextSiblingID;
  119. if(!updatepid){
  120. Bills.update({ID: updateId}, {$set: {NextSiblingID: updatenid}}, function(err){
  121. if(err){
  122. callback(1, "Error")
  123. }
  124. else{
  125. callback(0, "");
  126. }
  127. });
  128. }
  129. else if(!updatenid){
  130. Bills.update({ID: updateId}, {$set: {ParentID: updatepid}}, function(err){
  131. if(err){
  132. callback(1, "Error")
  133. }
  134. else{
  135. callback(0, "");
  136. }
  137. });
  138. }
  139. else {
  140. Bills.update({ID: updateId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
  141. if(err){
  142. callback(1, "Error")
  143. }
  144. else{
  145. callback(0, "");
  146. }
  147. });
  148. }
  149. }
  150. /* Bills.update({nodeId: updateNode, billsLibId: billsLibId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
  151. if(err){
  152. callback(1, "Error")
  153. }
  154. else{
  155. callback(0, "");
  156. }
  157. });*/
  158. billsDao.prototype.updateBills = function(ubillsData, callback){
  159. var updateId = ubillsData.id;
  160. var updateField = ubillsData.field;
  161. var updateData = ubillsData.data;
  162. if(updateField == "code"){
  163. Bills.update({ID: updateId}, {$set:{code: updateData}}, function(err){
  164. if(err){
  165. callback(1, "Error");
  166. }
  167. else {
  168. callback(0, "");
  169. }
  170. });
  171. }
  172. else if(updateField == "name"){
  173. Bills.update({ID: updateId}, {$set:{name: updateData}}, function(err){
  174. if(err){
  175. callback(1, "Error");
  176. }
  177. else {
  178. callback(0, "");
  179. }
  180. });
  181. }
  182. else if(updateField == "unit"){
  183. Bills.update({ID: updateId}, {$set:{unit: updateData}}, function(err){
  184. if(err){
  185. callback(1, "Error");
  186. }
  187. else {
  188. callback(0, "");
  189. }
  190. });
  191. }
  192. else if(updateField == "ruleText"){
  193. Bills.update({ID: updateId}, {$set:{ruleText: updateData}}, function(err){
  194. if(err){
  195. callback(1, "Error");
  196. }
  197. else {
  198. callback(0, "");
  199. }
  200. });
  201. }
  202. }
  203. billsDao.prototype.deleteBills = function(deleteIds, callback){
  204. //ǰ�˿��Ƶõ���ɾ�������нڵ�deleteIds
  205. if(deleteIds){
  206. for(var i=0; i<deleteIds.length; i++){
  207. Bills.remove({ID: deleteIds[i]}, function(err){
  208. if(err){
  209. callback(1, "Error");
  210. }
  211. else{
  212. callback(0, "");
  213. }
  214. });
  215. }
  216. }
  217. }
  218. //--------------JobContent------------------
  219. billsDao.prototype.getJobContent = function(billsLibId, callback){
  220. JobContent.find({billsLibId: billsLibId}, "-_id", function(err, jobs){
  221. if(err){
  222. callback(1, "Error", null);
  223. }
  224. else{
  225. callback(0, "", jobs)
  226. }
  227. });
  228. }
  229. billsDao.prototype.createJobContent = function(cJobData, callback){
  230. var field = cJobData.field;
  231. var data = cJobData.data;
  232. var id = counter.getIDAfterCount("billsLib", 1);
  233. var billsLibId = cJobData.billsLibId;
  234. var newJobContent;
  235. if(field == "code"){
  236. newJobContent = {
  237. id: id,
  238. billsLibId: billsLibId,
  239. code: data
  240. }
  241. }
  242. else if(field == "content"){
  243. newJobContent = {
  244. id: id,
  245. billsLibId: billsLibId,
  246. content: data
  247. }
  248. }
  249. JobContent.create(newJobContent, function(err){
  250. if(err){
  251. callback(1, "Error");
  252. }
  253. else{
  254. callback(0, "");
  255. }
  256. });
  257. }
  258. billsDao.prototype.updateJobContent = function(uJobData, callback){
  259. var field = cJobData.field;
  260. var updateData = cJobData.data;
  261. var id = cJobData.id;
  262. if(field == "code"){
  263. JobContent.update({id: id}, {$set: {code: updateData}}, function(err){
  264. if(err){
  265. callback(1, "Error");
  266. }
  267. else{
  268. callback(0, "");
  269. }
  270. });
  271. }
  272. else if(field == "content"){
  273. JobContent.update({id: id}, {$set: {content: updateData}}, function(err){
  274. if(err){
  275. callback(1, "Error");
  276. }
  277. else{
  278. callback(0, "");
  279. }
  280. });
  281. }
  282. }
  283. billsDao.prototype.deleteJobContent = function(jobId, callback){
  284. JobContent.remove({id: jobId}, function(err){
  285. if(err){
  286. callback(1, "Error");
  287. }
  288. else{
  289. callback(0, "");
  290. }
  291. });
  292. }
  293. //----------------------ItemCharacter---------------------
  294. billsDao.prototype.getItemCharacter = function(billsLibId, callback){
  295. ItemCharacter.find({billsLibId: billsLibId}, "-_id", function(err, items){
  296. if(err){
  297. callback(1, "Error", null);
  298. }
  299. else{
  300. callback(0, "", items)
  301. }
  302. });
  303. }
  304. billsDao.prototype.createItemCharacter = function(cItemData, callback){
  305. var field = cItemData.field;
  306. var data = cItemData.data;
  307. var id = counter.getIDAfterCount("billsLib", 1);
  308. var billsLibId = cItemData.billsLibId;
  309. var newItemCharacter;
  310. if(field == "code"){
  311. newItemCharacter = {
  312. id: id,
  313. billsLibId: billsLibId,
  314. code: data
  315. }
  316. }
  317. else if(field == "content"){
  318. newItemCharacter = {
  319. id: id,
  320. billsLibId: billsLibId,
  321. content: data
  322. }
  323. }
  324. }
  325. billsDao.prototype.updateItemCharacter = function(uItemData, callback){
  326. var field = uItemData.field;
  327. var updateData = uItemData.data;
  328. var id = uItemData.id;
  329. if(field == "code"){
  330. ItemCharacter.update({id: id}, {$set: {code: updateData}}, function(err){
  331. if(err){
  332. callback(1, "Error");
  333. }
  334. else{
  335. callback(0, "");
  336. }
  337. });
  338. }
  339. else if(field == "character"){
  340. ItemCharacter.update({id: id}, {$set: {character: updateData}}, function(err){
  341. if(err){
  342. callback(1, "Error");
  343. }
  344. else{
  345. callback(0, "");
  346. }
  347. });
  348. }
  349. }
  350. billsDao.prototype.deleteItemCharacter = function(itemId, callback){
  351. JobContent.remove({id: itemId}, function(err){
  352. if(err){
  353. callback(1, "Error");
  354. }
  355. else{
  356. callback(0, "");
  357. }
  358. });
  359. }
  360. //----------------------itemValue
  361. //-----------------------------
  362. module.exports = new billsDao();