billsLibInterfaces.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384
  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. var newId = cbillsData.newId;
  95. var pid = cbillsData.ParentID;
  96. var nid = cbillsData.NextSiblingID;
  97. var billsLibId = cbillsData.billsLibId;
  98. var newBills = {
  99. ID: newId,
  100. ParentID: pid,
  101. NextSiblingID: nid,
  102. billsLibId: billsLibId
  103. };
  104. Bills.create(newBills, function(err){
  105. if(err){
  106. callback(1, "Error");
  107. }
  108. else{
  109. callback(0, "");
  110. }
  111. });
  112. }
  113. billsDao.prototype.updatePNId= function(updateData, callback){
  114. var billsLibId = updateData.billsLibId;
  115. var updateId = updateData.updateId;
  116. var updatepid= updateData.ParentID;
  117. var updatenid = updateData.NextSiblingID;
  118. if(!updatepid){
  119. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {NextSiblingID: updatenid}}, function(err){
  120. if(err){
  121. callback(1, "Error")
  122. }
  123. else{
  124. callback(0, "");
  125. }
  126. });
  127. }
  128. else if(!updatenid){
  129. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid}}, function(err){
  130. if(err){
  131. callback(1, "Error")
  132. }
  133. else{
  134. callback(0, "");
  135. }
  136. });
  137. }
  138. else {
  139. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
  140. if(err){
  141. callback(1, "Error")
  142. }
  143. else{
  144. callback(0, "");
  145. }
  146. });
  147. }
  148. }
  149. /* Bills.update({nodeId: updateNode, billsLibId: billsLibId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
  150. if(err){
  151. callback(1, "Error")
  152. }
  153. else{
  154. callback(0, "");
  155. }
  156. });*/
  157. billsDao.prototype.updateBills = function(ubillsData, callback){
  158. var updateId = ubillsData.id;
  159. var updateField = ubillsData.field;
  160. var updateData = ubillsData.data;
  161. if(updateField == "code"){
  162. Bills.update({ID: updateId}, {$set:{code: updateData}}, function(err){
  163. if(err){
  164. callback(1, "Error");
  165. }
  166. else {
  167. callback(0, "");
  168. }
  169. });
  170. }
  171. else if(updateField == "name"){
  172. Bills.update({ID: updateId}, {$set:{name: updateData}}, function(err){
  173. if(err){
  174. callback(1, "Error");
  175. }
  176. else {
  177. callback(0, "");
  178. }
  179. });
  180. }
  181. else if(updateField == "unit"){
  182. Bills.update({ID: updateId}, {$set:{unit: updateData}}, function(err){
  183. if(err){
  184. callback(1, "Error");
  185. }
  186. else {
  187. callback(0, "");
  188. }
  189. });
  190. }
  191. else if(updateField == "ruleText"){
  192. Bills.update({ID: updateId}, {$set:{ruleText: updateData}}, function(err){
  193. if(err){
  194. callback(1, "Error");
  195. }
  196. else {
  197. callback(0, "");
  198. }
  199. });
  200. }
  201. }
  202. billsDao.prototype.deleteBills = function(delData, callback){
  203. var deleteIds = delData.deleteIds;
  204. var billsLibId = delData.billsLibId;
  205. if(deleteIds){
  206. //deleteIds.forEach(function(deleteId){
  207. Bills.remove({billsLibId: billsLibId, ID: {$in: deleteIds}}, 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();