material_replace_controller.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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. import { checkCompilationPermission } from '../../common/base/base_util';
  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. const compilationPermission = request.session.managerData.compilationPermission || [];
  19. materialLibs = materialLibs.filter(lib => compilationPermission.includes(lib.compilationId));
  20. let randerData = {
  21. title: '材料替换库',
  22. userAccount: request.session.managerData.username,
  23. userID: request.session.managerData.userID,
  24. materialLibs: materialLibs,
  25. layout: 'maintain/common/html/layout'
  26. };
  27. response.render("maintain/material_replace_lib/html/main", randerData);
  28. }
  29. async edit(request, response) {
  30. //先取出替换库信息:
  31. let libID = request.params.libID;
  32. let materialLib = await materialFacade.findByCondition({ 'ID': libID });
  33. if (materialLib) {
  34. checkCompilationPermission(request, response, materialLib.compilationId, '/materialReplace/main');
  35. let billsLibId = materialLib.billsLibId;
  36. let compilationId = materialLib.compilationId;
  37. let gljLib = await materialFacade.findGLJLibByComID(compilationId);
  38. let billsList = await materialFacade.findBillsByLibID(libID);
  39. //let templateDatas = await materialFacade.getTemplateDatasByLibID(libID);
  40. //let stdBills = await materialFacade.getStdBillsByLib(billsLibId);
  41. let randerData = {
  42. title: '材料替换库',
  43. mainURL: '/materialReplace/main',
  44. libName: materialLib.name,
  45. userAccount: request.session.managerData.username,
  46. userID: request.session.managerData.userID,
  47. billsList: JSON.stringify(billsList),
  48. billsLibId: billsLibId,
  49. gljLibID: gljLib.ID,
  50. libID: libID,
  51. //stdBills:JSON.stringify(stdBills),
  52. LicenseKey: config.getLicenseKey(process.env.NODE_ENV),
  53. layout: 'maintain/common/html/edit_layout'
  54. };
  55. response.render("maintain/material_replace_lib/html/edit", randerData);
  56. } else {
  57. response.redirect(request.headers.referer);
  58. }
  59. }
  60. async findLib(request, response) {
  61. let result = {
  62. error: 0
  63. };
  64. try {
  65. let data = request.body.data;
  66. data = JSON.parse(data);
  67. let conditions = {};
  68. if (data.compilationID) conditions.compilationId = data.compilationID;
  69. if (data.billLibID) conditions.billsLibId = data.billLibID;
  70. if (data.ID) conditions.ID = data.ID;
  71. let resultData = await materialFacade.findByCondition(conditions);
  72. result.data = resultData;
  73. } catch (err) {
  74. console.log(err);
  75. result.error = 1;
  76. result.message = err.message;
  77. }
  78. response.json(result);
  79. }
  80. async addLib(request, response) {
  81. try {
  82. await materialFacade.addLib(request.body);
  83. } catch (error) {
  84. console.log(error);
  85. }
  86. response.redirect(request.headers.referer);
  87. }
  88. async saveLib(request, response) {
  89. let result = {
  90. error: 0
  91. };
  92. try {
  93. let data = request.body.data;
  94. data = JSON.parse(data);
  95. let resultData = await materialFacade.saveLib(data);
  96. result.data = resultData;
  97. } catch (err) {
  98. console.log(err);
  99. result.error = 1;
  100. result.message = err.message;
  101. }
  102. response.json(result);
  103. }
  104. async deleteLibByID(request, response) {
  105. let result = {
  106. error: 0
  107. };
  108. try {
  109. let data = request.body.data;
  110. data = JSON.parse(data);
  111. let resultData = await materialFacade.deleteLibByID(data.ID);
  112. result.data = resultData;
  113. } catch (err) {
  114. console.log(err);
  115. result.error = 1;
  116. result.message = err.message;
  117. }
  118. response.json(result);
  119. }
  120. async saveBills(request, response) {
  121. let result = {
  122. error: 0
  123. };
  124. try {
  125. let data = request.body.data;
  126. data = JSON.parse(data);
  127. let resultData = await materialFacade.saveBills(data);
  128. result.data = resultData;
  129. } catch (err) {
  130. console.log(err);
  131. result.error = 1;
  132. result.message = err.message;
  133. }
  134. response.json(result);
  135. }
  136. async saveMaterial(request, response) {
  137. let result = {
  138. error: 0
  139. };
  140. try {
  141. let data = request.body.data;
  142. data = JSON.parse(data);
  143. let resultData = await materialFacade.saveMaterial(data);
  144. result.data = resultData;
  145. } catch (err) {
  146. console.log(err);
  147. result.error = 1;
  148. result.message = err.message;
  149. }
  150. response.json(result);
  151. }
  152. async findMaterial(request, response) {
  153. let result = {
  154. error: 0
  155. };
  156. try {
  157. let data = request.body.data;
  158. data = JSON.parse(data);
  159. let resultData = await materialFacade.getMaterialByBillsID(data.billsItemID);
  160. result.data = resultData;
  161. } catch (err) {
  162. console.log(err);
  163. result.error = 1;
  164. result.message = err.message;
  165. }
  166. response.json(result);
  167. }
  168. }
  169. export default ReplaceController;