明树Git Lab

Commit 1dec7a9e authored by zengfanpei's avatar zengfanpei

update

parent 5d6ffe40
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"tokenEx": 86400000000, "tokenEx": 86400000000,
"dbURI": "mongodb://bridata:Mingshu20170706@47.94.146.184:27017/letian?authSource=admin", "dbURI": "mongodb://bridata:Mingshu20170706@47.94.146.184:27017/letian?authSource=admin",
"file": { "file": {
"storagePath": "public/avatar" "storagePath": "/uploadfiles"
}, },
"device": { "device": {
"secretKey": "EB29BBD58E06997E", "secretKey": "EB29BBD58E06997E",
......
...@@ -12,8 +12,8 @@ async function list(req, res, next) { ...@@ -12,8 +12,8 @@ async function list(req, res, next) {
let page = req.body.page || 1; let page = req.body.page || 1;
let pageSize = req.body.pageSize || 10; let pageSize = req.body.pageSize || 10;
let skip = (page - 1) * pageSize; let skip = (page - 1) * pageSize;
let count = await DB.AgrInRecord.countDocuments(search) let count = await DB.AgrInputRecord.countDocuments(search)
let list = await DB.AgrInRecord.find(search).skip(skip).limit(pageSize).lean().exec(); let list = await DB.AgrInputRecord.find(search).skip(skip).limit(pageSize).lean().exec();
res.sendData({count, list}); res.sendData({count, list});
} catch (error) { } catch (error) {
next(error) next(error)
...@@ -23,7 +23,7 @@ async function list(req, res, next) { ...@@ -23,7 +23,7 @@ async function list(req, res, next) {
async function create(req, res, next) { async function create(req, res, next) {
try { try {
let ret = await DB.AgrInRecord.create(req.body) let ret = await DB.AgrInputRecord.create(req.body)
res.sendData(ret); res.sendData(ret);
} catch (error) { } catch (error) {
next(error) next(error)
......
const ExcelJS = require('exceljs'); const ExcelJS = require('exceljs');
const path = require('path');
async function upload(req, res, next) { async function upload(req, res, next) {
try { try {
console.log(req.file, req.body); // console.log(req.file, req.body);
await DB.File.create({ let ret = await DB.File.create({
originalname: req.file.originalname, originalname: req.file.originalname,
mimetype: req.file.mimetype, mimetype: req.file.mimetype,
filename: req.file.filename, filename: req.file.filename,
path: req.file.path, path: req.file.path,
size: req.file.size, size: req.file.size,
url: '有待处理',
}); });
res.sendData(req.file); res.sendData(ret);
} catch (error) { } catch (error) {
next(error); next(error);
} }
......
...@@ -30,14 +30,14 @@ mongoose.connection.on('disconnected', () => { ...@@ -30,14 +30,14 @@ mongoose.connection.on('disconnected', () => {
const User = require('./models/systemUser'); const User = require('./models/systemUser');
const Role = require('./models/systemRole'); const Role = require('./models/systemRole');
const Menu = require('./models/systemMenu'); const Menu = require('./models/systemMenu');
const Button = require('./models/systemButton'); // const Button = require('./models/systemButton');
const Depart = require('./models/systemDepart'); const Depart = require('./models/systemDepart');
const File = require('./models/systemFile'); const File = require('./models/systemFile');
const Notice = require('./models/systemNotice'); const Notice = require('./models/systemNotice');
const Land = require('./models/letianLand'); const Land = require('./models/letianLand');
const Zone = require('./models/letianZone'); const Zone = require('./models/letianZone');
const AgrInRecord = require('./models/letianAgrInRecord'); const AgrInputRecord = require('./models/letianAgrInputRecord');
const AreaRecord = require('./models/letianAreaRecord'); const AreaRecord = require('./models/letianAreaRecord');
...@@ -55,18 +55,18 @@ const CollectThreshold = require('./models/collectThreshold'); ...@@ -55,18 +55,18 @@ const CollectThreshold = require('./models/collectThreshold');
const RequestLog = require('./models/systemRequestLog'); const RequestLog = require('./models/systemRequestLog');
global.DB = { global.DB = {
File,
User, User,
Role, Role,
Menu, Menu,
Button,
Device, Device,
Depart, Depart,
File,
Notice, Notice,
Land, Land,
Zone, Zone,
AgrInRecord, AgrInputRecord,
AreaRecord, AreaRecord,
CollectThreshold, CollectThreshold,
......
...@@ -5,7 +5,7 @@ const moment = require('moment'); ...@@ -5,7 +5,7 @@ const moment = require('moment');
/** /**
* 乐田 农业投入品 出入库记录表 时间 生产投入品名称 投入品类别 总投入品使用数量 单位 * 乐田 农业投入品 出入库记录表 时间 生产投入品名称 投入品类别 总投入品使用数量 单位
*/ */
const letianAgrInRecordSchema = new Schema({ const letianAgrInputRecordSchema = new Schema({
time: { time: {
type: Date, type: Date,
...@@ -60,5 +60,5 @@ const letianAgrInRecordSchema = new Schema({ ...@@ -60,5 +60,5 @@ const letianAgrInRecordSchema = new Schema({
}); });
const AgrInRecord = mongoose.model('AgrInRecord', letianAgrInRecordSchema, 'letianAgrInRecord'); const AgrInputRecord = mongoose.model('letianAgrInputRecord', letianAgrInputRecordSchema, 'letianAgrInputRecord');
module.exports = AgrInRecord; module.exports = AgrInputRecord;
\ No newline at end of file \ No newline at end of file
...@@ -3,7 +3,7 @@ const Schema = mongoose.Schema; ...@@ -3,7 +3,7 @@ const Schema = mongoose.Schema;
const moment = require('moment'); const moment = require('moment');
/** /**
* 地块 --- 园区 ---- 乡镇(这个等级暂时不做) * 农事任务
*/ */
const AgrTaskSchema = new Schema({ const AgrTaskSchema = new Schema({
...@@ -29,6 +29,12 @@ const AgrTaskSchema = new Schema({ ...@@ -29,6 +29,12 @@ const AgrTaskSchema = new Schema({
comment: "负责人--从分配负责人开始,任务就开启" comment: "负责人--从分配负责人开始,任务就开启"
}, },
creator: {
type: mongoose.Types.ObjectId,
ref: 'User',
comment: "创建人"
},
createdAt: { createdAt: {
type: Date, type: Date,
......
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const moment = require('moment');
/**
* 农事任务---农事记录,一个任务 对应多条农事记录
*/
const AgrTaskSchema = new Schema({
task: {
type: mongoose.Types.ObjectId,
ref: "AgrTask",
},
imgs: {
type: [mongoose.Types.ObjectId],
},
creator: {
type: mongoose.Types.ObjectId,
ref: 'User',
comment: "创建人"
},
createdAt: {
type: Date,
default: Date.now,
get: v => moment(v).format("YYYY-MM-DD HH:mm:ss"),
},
updatedAt: {
type: Date,
default: Date.now,
get: v => moment(v).format("YYYY-MM-DD HH:mm:ss"),
},
del: {
type: Number,
default: 0,
comment: '默认0 , 1:表示删除,若有其他隐藏业务 不要混用此字段。'
}
}, {
toJSON: {
getters: true
}
});
const AgrTask = mongoose.model('AgrTask', AgrTaskSchema, 'letianAgrTask');
module.exports = AgrTask;
\ No newline at end of file
// const mongoose = require('mongoose');
// const Schema = mongoose.Schema;
// const moment = require('moment');
// /**
// * 乐田 农业投入品 采购
// */
// const letianAgrInRecordSchema = new Schema({
// purchaseDate: {
// type: Date,
// // default: Date.now,
// get: v => moment(v).format("YYYY-MM-DD HH:mm:ss"),
// comment: "购买日期"
// },
// name: {
// type: String,
// required: true,
// commnet: "产品名称",
// },
// specifications: {
// type: String,
// comment: "规格"
// },
// ingredients: {
// type: String,
// comment: "成分"
// },
// shipmentQuantity: {
// type: Number,
// default: 0,
// comment: "出货数量"
// },
// unit: {
// type: String,
// comment: "单位"
// },
// shippingPrice: {
// type: String,
// comment: "出货价格(元)"
// },
// totalAmount : {
// type: String,
// comment: "合计金额(元)"
// },
// consumption : {
// type: String,
// comment: "用量"
// },
// agent : {
// type: String,
// comment: "代理商"
// },
// remarks : {
// type: String,
// comment: "备注"
// },
// createdAt: {
// type: Date,
// default: Date.now,
// get: v => moment(v).format("YYYY-MM-DD HH:mm:ss"),
// },
// updatedAt: {
// type: Date,
// default: Date.now,
// get: v => moment(v).format("YYYY-MM-DD HH:mm:ss"),
// },
// del: {
// type: Number,
// default: 0,
// comment: '默认0 , 1:表示删除,若有其他隐藏业务 不要混用此字段。'
// }
// }, {
// id: false,
// toJSON: {
// getters: true,
// }
// });
// const AgrInRecord = mongoose.model('AgrInRecord', letianAgrInRecordSchema, 'letianAgrInRecord');
// module.exports = AgrInRecord;
\ No newline at end of file
...@@ -54,6 +54,12 @@ const userSchema = new Schema({ ...@@ -54,6 +54,12 @@ const userSchema = new Schema({
default: 1 default: 1
}, },
avatar: {
type: mongoose.Types.ObjectId,
ref: 'File',
comment: "头像文件"
},
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
const express = require('express'); const express = require('express');
const router = express.Router(); const router = express.Router();
const agrController = require('../controller/agrController'); const agrInputRecordController = require('../controller/agrInputRecordController');
router.post('/list', agrController.list); router.post('/input/list', agrInputRecordController.list);
router.post('/create', agrController.create); // router.post('/create', agrInputRecordController.create);
// router.post('/update', fileController.update); // router.post('/update', fileController.update);
// router.post('/upload', fileController.list); // router.post('/upload', fileController.list);
......
...@@ -4,6 +4,7 @@ const router = express.Router(); ...@@ -4,6 +4,7 @@ const router = express.Router();
const multer = require('multer'); const multer = require('multer');
const path = require('path'); const path = require('path');
const fs = require('fs');
const moment = require('moment'); const moment = require('moment');
const mongoose = require('mongoose'); const mongoose = require('mongoose');
...@@ -12,7 +13,10 @@ const fileController = require('../controller/fileController'); ...@@ -12,7 +13,10 @@ const fileController = require('../controller/fileController');
const storage = multer.diskStorage({ const storage = multer.diskStorage({
destination: function (req, file, cb) { destination: function (req, file, cb) {
cb(null, sysConfig.file.storagePath || 'public/avatar'); //相对路径 if (sysConfig.file.storagePath && !fs.existsSync(sysConfig.file.storagePath)) {
fs.mkdirSync(sysConfig.file.storagePath, { recursive: true });
}
cb(null, sysConfig.file.storagePath);
}, },
filename: function (req, file, cb) { filename: function (req, file, cb) {
let ext = path.extname(file.originalname); // 获取文件扩展名 let ext = path.extname(file.originalname); // 获取文件扩展名
...@@ -28,6 +32,8 @@ const upload = multer({ storage: storage }) ...@@ -28,6 +32,8 @@ const upload = multer({ storage: storage })
router.post('/upload', upload.single('file'), fileController.upload); router.post('/upload', upload.single('file'), fileController.upload);
// router.post('/')
// 文件访问: 起nginx用以处理文件服务器。 // 文件访问: 起nginx用以处理文件服务器。
......
...@@ -13,7 +13,7 @@ const deviceRouter = require('./deviceRouter'); ...@@ -13,7 +13,7 @@ const deviceRouter = require('./deviceRouter');
const landRouter = require('./landRouter'); const landRouter = require('./landRouter');
const zoneRouter = require('./zoneRouter'); const zoneRouter = require('./zoneRouter');
const agrRouter = require('./agrRouter'); const agrInputRouter = require('./agrRouter');
const statisticsRouter = require('./statisticsRouter'); const statisticsRouter = require('./statisticsRouter');
...@@ -34,7 +34,7 @@ router.use('/device', deviceRouter); // 硬件设备 ...@@ -34,7 +34,7 @@ router.use('/device', deviceRouter); // 硬件设备
router.use('/land', landRouter); //地块 router.use('/land', landRouter); //地块
router.use('/zone', zoneRouter); //区域--可扩展为行政区划 router.use('/zone', zoneRouter); //区域--可扩展为行政区划
router.use('/agr', agrRouter); // 农业投入品相关 router.use('/agr', agrInputRouter); // 农业投入品相关
router.use('/statistics', statisticsRouter); // 统计 大屏 router.use('/statistics', statisticsRouter); // 统计 大屏
......
...@@ -37,7 +37,7 @@ app.use(compress()); ...@@ -37,7 +37,7 @@ app.use(compress());
app.use(express.json()); app.use(express.json());
app.use(express.urlencoded({ extended: false })); app.use(express.urlencoded({ extended: false }));
console.log(__dirname) console.log(__dirname)
app.use(express.static(path.join(__dirname, 'public'))); app.use(express.static(sysConfig.file.storagePath));
app.use(logger('dev')); app.use(logger('dev'));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment