Commit 7e8cac28 by lixinming

no message

parent b271c7d3
......@@ -4,16 +4,16 @@
* 包括新注册企业,迁入企业
*
*/
import { MoveInEnterpriseParamConfig, RegisterEnterpriseParamConfig } from "../../config/checkParamConfig";
import { EnterpriseParamFormConfig, MoveInEnterpriseParamConfig, RegisterEnterpriseParamConfig } from "../../config/checkParamConfig";
import { ERRORENUM } from "../../config/errorEnum";
import { EnterpriseInfoConfig } from "../../config/ojbectResultKeyConfig";
import { BizError } from "../../util/bizError";
import { changeEnumValue, checkChange, checkParamater, extractData, getTaskId } from "../../util/tools"
import { changeEnumValue, checkChange, checkParamater, extractData, getDraftId, getTaskId } from "../../util/tools"
import moment = require("moment");
import { createEnterprise, deleteEnterprise,findEnterpriseCount, findEnterpriseByUscc, findEnterpriseListToPage, findEnterpriseListByFuHuaQiUsccName, 查询所有已绑定过的孵化器id, findEnterpriseList } from "../../data/enterprise/enterprise";
import { createEnterprise, deleteEnterprise,findEnterpriseCount, findEnterpriseByUscc, findEnterpriseListToPage, findEnterpriseListByFuHuaQiUsccName, 查询所有已绑定过的孵化器id, findEnterpriseList, findEnterpriseByDraftId } from "../../data/enterprise/enterprise";
import { EnterpriseListConfig } from "../../config/ojbectResultKeyConfig";
import { findAllFuHuaQi, findAllFuHuaQiOperationNameMap } from "../../data/fuHuaQi/fuhuaqi";
import { FUHUAINDUSTRY, OUTPUTTYPE } from "../../config/enum";
import { FUHUAINDUSTRY, INDUSTRY, OUTPUTTYPE } from "../../config/enum";
/**
......@@ -31,6 +31,9 @@ export async function registerEnterprise(uscc:string, param) {
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
param.draftId = getDraftId(uscc);//草稿箱id
param.isCreate = true;//标识此次操作是否是新注册企业并不是迁入企业
await createEnterprise(uscc, TaskId, param);
......@@ -47,9 +50,15 @@ export async function registerEnterprise(uscc:string, param) {
*/
export async function updateRegisterEnterprise(uscc:string, param) {
checkParamater("新注册企业表单修改", RegisterEnterpriseParamConfig, param);//校验表单参数
checkParamater("新注册企业表单修改", EnterpriseParamFormConfig, param,["oldLogonAdd","timeOfImmigration"]);//校验表单参数
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
let usccSelectDataBaseList = await findEnterpriseList({uscc:param.uscc});
usccSelectDataBaseList.forEach(info => {
if (info.draftId != param.draftId) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在 不可以修改`);
});
let dataBaseInfo = await findEnterpriseByDraftId(param.draftId);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${param.uscc}这个企业`);
let changeList = checkChange(param, dataBaseInfo);//比对修改字段
......@@ -75,11 +84,12 @@ export async function updateRegisterEnterprise(uscc:string, param) {
export async function moveInEnterprise(uscc:string, param) {
const TaskId = getTaskId(uscc);
checkParamater("迁入企业登记", MoveInEnterpriseParamConfig, param);//校验表单参数
checkParamater("迁入企业登记", MoveInEnterpriseParamConfig, param, ["oldLogonAdd","timeOfImmigration"]);//校验表单参数
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
if ( dataBaseInfo&& dataBaseInfo.uscc) throw new BizError(ERRORENUM.该企业已存在, `${param.uscc}已经在库中存在`);
param.draftId = getDraftId(uscc);//草稿箱id
await createEnterprise(uscc, TaskId, param);
return {isSuccess:true};
......@@ -95,9 +105,9 @@ export async function moveInEnterprise(uscc:string, param) {
*/
export async function updateMoveInEnterprise(uscc:string, param) {
checkParamater("修改迁入企业登记信息", MoveInEnterpriseParamConfig, param);//校验表单参数
checkParamater("修改迁入企业登记信息", EnterpriseParamFormConfig, param);//校验表单参数
let dataBaseInfo = await findEnterpriseByUscc(param.uscc);
let dataBaseInfo = await findEnterpriseByDraftId(param.draftId);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${param.uscc}这个企业`);
let changeList = checkChange(param, dataBaseInfo);
......@@ -118,11 +128,12 @@ export async function updateMoveInEnterprise(uscc:string, param) {
* 小程序端 回显
* @param uscc 企业统一信用代码
*/
export async function getEnterpriseByUscc(uscc:string) {
let dataBaseInfo = await findEnterpriseByUscc(uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业`);
export async function getEnterpriseByDraftId(draftId:string) {
let dataBaseInfo = await findEnterpriseByDraftId(draftId);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在draftId=${draftId}这个企业`);
let data = extractData(EnterpriseInfoConfig, dataBaseInfo, false);
let data:any = extractData(EnterpriseInfoConfig, dataBaseInfo, false);
data.draftId = dataBaseInfo.draftId;
return {data};
}
......@@ -133,13 +144,13 @@ export async function getEnterpriseByUscc(uscc:string) {
* 小程序端
* @param uscc 企业统一信用代码
*/
export async function deleteEnterpriseByUscc(uscc:string) {
let dataBaseInfo = await findEnterpriseByUscc(uscc);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在${uscc}这个企业`);
export async function deleteEnterpriseByDraftId(draftId:string) {
let dataBaseInfo = await findEnterpriseByDraftId(draftId);
if (!dataBaseInfo || !dataBaseInfo.uscc) throw new BizError(ERRORENUM.未找到数据, `库中不存在draftId=${draftId}这个企业`);
if (dataBaseInfo.draftLock) throw new BizError(ERRORENUM.已入库的数据不能删除, uscc);
if (dataBaseInfo.draftLock) throw new BizError(ERRORENUM.已入库的数据不能删除, draftId);
await deleteEnterprise(uscc);
await deleteEnterprise(draftId);
return {isSuccess:true};
}
......@@ -168,7 +179,7 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
// if (time) selectParam.logonTime = time; selectParam.timeOfImmigration = time;
if (createType == 2 || createType == 3) {
selectParam.createType = createType == 2 ? true : false;
selectParam.isCreate = createType == 2 ? true : false;
}
if (fuHuaQiUscc) selectParam.fuHuaQiUscc = fuHuaQiUscc;
if (industry.length > 0) selectParam.industry = industry;
......@@ -176,6 +187,7 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
selectParam.isNaturalPersonHolding = isNaturalPersonHolding == 2 ? true : false;
}
selectParam.draftLock = true;
let usccMap = await findAllFuHuaQiOperationNameMap();
let dataBaseList = await findEnterpriseListToPage(selectParam, (page-1)*10 );
let count = await findEnterpriseCount(selectParam);
......@@ -183,10 +195,15 @@ export async function enterpriseList(createType:number, fuHuaQiUscc:string, indu
dataBaseList.forEach( info => {
let changeData:any = extractData(EnterpriseListConfig, info, true);
changeData.fuhuaqiUscc = usccMap[changeData.fuhuaqiUscc] || "";
changeData.fuhuaqiUscc = usccMap[info.fuHuaQiUscc] || "";
if (info.enterpriseIsInPut) {
changeData.isCreate = "";
} else {
(changeData.isCreate) ? changeData.isCreate = "新注册" : changeData.isCreate = "新迁入";
}
changeData.industry = changeEnumValue(INDUSTRY, changeData.industry);
changeData.industry = changeEnumValue(FUHUAINDUSTRY, changeData.industry);
dataList.push(changeData);
});
......@@ -216,7 +233,7 @@ export async function outPutEnterpriseData(createType:number, fuHuaQiUscc:string
// }
// if (time) selectParam.logonTime = time; selectParam.timeOfImmigration = time;
if (createType == 2 || createType == 3) {
selectParam.createType = createType == 2 ? true : false;
selectParam.isCreate = createType == 2 ? true : false;
}
if (fuHuaQiUscc) selectParam.fuHuaQiUscc = fuHuaQiUscc;
if (industry.length > 0) selectParam.industry = industry;
......@@ -227,11 +244,18 @@ export async function outPutEnterpriseData(createType:number, fuHuaQiUscc:string
}
let usccMap = await findAllFuHuaQiOperationNameMap();
selectParam.draftLock = true;
let dataBaseList = await findEnterpriseList(selectParam );
let dataList = [];
dataBaseList.forEach( info => {
let changeData:any = extractData(EnterpriseListConfig, info, true);
changeData.fuhuaqiUscc = usccMap[changeData.fuhuaqiUscc] || "";
changeData.fuhuaqiUscc = usccMap[info.fuHuaQiUscc] || "";
if (info.enterpriseIsInPut) {
changeData.isCreate = "";
} else {
(changeData.isCreate) ? changeData.isCreate = "新注册" : changeData.isCreate = "新迁入";
}
changeData.industry = changeEnumValue(INDUSTRY, changeData.industry);
dataList.push(changeData);
});
......
......@@ -242,8 +242,12 @@ export async function outPutFinancingList(monthData:string, fuHuaQiName:string,
let dataBaseList = await findFinancingList(selectParam );
let dataList = [];
let usccMap = await findAllFuHuaQiOperationNameMap();
dataBaseList.forEach( info => {
let changeData = extractData(FinancingListConfig, info, true);
let changeData:any = extractData(FinancingListConfig, info, true);
changeData.fuhuaqiUscc = usccMap[info.fuHuaQiUscc] || "";
changeData.industry = changeEnumValue(INDUSTRY, info.industry);
dataList.push(changeData);
});
......
......@@ -46,7 +46,12 @@ export async function fuHuaQiTaskList(uscc:string) {
switch(keyNumber) {
case TASKTYPEENUM.孵化器月度填报: dataList = await findmonthTableListByTaskId(TaskId); break;
case TASKTYPEENUM.新注册或迁入企业登记: dataList = await findEnterpriseListByTaskId(TaskId); break;
case TASKTYPEENUM.新注册或迁入企业登记:
dataList = await findEnterpriseListByTaskId(TaskId);
dataList.forEach(item => {
item.uscc = item.draftId;//这里转换一下,为了不改前端代码 使用uscc这个名称,但是实际是draftId
});
break;
case TASKTYPEENUM.融资企业填报: dataList = await findFinancingListByTaskId(TaskId); break;
}
......
......@@ -26,6 +26,24 @@ export const BaseParamUpdateConfig = {
/**
* 企业表单配置
*/
export const EnterpriseParamFormConfig = {
name:"String", //企业名称
uscc:"String", //统一信用代码
industry:"[Number]",//领域
logonTime:"Number",//注册时间
firstIncubationTime:"Number",//首次入孵时间
isNaturalPersonHolding:"Boolean",//是否自然人控股企业
logonAdd:"String",//注册地址
operatingAdd:"String",//经营地址
leasedArea:"Number",//租赁面积(平方米)
oldLogonAdd:"String",//迁入前注册地址
timeOfImmigration:"Number",//迁入时间
draftId:"String"
}
/**
* 新注册企业的表单配置
*/
export const RegisterEnterpriseParamConfig = {
......
......@@ -24,6 +24,8 @@ const enterpriseSchema = new Schema({
leasedArea:Number,//租赁面积(平方米)
draftLock:{type:Boolean, default:false},//草稿锁,true为提交之后,false为草稿
createTime:Number,//录入时间
enterpriseIsInPut:{type:Boolean, default:false},//是否是初始数据 todo 后续要弃用 兼容原始数据无法判断是否是迁入企业这个问题加的字段
draftId:{type:String, index:true},//草稿id 编辑的时候使用这个id 保存之后就不认这个id了
});
var enterpriseModel;
......@@ -58,6 +60,16 @@ export async function findEnterpriseByUscc(uscc:string) {
return await enterpriseModel.selectOnceData({uscc});
}
/**
* 通过草稿箱id获取企业信息
* 支持.save方法保存对象修改
* @param uscc 企业统一信用代码
* @returns {}
*/
export async function findEnterpriseByDraftId(draftId:string) {
return await enterpriseModel.selectOnceData({draftId});
}
/**
* 通过taskId 获取此次任务添加的企业列表
......@@ -120,8 +132,8 @@ export async function groupFindEnterprise() {
* 删除创建企业的草稿报表
* @param uscc 企业统一信用代码
*/
export async function deleteEnterprise(uscc:string) {
return await enterpriseModel.deleteOne({uscc:uscc}).exec();
export async function deleteEnterprise(draftId:string) {
return await enterpriseModel.deleteOne({draftId}).exec();
}
......
......@@ -126,10 +126,11 @@ async function updateRegisterEnterprise(req, res) {
* @param res
*/
async function selectEnterpriseInfo(req, res) {
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let result = await enterpriseBiz.getEnterpriseByUscc(uscc);
let result = await enterpriseBiz.getEnterpriseByDraftId(uscc);
res.success(result);
}
......@@ -155,10 +156,11 @@ async function selectEnterpriseFinancingInfo(req, res) {
* @param res
*/
async function delEnterpriseInfo(req, res) {
/*这里改成了用DraftId,为了不改前端 依然使用uscc这个参数*/
let reqConf = {uscc: 'String' };
let { uscc } = checkReqParam(reqConf, req.body);
let result = await enterpriseBiz.deleteEnterpriseByUscc(uscc);
let result = await enterpriseBiz.deleteEnterpriseByDraftId(uscc);
res.success(result);
}
......
......@@ -153,7 +153,7 @@ async function initEnterprise() {
"4":"uscc",
"5":"industry",//领域
"8":"logonTime",//注册时间
"9":"timeOfImmigration",//迁入时间
"9":"timeOfImmigration",//迁入时间 导入的时候不用管这个字段
"10":"oldLogonAdd",//迁入前地址
"13":"logonAdd",//注册地址
"14":"operatingAdd",//经营地址
......@@ -162,14 +162,14 @@ async function initEnterprise() {
"18":"leasedArea",//租赁面积(平方米)
};
let titleIndexList = Object.keys(titleMap);
let utc = new Date();
let addList = [];
dataList.forEach((subList, index) => {
if (!index) return;//跳过表头
let addDataInfo:any = {
draftLock:true,
createTime:new Date().valueOf(),
isCreate:true
enterpriseIsInPut:true
};
let isJump = false;
......@@ -211,6 +211,9 @@ async function initEnterprise() {
if (i == 16) {
value = !item ? false : true;
}
if (i == 8 && item) {
value = new Date((item - 25569 ) * 86400 * 1000 + utc.getTimezoneOffset()*1000*60);
}
if ([8,9,15, 18].indexOf(i) > -1 ) {
if(!item) value = 0;
else value = new Date(value).valueOf()
......@@ -219,9 +222,6 @@ async function initEnterprise() {
value = "";
}
if (i == 9 && value !=0) addDataInfo.isCreate =false;
if (i == 10 && value != "") addDataInfo.isCreate =false;
addDataInfo[key] = value;
}
if (!isJump) addList.push(addDataInfo);
......
......@@ -21,6 +21,14 @@ export function getTimeKey() {
}
/**
* 生成草稿箱Id
* @param uscc
* @returns
*/
export function getDraftId(uscc:string) {
return md5(`${uscc}${new Date().valueOf()}${Math.ceil(Math.random()*1000)}`);
}
/**
* 通过config校验参数param
* 包括类型 String, Number, Boolean, [Number]
* @param name 被调用的方法名
......@@ -213,7 +221,7 @@ export function extractData(conf, data, isAdmin) {
for (let key in conf) {
let confInfo = conf[key];
if (confInfo.changeDate) {
if (isAdmin) result[key] = moment(data[key]).format("YYYY-MM-DD");
if (isAdmin) result[key] = data[key] ? moment(data[key]).format("YYYY-MM-DD") : '-';
else result[key] = data[key] || 0;
}else {
result[key] = data[key];
......@@ -263,3 +271,11 @@ export function changeEnumValue(enumConf, value:any) {
return str;
}
export function checkPhone(phoneNumber:string) {
}
export function checkUscc() {
}
\ No newline at end of file
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