material_replace_controller.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. /**
  2. * Created by zhang on 2018/8/22.
  3. */
  4. import BaseController from "../../common/base/base_controller";
  5. import materialFacade from "../facade/material_replace_facade";
  6. let config = require("../../../config/config.js");
  7. let logger = require('../../../logs/log_helper').logger;
  8. class ReplaceController extends BaseController{
  9. /**
  10. * 材料替换库页面
  11. *
  12. * @param {object} request
  13. * @param {object} response
  14. * @return {void}
  15. */
  16. async main(request, response) {
  17. let materialLibs = await materialFacade.findByCondition({},null,false);
  18. let randerData = {
  19. title:'材料替换库',
  20. userAccount: request.session.managerData.username,
  21. userID: request.session.managerData.userID,
  22. materialLibs:materialLibs,
  23. layout: 'maintain/common/html/layout'
  24. };
  25. response.render("maintain/material_replace_lib/html/main", randerData);
  26. }
  27. async edit(request,response){
  28. //先取出替换库信息:
  29. let libID = request.params.libID;
  30. let materialLib = await materialFacade.findByCondition({'ID':libID});
  31. if(materialLib){
  32. let billsLibId = materialLib.billsLibId;
  33. let compilationId = materialLib.compilationId;
  34. let gljLib = await materialFacade.findGLJLibByComID(compilationId);
  35. let billsList = await materialFacade.findBillsByLibID(libID);
  36. //let templateDatas = await materialFacade.getTemplateDatasByLibID(libID);
  37. //let stdBills = await materialFacade.getStdBillsByLib(billsLibId);
  38. let randerData = {
  39. title:'材料替换库',
  40. mainURL:'/materialReplace/main',
  41. libName:materialLib.name,
  42. userAccount: request.session.managerData.username,
  43. userID: request.session.managerData.userID,
  44. billsList:JSON.stringify(billsList),
  45. billsLibId:billsLibId,
  46. gljLibID:gljLib.ID,
  47. libID:libID,
  48. //stdBills:JSON.stringify(stdBills),
  49. LicenseKey:config.getLicenseKey(process.env.NODE_ENV),
  50. layout: 'maintain/common/html/edit_layout'
  51. };
  52. response.render("maintain/material_replace_lib/html/edit", randerData);
  53. }else {
  54. response.redirect(request.headers.referer);
  55. }
  56. }
  57. async findLib(request, response){
  58. let result={
  59. error:0
  60. };
  61. try {
  62. let data = request.body.data;
  63. data = JSON.parse(data);
  64. let conditions={};
  65. if(data.compilationID) conditions.compilationId = data.compilationID;
  66. if(data.billLibID) conditions.billsLibId = data.billLibID;
  67. if(data.ID) conditions.ID = data.ID;
  68. let resultData = await materialFacade.findByCondition(conditions);
  69. result.data=resultData;
  70. }catch (err){
  71. console.log(err);
  72. result.error=1;
  73. result.message = err.message;
  74. }
  75. response.json(result);
  76. }
  77. async addLib(request, response){
  78. try {
  79. await materialFacade.addLib(request.body);
  80. }catch (error) {
  81. console.log(error);
  82. }
  83. response.redirect(request.headers.referer);
  84. }
  85. async saveLib(request, response){
  86. let result={
  87. error:0
  88. };
  89. try {
  90. let data = request.body.data;
  91. data = JSON.parse(data);
  92. let resultData= await materialFacade.saveLib(data);
  93. result.data=resultData;
  94. }catch (err){
  95. console.log(err);
  96. result.error=1;
  97. result.message = err.message;
  98. }
  99. response.json(result);
  100. }
  101. async deleteLibByID(request,response){
  102. logger.info(`delete materialLib ${request.ip}`);
  103. let result={
  104. error:0
  105. };
  106. try {
  107. let data = request.body.data;
  108. data = JSON.parse(data);
  109. let resultData= await materialFacade.deleteLibByID(data.ID);
  110. result.data=resultData;
  111. }catch (err){
  112. console.log(err);
  113. result.error=1;
  114. result.message = err.message;
  115. }
  116. response.json(result);
  117. }
  118. async saveBills(request,response){
  119. let result={
  120. error:0
  121. };
  122. try {
  123. let data = request.body.data;
  124. data = JSON.parse(data);
  125. let resultData= await materialFacade.saveBills(data);
  126. result.data=resultData;
  127. }catch (err){
  128. console.log(err);
  129. result.error=1;
  130. result.message = err.message;
  131. }
  132. response.json(result);
  133. }
  134. async saveMaterial(request,response){
  135. let result={
  136. error:0
  137. };
  138. try {
  139. let data = request.body.data;
  140. data = JSON.parse(data);
  141. let resultData= await materialFacade.saveMaterial(data);
  142. result.data=resultData;
  143. }catch (err){
  144. console.log(err);
  145. result.error=1;
  146. result.message = err.message;
  147. }
  148. response.json(result);
  149. }
  150. async findMaterial (request,response){
  151. let result={
  152. error:0
  153. };
  154. try {
  155. let data = request.body.data;
  156. data = JSON.parse(data);
  157. let resultData = await materialFacade.getMaterialByBillsID(data.billsItemID);
  158. result.data=resultData;
  159. }catch (err){
  160. console.log(err);
  161. result.error=1;
  162. result.message = err.message;
  163. }
  164. response.json(result);
  165. }
  166. }
  167. export default ReplaceController;