| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261 |
- /**
- * Created by chen on 2017/6/29.
- */
- let mongoose = require("mongoose")
- let ration_glj_facade = require('../facade/ration_glj_facade')
- let logger = require("../../../logs/log_helper").logger;
- const { COMPILATION, COMPLEMENTARY_LIB, ShareLibType } = require('../../../public/common_constants');
- const pmFacade = require('../../pm/facade/pm_facade');
- module.exports={
- createRationGLJ:createRationGLJ,
- testGetQuantify:testGetQuantify,
- getGLJData:getGLJData,
- getGLJDataByCodes:getGLJDataByCodes,
- addGLJ:addGLJ,
- replaceGLJ:replaceGLJ,
- mReplaceGLJ:mReplaceGLJ,
- updateRationGLJByEdit:updateRationGLJByEdit,
- getGLJClass:getGLJClass,
- deleteRationGLJ:deleteRationGLJ,
- updateProportion:updateProportion
- }
- function createRationGLJ() {
- let gls = mongoose.model('ration_glj');
- gls.create({'GLJID':1,'basePrice':23.23,'name':"testgls"},function(err, gls){
- console.log(gls)
- })
- }
- //测试获取消耗量:
- async function testGetQuantify() {
- var condition = {
- projectID:99,
- projectGLJIDList:[60,61,62]
- }
- try{
- let result = await ration_glj_facade.getQuantityByProjectGLJ(condition);
- console.log(result)
- }catch (err){
- console.log(err);
- }
- }
- async function getGLJDataByCodes(req,res){
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let datas= await ration_glj_facade.getGLJDataByCodes(data,req.session.sessionCompilation);
- result.data=datas;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function getGLJData(req, res) {
- let result={
- error:0
- }
- try {
- let libData = null;
- let { engineerID, gljLibId, isInitial } = req.params;
- const userID = req.session.sessionUser.id;
- const compilationId = req.session.sessionCompilation._id;
- const cptLibReg = new RegExp(COMPLEMENTARY_LIB);
- if (!cptLibReg.test(gljLibId)) {
- gljLibId = +gljLibId;
- }
- isInitial = JSON.parse(isInitial);
- if (!gljLibId || isInitial) { // 替换人材机的话,可能存在gljLibID,但是是初始化的操作
- libData = engineerID === COMPILATION
- ? await ration_glj_facade.getLibOptionsForCompilation(req.session.sessionCompilation._id)
- : await ration_glj_facade.getLibOptions(engineerID);
- libData.push({ name: '我的补充工料机库', gljLibId: COMPLEMENTARY_LIB });
- // 设置被分享的人材机库
- const receiveData = await pmFacade.getReceiveLibList(userID, compilationId, ShareLibType.GLJ_LIB);
- receiveData.forEach(user => {
- libData.push({ name: `${user.real_name}的补充工料机库`, gljLibId: `${COMPLEMENTARY_LIB}*${user._id}` });
- });
- if (gljLibId) { // 替换人材机初始化会触发此条件
- const orgDefalutLib = libData.find(lib => lib.isDefault);
- const newDefaultLib = libData.find(lib => lib.gljLibId === gljLibId);
- if (orgDefalutLib && newDefaultLib) {
- orgDefalutLib.isDefault = false;
- newDefaultLib.isDefault = true;
- }
- }
- }
- if (!gljLibId && libData) {
- gljLibId = (libData.find(lib => lib.isDefault) || {}).gljLibId;
- }
- let info;
- if (cptLibReg.test(gljLibId)) {
- const owner = gljLibId.split('*')[1] || userID;
- info = { gljLibId: null, userID: owner, compilationId };
- } else {
- info = { gljLibId, userID: null, compilationId: null };
- }
- ration_glj_facade.getGLJData(info,function (err,datas) {
- if(err){
- result.error=1;
- result.message = err.message;
- }else {
- //多单价字段
- if(req.session.sessionCompilation.priceProperties) datas.priceProperties = req.session.sessionCompilation.priceProperties;
- result.datas = datas;
- result.datas.libData = libData;
- }
- res.json(result);
- });
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- res.json(result);
- }
- }
- /* async function getGLJData(req, res) {
- let result={
- error:0
- }
- try {
- let info = await ration_glj_facade.getLibInfo(req);
- ration_glj_facade.getGLJData(info,function (err,datas) {
- if(err){
- result.error=1;
- result.message = err.message;
- }else {
- //多单价字段
- if(req.session.sessionCompilation.priceProperties) datas.priceProperties = req.session.sessionCompilation.priceProperties;
- result.datas = datas;
- }
- res.json(result);
- });
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- res.json(result);
- }
- } */
- async function addGLJ(req, res){
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let datas= await ration_glj_facade.addGLJ(data,req.session.sessionCompilation);
- result.data=datas;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function deleteRationGLJ (req,res) {
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let datas= await ration_glj_facade.deleteRationGLJ(data);
- result.data=datas;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function updateProportion(req, res) {
- try {
- const data = JSON.parse(req.body.data);
- const rst = await ration_glj_facade.updateProportion(data.proportionList, data.projectID, data.rationID);
- res.json({ error: 0, data: rst, message: 'success' });
- } catch (err) {
- res.json({ error: 1, data: null, message: err.message });
- }
- }
- async function replaceGLJ(req, res){
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let rdata= await ration_glj_facade.replaceGLJ(data,req.session.sessionCompilation);
- result.data=rdata;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function mReplaceGLJ(req, res){
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let mresult= await ration_glj_facade.mReplaceGLJ(data,req.session.sessionCompilation);
- result.data=mresult;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function updateRationGLJByEdit(req, res) {
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let uresult= await ration_glj_facade.updateRationGLJByEdit(data);
- result.data=uresult;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
- async function getGLJClass(req, res) {
- let result={
- error:0
- }
- try {
- let data = req.body.data;
- data = JSON.parse(data);
- let info = await ration_glj_facade.getLibInfo(req);
- let tresult= await ration_glj_facade.getGLJClass(info,data);
- result.data=tresult;
- }catch (err){
- logger.err(err);
- result.error=1;
- result.message = err.message;
- }
- res.json(result);
- }
|