billsLibInterfaces.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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 billsLibDao = function(){};
  12. //----------StdBillsLib-------------------
  13. billsLibDao.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. billsLibDao.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. billsLibDao.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. billsLibDao.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. billsLibDao.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. billsLibDao.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. billsLibDao.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. code: '',
  104. name: '',
  105. unit: '',
  106. ruleText: '',
  107. Expression: '',
  108. recharge:'',
  109. };
  110. Bills.create(newBills, function(err){
  111. if(err){
  112. callback(1, "Error");
  113. }
  114. else{
  115. callback(0, "");
  116. }
  117. });
  118. }
  119. billsLibDao.prototype.updatePNId= function(updateData, callback){
  120. var billsLibId = updateData.billsLibId;
  121. var updateId = updateData.updateId;
  122. var updatepid= updateData.ParentID;
  123. var updatenid = updateData.NextSiblingID;
  124. if(!updatepid){
  125. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {NextSiblingID: updatenid}}, function(err){
  126. if(err){
  127. callback(1, "Error")
  128. }
  129. else{
  130. callback(0, "");
  131. }
  132. });
  133. }
  134. else if(!updatenid){
  135. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid}}, function(err){
  136. if(err){
  137. callback(1, "Error")
  138. }
  139. else{
  140. callback(0, "");
  141. }
  142. });
  143. }
  144. else {
  145. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ParentID: updatepid, NextSiblingID: updatenid}}, function(err){
  146. if(err){
  147. callback(1, "Error")
  148. }
  149. else{
  150. callback(0, "");
  151. }
  152. });
  153. }
  154. }
  155. billsLibDao.prototype.updateBills = function(ubillsData, callback){
  156. var billsLibId = ubillsData.billsLibId;
  157. var updateId = ubillsData.updateId;
  158. var updateField = ubillsData.field;
  159. var updateData = ubillsData.data;
  160. if(updateField === "code"){
  161. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {code: updateData}}, function(err){
  162. if(err){
  163. callback(1, "Error");
  164. }
  165. else {
  166. callback(0, "");
  167. }
  168. });
  169. }
  170. else if(updateField === "name"){
  171. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {name: updateData}}, function(err){
  172. if(err){
  173. callback(1, "Error");
  174. }
  175. else {
  176. callback(0, "");
  177. }
  178. });
  179. }
  180. else if(updateField === "unit"){
  181. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {unit: updateData}}, function(err){
  182. if(err){
  183. callback(1, "Error");
  184. }
  185. else {
  186. callback(0, "");
  187. }
  188. });
  189. }
  190. else if(updateField === "ruleText"){
  191. Bills.update({billsLibId: billsLibId, ID: updateId}, {$set: {ruleText: updateData}}, function(err){
  192. if(err){
  193. callback(1, "Error");
  194. }
  195. else {
  196. callback(0, "");
  197. }
  198. });
  199. }
  200. else if(updateField === "jobs"){
  201. Bills.update({billsLibId: billsLibId, ID: updateId}, {$addToSet: {jobs: updateData}}, function(err){
  202. if(err){
  203. callback(1, "Error");
  204. }
  205. else {
  206. callback(0, "");
  207. }
  208. });
  209. }
  210. else if(updateField === "items"){
  211. Bills.update({billsLibId: billsLibId, ID: updateId}, {$addToSet: {items: updateData}}, function(err){
  212. if(err){
  213. callback(1, "Error");
  214. }
  215. else {
  216. callback(0, "");
  217. }
  218. });
  219. }
  220. }
  221. billsLibDao.prototype.deleteBills = function(delData, callback){
  222. var deleteIds = delData.deleteIds;
  223. var billsLibId = delData.billsLibId;
  224. if(deleteIds){
  225. //deleteIds.forEach(function(deleteId){
  226. Bills.remove({billsLibId: billsLibId, ID: {$in: deleteIds}}, function(err){
  227. if(err){
  228. callback(1, 'Error');
  229. }
  230. else {
  231. callback(0, '');
  232. }
  233. });
  234. // });
  235. }
  236. }
  237. //--------------JobContent------------------
  238. billsLibDao.prototype.getJobContent = function(gJobData, callback){
  239. var billsLibId = gJobData.billsLibId;
  240. JobContent.find({billsLibId: billsLibId}, "-_id", function(err, jobs){
  241. if(err){
  242. callback(1, "Error", null);
  243. }
  244. else{
  245. callback(0, "", jobs)
  246. }
  247. });
  248. }
  249. billsLibDao.prototype.getSomeJobs = function(gJobData, callback){
  250. var billsLibId = gJobData.billsLibId;
  251. var ids = gJobData.ids;
  252. JobContent.find({billsLibId: billsLibId, id: {$in: ids}}, "-_id", function(err, jobs){
  253. if(err){
  254. callback(1, "Error", null);
  255. }
  256. else{
  257. callback(0, "", jobs)
  258. }
  259. });
  260. }
  261. billsLibDao.prototype.createJobContent = function(cJobData, callback){
  262. var field = cJobData.field;
  263. var data = cJobData.data;
  264. var billsLibId = cJobData.billsLibId;
  265. counter.getIDAfterCount("bills", 1, function(err, result){
  266. var id = result.value.sequence_value;
  267. var newJobContent;
  268. if(field == "code"){
  269. newJobContent = {
  270. id: id,
  271. billsLibId: billsLibId,
  272. code: data,
  273. content: ''
  274. }
  275. }
  276. else if(field == "content"){
  277. newJobContent = {
  278. id: id,
  279. billsLibId: billsLibId,
  280. code: '',
  281. content: data,
  282. }
  283. }
  284. JobContent.create(newJobContent, function(err){
  285. if(err){
  286. callback(1, "Error");
  287. }
  288. else{
  289. callback(0, "");
  290. }
  291. });
  292. });
  293. }
  294. billsLibDao.prototype.updateJobContent = function(uJobData, callback){
  295. var field = cJobData.field;
  296. var updateData = cJobData.data;
  297. var updateid = cJobData.updateId;
  298. if(field == "code"){
  299. JobContent.update({id: updateid}, {$set: {code: updateData}}, function(err){
  300. if(err){
  301. callback(1, "Error");
  302. }
  303. else{
  304. callback(0, "");
  305. }
  306. });
  307. }
  308. else if(field == "content"){
  309. JobContent.update({id: updateid}, {$set: {content: updateData}}, function(err){
  310. if(err){
  311. callback(1, "Error");
  312. }
  313. else{
  314. callback(0, "");
  315. }
  316. });
  317. }
  318. }
  319. billsLibDao.prototype.deleteJobContent = function(jobId, callback){
  320. JobContent.remove({id: jobId}, function(err){
  321. if(err){
  322. callback(1, "Error");
  323. }
  324. else{
  325. callback(0, "");
  326. }
  327. });
  328. }
  329. //----------------------ItemCharacter---------------------
  330. billsLibDao.prototype.getItemCharacter = function(billsLibId, callback){
  331. ItemCharacter.find({billsLibId: billsLibId}, "-_id", function(err, items){
  332. if(err){
  333. callback(1, "Error", null);
  334. }
  335. else{
  336. callback(0, "", items)
  337. }
  338. });
  339. }
  340. billsLibDao.prototype.createItemCharacter = function(cItemData, callback){
  341. var field = cItemData.field;
  342. var data = cItemData.data;
  343. var id = counter.getIDAfterCount("billsLib", 1);
  344. var billsLibId = cItemData.billsLibId;
  345. var newItemCharacter;
  346. if(field == "code"){
  347. newItemCharacter = {
  348. id: id,
  349. billsLibId: billsLibId,
  350. code: data
  351. }
  352. }
  353. else if(field == "content"){
  354. newItemCharacter = {
  355. id: id,
  356. billsLibId: billsLibId,
  357. content: data
  358. }
  359. }
  360. }
  361. billsLibDao.prototype.updateItemCharacter = function(uItemData, callback){
  362. var field = uItemData.field;
  363. var updateData = uItemData.data;
  364. var id = uItemData.id;
  365. if(field == "code"){
  366. ItemCharacter.update({id: id}, {$set: {code: updateData}}, function(err){
  367. if(err){
  368. callback(1, "Error");
  369. }
  370. else{
  371. callback(0, "");
  372. }
  373. });
  374. }
  375. else if(field == "character"){
  376. ItemCharacter.update({id: id}, {$set: {character: updateData}}, function(err){
  377. if(err){
  378. callback(1, "Error");
  379. }
  380. else{
  381. callback(0, "");
  382. }
  383. });
  384. }
  385. }
  386. billsLibDao.prototype.deleteItemCharacter = function(itemId, callback){
  387. JobContent.remove({id: itemId}, function(err){
  388. if(err){
  389. callback(1, "Error");
  390. }
  391. else{
  392. callback(0, "");
  393. }
  394. });
  395. }
  396. //----------------------itemValue
  397. //-----------------------------
  398. module.exports = new billsLibDao();