material_replace_controller.js 6.0 KB

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