|
@@ -15,43 +15,45 @@ const fs = require("fs");
|
|
// excel解析
|
|
// excel解析
|
|
const excel = require("node-xlsx");
|
|
const excel = require("node-xlsx");
|
|
let callback = function (req, res, err, msg, data) {
|
|
let callback = function (req, res, err, msg, data) {
|
|
- res.json({error: err, message: msg, data: data});
|
|
|
|
|
|
+ res.json({ error: err, message: msg, data: data });
|
|
};
|
|
};
|
|
|
|
|
|
const zhLibID = 'cf851660-3534-11ec-9641-2da8021b8e4e';
|
|
const zhLibID = 'cf851660-3534-11ec-9641-2da8021b8e4e';
|
|
|
|
|
|
-class BillsGuideLibController extends BaseController{
|
|
|
|
|
|
+class BillsGuideLibController extends BaseController {
|
|
|
|
|
|
//获取编办及编办清单库信息
|
|
//获取编办及编办清单库信息
|
|
- async getComBillsLibInfo(req, res){
|
|
|
|
- try{
|
|
|
|
- let comBillsLibInfo = await billsGuidanceFacade.getComBillsLibInfo();
|
|
|
|
|
|
+ async getComBillsLibInfo(req, res) {
|
|
|
|
+ try {
|
|
|
|
+ let comBillsLibInfo = await billsGuidanceFacade.getComBillsLibInfo(req);
|
|
callback(req, res, 0, '', comBillsLibInfo);
|
|
callback(req, res, 0, '', comBillsLibInfo);
|
|
}
|
|
}
|
|
- catch(err) {
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async getBillsGuideLibs(req, res){
|
|
|
|
- try{
|
|
|
|
- let libs = await billsGuidanceFacade.getBillsGuideLibs({deleted: false}, req.session.managerData.isTemporary);
|
|
|
|
|
|
+ async getBillsGuideLibs(req, res) {
|
|
|
|
+ try {
|
|
|
|
+ const compilationPermission = req.session.managerData.compilationPermission || [];
|
|
|
|
+ const filter = { compilationId: { $in: compilationPermission }, deleted: false };
|
|
|
|
+ let libs = await billsGuidanceFacade.getBillsGuideLibs(filter, req.session.managerData.isTemporary);
|
|
callback(req, res, 0, '', libs);
|
|
callback(req, res, 0, '', libs);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, '获取清单指引库数据错误', null);
|
|
callback(req, res, 1, '获取清单指引库数据错误', null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async updateBillsGuideLib(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async updateBillsGuideLib(req, res) {
|
|
|
|
+ try {
|
|
let data = JSON.parse(req.body.data);
|
|
let data = JSON.parse(req.body.data);
|
|
- if(data.updateType === 'create'){
|
|
|
|
|
|
+ if (data.updateType === 'create') {
|
|
data.updateData.createDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
|
|
data.updateData.createDate = moment(Date.now()).format('YYYY-MM-DD HH:mm:ss');
|
|
data.updateData.creator = req.session.managerData.username;
|
|
data.updateData.creator = req.session.managerData.username;
|
|
await billsGuidanceFacade.initBillsGuideLib(data.updateData);
|
|
await billsGuidanceFacade.initBillsGuideLib(data.updateData);
|
|
}
|
|
}
|
|
- else{
|
|
|
|
|
|
+ else {
|
|
if (data.updateType === 'delete') {
|
|
if (data.updateType === 'delete') {
|
|
logger.info(`delete billsGuidanceLib ${req.ip}`);
|
|
logger.info(`delete billsGuidanceLib ${req.ip}`);
|
|
}
|
|
}
|
|
@@ -59,46 +61,46 @@ class BillsGuideLibController extends BaseController{
|
|
}
|
|
}
|
|
callback(req, res, 0, '', data.updateData);
|
|
callback(req, res, 0, '', data.updateData);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, '更新失败', null);
|
|
callback(req, res, 1, '更新失败', null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
//获取清单指引库和该库引用的清单
|
|
//获取清单指引库和该库引用的清单
|
|
- async getLibWithBills(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async getLibWithBills(req, res) {
|
|
|
|
+ try {
|
|
let data = JSON.parse(req.body.data);
|
|
let data = JSON.parse(req.body.data);
|
|
let rst = await billsGuidanceFacade.getLibWithBills(data.libID);
|
|
let rst = await billsGuidanceFacade.getLibWithBills(data.libID);
|
|
callback(req, res, 0, '', rst);
|
|
callback(req, res, 0, '', rst);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async getItemsByBills(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async getItemsByBills(req, res) {
|
|
|
|
+ try {
|
|
let data = JSON.parse(req.body.data);
|
|
let data = JSON.parse(req.body.data);
|
|
let items = await billsGuidanceFacade.getItemsBybills(data.guidanceLibID, data.billsID);
|
|
let items = await billsGuidanceFacade.getItemsBybills(data.guidanceLibID, data.billsID);
|
|
callback(req, res, 0, '', items);
|
|
callback(req, res, 0, '', items);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async getItemsByBillIDs(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async getItemsByBillIDs(req, res) {
|
|
|
|
+ try {
|
|
let data = JSON.parse(req.body.data);
|
|
let data = JSON.parse(req.body.data);
|
|
let items = await billsGuidanceFacade.getItemsByBillIDs(data.guidanceLibID, data.billIDs);
|
|
let items = await billsGuidanceFacade.getItemsByBillIDs(data.guidanceLibID, data.billIDs);
|
|
callback(req, res, 0, '', items);
|
|
callback(req, res, 0, '', items);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async updateItems(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async updateItems(req, res) {
|
|
|
|
+ try {
|
|
|
|
|
|
if (req.session.managerData.isTemporary) {
|
|
if (req.session.managerData.isTemporary) {
|
|
const match = req.headers.referer.match(/libID=([\d,a-z,A-Z,-]{36})/);
|
|
const match = req.headers.referer.match(/libID=([\d,a-z,A-Z,-]{36})/);
|
|
@@ -112,65 +114,65 @@ class BillsGuideLibController extends BaseController{
|
|
await billsGuidanceFacade.updateItems(updateDatas, req.session.managerData.isTemporary);
|
|
await billsGuidanceFacade.updateItems(updateDatas, req.session.managerData.isTemporary);
|
|
callback(req, res, 0, '', null);
|
|
callback(req, res, 0, '', null);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async getBillMaterials(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async getBillMaterials(req, res) {
|
|
|
|
+ try {
|
|
const data = JSON.parse(req.body.data);
|
|
const data = JSON.parse(req.body.data);
|
|
const materials = await billsGuidanceFacade.getBillMaterials(data.libID, data.billID);
|
|
const materials = await billsGuidanceFacade.getBillMaterials(data.libID, data.billID);
|
|
callback(req, res, 0, '', materials);
|
|
callback(req, res, 0, '', materials);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
callback(req, res, 1, err, null);
|
|
callback(req, res, 1, err, null);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async editBillMaterials(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async editBillMaterials(req, res) {
|
|
|
|
+ try {
|
|
const data = JSON.parse(req.body.data);
|
|
const data = JSON.parse(req.body.data);
|
|
const materials = await billsGuidanceFacade.editBillMaterials(data.libID, data.billID, data.gljCodes, data.compilationID);
|
|
const materials = await billsGuidanceFacade.editBillMaterials(data.libID, data.billID, data.gljCodes, data.compilationID);
|
|
callback(req, res, 0, '', materials);
|
|
callback(req, res, 0, '', materials);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
console.log(err);
|
|
console.log(err);
|
|
callback(req, res, 1, err.message, []);
|
|
callback(req, res, 1, err.message, []);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
async generateClassData(req, res) {
|
|
async generateClassData(req, res) {
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
res.setTimeout(1000 * 60 * 10); // 不设置的话,处理时间过长,会触发默认的响应超时,报错(前端报错,后台还继续在处理)
|
|
res.setTimeout(1000 * 60 * 10); // 不设置的话,处理时间过长,会触发默认的响应超时,报错(前端报错,后台还继续在处理)
|
|
const data = JSON.parse(req.body.data);
|
|
const data = JSON.parse(req.body.data);
|
|
await billsGuidanceFacade.generateClassData(data.libID);
|
|
await billsGuidanceFacade.generateClassData(data.libID);
|
|
callback(req, res, 0, '', []);
|
|
callback(req, res, 0, '', []);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
console.log(err);
|
|
console.log(err);
|
|
callback(req, res, 1, err.message, []);
|
|
callback(req, res, 1, err.message, []);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
async autoSetMaterial(req, res) {
|
|
async autoSetMaterial(req, res) {
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
res.setTimeout(1000 * 60 * 10); // 不设置的话,处理时间过长,会触发默认的响应超时,报错(前端报错,后台还继续在处理)
|
|
res.setTimeout(1000 * 60 * 10); // 不设置的话,处理时间过长,会触发默认的响应超时,报错(前端报错,后台还继续在处理)
|
|
const data = JSON.parse(req.body.data);
|
|
const data = JSON.parse(req.body.data);
|
|
await billsGuidanceFacade.autoSetMaterial(data.libID);
|
|
await billsGuidanceFacade.autoSetMaterial(data.libID);
|
|
callback(req, res, 0, '', []);
|
|
callback(req, res, 0, '', []);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
console.log(err);
|
|
console.log(err);
|
|
callback(req, res, 1, err.message, []);
|
|
callback(req, res, 1, err.message, []);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
async exportClassExcel(req, res) {
|
|
async exportClassExcel(req, res) {
|
|
- try{
|
|
|
|
|
|
+ try {
|
|
const excelData = await billsGuidanceFacade.getClassExcelData(req.query.libID);
|
|
const excelData = await billsGuidanceFacade.getClassExcelData(req.query.libID);
|
|
console.log('start-build');
|
|
console.log('start-build');
|
|
- const buffer = excel.build([{name: "清单分类库", data: excelData}], {'!cols': [{wch:6}, {wch:12}, {wch:14}, {wch:24}, {wch:45}, {wch:20}, {wch:30}, {wch:30}]});
|
|
|
|
|
|
+ const buffer = excel.build([{ name: "清单分类库", data: excelData }], { '!cols': [{ wch: 6 }, { wch: 12 }, { wch: 14 }, { wch: 24 }, { wch: 45 }, { wch: 20 }, { wch: 30 }, { wch: 30 }] });
|
|
console.log('end-build');
|
|
console.log('end-build');
|
|
const filePath = './public/export.xlsx';
|
|
const filePath = './public/export.xlsx';
|
|
fs.writeFileSync(filePath, buffer, 'binary');
|
|
fs.writeFileSync(filePath, buffer, 'binary');
|
|
@@ -184,20 +186,20 @@ class BillsGuideLibController extends BaseController{
|
|
fs.createReadStream(filePath).pipe(res);
|
|
fs.createReadStream(filePath).pipe(res);
|
|
fs.unlink(filePath);
|
|
fs.unlink(filePath);
|
|
}
|
|
}
|
|
- catch(err){
|
|
|
|
|
|
+ catch (err) {
|
|
console.log(err);
|
|
console.log(err);
|
|
response.end(error);
|
|
response.end(error);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- async testItems(req, res){
|
|
|
|
- try{
|
|
|
|
|
|
+ async testItems(req, res) {
|
|
|
|
+ try {
|
|
let data = JSON.parse(req.body.data);
|
|
let data = JSON.parse(req.body.data);
|
|
let rst = await billsGuidanceFacade.testItems(data.libID);
|
|
let rst = await billsGuidanceFacade.testItems(data.libID);
|
|
- res.json({error: 0, data: rst, message: ''});
|
|
|
|
|
|
+ res.json({ error: 0, data: rst, message: '' });
|
|
}
|
|
}
|
|
- catch (error){
|
|
|
|
- res.json({error: 1, data: null, message: error});
|
|
|
|
|
|
+ catch (error) {
|
|
|
|
+ res.json({ error: 1, data: null, message: error });
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|