Commit f527f0f8 by lixinming

逻辑补充

parent 978d3441
/** /**
* 月度表单逻辑层 * 月度表单逻辑层
* 作者: 陈金晶 * 作者: 陈金晶
* 月度表单相关逻辑 包括孵化器月度填报的增删改查 * 需求说明 1.月度填报必须填值才能提交
* 月度表单在孵化器任务生成时 就会在库里存在数据 * 逻辑说明 1.月度表单在孵化器任务生成时一起生成
* 2.草稿锁(draftLock)默认=false draftLock=true表示这个任务被提交了 草稿锁用于判断孵化器有没有提交
* 3.提交状态(isUpdate)默认=false 这个字段=true代表编辑过 这个字段=false表示不存在此任务
* 可以通过这个字段判断孵化器有没有填报
* 4.不可以创建数据 因为数据一个月只能有一个 并且这一个系统会生成
* 5.创建和删除按钮触发 相当于更新了isUpdate的状态
*/ */
import { ERRORENUM } from "../../config/errorEnum"; import { ERRORENUM } from "../../config/errorEnum";
import { BizError } from "../../util/bizError"; import { BizError } from "../../util/bizError";
import * as monthData from "../../data/fuHuaQi/monthTable"; import * as monthData from "../../data/fuHuaQi/monthTable";
...@@ -17,7 +23,7 @@ import { OUTPUTTYPE } from "../../config/enum"; ...@@ -17,7 +23,7 @@ import { OUTPUTTYPE } from "../../config/enum";
/** /**
* 新添加孵化器月度填报 * 新添加孵化器月度填报
* 小程序端 * 小程序端
* 逻辑是 将填报编辑状态修改 * 逻辑是 将填报编辑状态修改为true 当库里=true时
* @param uscc 孵化器的统一信用代码 * @param uscc 孵化器的统一信用代码
* @param occupancyRate 本月出租率 * @param occupancyRate 本月出租率
* @returns {isSuccess:true/false} * @returns {isSuccess:true/false}
...@@ -26,8 +32,10 @@ export async function createReport(uscc:string, occupancyRate:number) { ...@@ -26,8 +32,10 @@ export async function createReport(uscc:string, occupancyRate:number) {
const TaskId = sysTools.getTaskId(uscc); const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId); let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
/**不可以重复创建 */
if ( dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.该孵化器月度填报已存在, `${uscc}重复提交了月度填报值为${occupancyRate}`); if ( dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.该孵化器月度填报已存在, `${uscc}重复提交了月度填报值为${occupancyRate}`);
/**更新状态和数据 */
dataBaseInfo.isUpdate = true; dataBaseInfo.isUpdate = true;
dataBaseInfo.occupancyRate = occupancyRate; dataBaseInfo.occupancyRate = occupancyRate;
...@@ -49,13 +57,16 @@ export async function updateReport(uscc:string, occupancyRate:number) { ...@@ -49,13 +57,16 @@ export async function updateReport(uscc:string, occupancyRate:number) {
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId); let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if (!dataBaseInfo || !dataBaseInfo.taskId) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` ); if (!dataBaseInfo || !dataBaseInfo.taskId) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` );
if ( !dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.未找到数据, `${uscc}还没有创建数据就修改了${occupancyRate}`);
if ( dataBaseInfo.draftLock ) throw new BizError(ERRORENUM.该任务已提交, `${uscc}已经提交了月度报表又 修改 数据${occupancyRate}`);
dataBaseInfo.occupancyRate = occupancyRate; dataBaseInfo.occupancyRate = occupancyRate;
await dataBaseInfo.save(); await dataBaseInfo.save();
return {isSuccess:true}; return {isSuccess:true};
} }
/** /**
* 删除孵化器月度报表 * 删除孵化器月度报表
* 小程序端 * 小程序端
...@@ -66,7 +77,8 @@ export async function deleteReport(uscc:string) { ...@@ -66,7 +77,8 @@ export async function deleteReport(uscc:string) {
const TaskId = sysTools.getTaskId(uscc); const TaskId = sysTools.getTaskId(uscc);
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId); let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if (!dataBaseInfo.isUpdate) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表`); if ( !dataBaseInfo || !dataBaseInfo.isUpdate) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表`);
if ( dataBaseInfo.draftLock ) throw new BizError(ERRORENUM.该任务已提交, `${uscc}已经提交了月度报表又 删除 数据`);
dataBaseInfo.isUpdate = false; //修改编辑状态 dataBaseInfo.isUpdate = false; //修改编辑状态
...@@ -75,9 +87,11 @@ export async function deleteReport(uscc:string) { ...@@ -75,9 +87,11 @@ export async function deleteReport(uscc:string) {
return {isSuccess:true}; return {isSuccess:true};
} }
/** /**
* 根据uscc查询月度报表 * 根据uscc查询月度报表
* 小程序端 回显 * 小程序端 回显
* 不能回显已经提交的任务
* @param uscc 企业统一信用代码 * @param uscc 企业统一信用代码
* @returns {occupancyRate:0} occupancyRate 本月出租率 * @returns {occupancyRate:0} occupancyRate 本月出租率
*/ */
...@@ -86,6 +100,7 @@ export async function getMonthByUscc(uscc:string) { ...@@ -86,6 +100,7 @@ export async function getMonthByUscc(uscc:string) {
let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId); let dataBaseInfo = await monthData.findMonthTableByTaskId(TaskId);
if ( !dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` ); if ( !dataBaseInfo.isUpdate ) throw new BizError(ERRORENUM.未找到数据, `未找到${uscc}的月度报表` );
if ( dataBaseInfo.draftLock ) throw new BizError(ERRORENUM.该任务已提交, `${uscc}已经提交了月度报表又 回显 数据`);
let data = extractData(splitResultConfig.MonthConfig, dataBaseInfo, false); let data = extractData(splitResultConfig.MonthConfig, dataBaseInfo, false);
...@@ -103,7 +118,7 @@ export async function getMonthByUscc(uscc:string) { ...@@ -103,7 +118,7 @@ export async function getMonthByUscc(uscc:string) {
*/ */
export async function monthTableList(state:number, year:number, month:number, page:number) { export async function monthTableList(state:number, year:number, month:number, page:number) {
let selectParam:any = {}; let selectParam:any = {};
// if (state) selectParam.state = state; if ( !(state >=1 || state <=3) ) throw new BizError(ERRORENUM.参数错误, `state状态不合法 不合法值为 ${state}`);
if (state == 2 || state == 3) { if (state == 2 || state == 3) {
selectParam.draftLock = state == 2 ? true : false; selectParam.draftLock = state == 2 ? true : false;
} }
...@@ -140,7 +155,7 @@ export async function monthTableList(state:number, year:number, month:number, pa ...@@ -140,7 +155,7 @@ export async function monthTableList(state:number, year:number, month:number, pa
*/ */
export async function outPutMonthTableList(state:number, year:number, month:number, type:number) { export async function outPutMonthTableList(state:number, year:number, month:number, type:number) {
let selectParam:any = {}; let selectParam:any = {};
// if (state) selectParam.state = state; if ( !(state >=1 || state <=3) ) throw new BizError(ERRORENUM.参数错误, `state状态不合法 不合法值为 ${state}`);
if (type == OUTPUTTYPE.当前数据 ) { if (type == OUTPUTTYPE.当前数据 ) {
if (state == 2 || state == 3) { if (state == 2 || state == 3) {
selectParam.draftLock = state == 2 ? true : false; selectParam.draftLock = state == 2 ? true : false;
...@@ -151,10 +166,11 @@ export async function outPutMonthTableList(state:number, year:number, month:numb ...@@ -151,10 +166,11 @@ export async function outPutMonthTableList(state:number, year:number, month:numb
let dataBaseList = await monthData.findMonthTableList(selectParam); let dataBaseList = await monthData.findMonthTableList(selectParam);
let operationNameMap = await findAllFuHuaQiOperationNameMap(); let operationNameMap = await findAllFuHuaQiOperationNameMap();
let dataList = []; let keyList = [ "operationName", "state", "time", "occupancyRate"];
let titleList = [ "运营机构名称","填报状态","数据月份","出租率(%)"];
let dataList = [titleList];
dataBaseList.forEach( info => { dataBaseList.forEach( info => {
let onceInfo = { let onceInfo = {
operationName:operationNameMap[info.fuHuaQiUscc], operationName:operationNameMap[info.fuHuaQiUscc],
...@@ -162,27 +178,14 @@ export async function outPutMonthTableList(state:number, year:number, month:numb ...@@ -162,27 +178,14 @@ export async function outPutMonthTableList(state:number, year:number, month:numb
time:`${info.year}${info.month}月`, time:`${info.year}${info.month}月`,
occupancyRate:info.occupancyRate || '-' occupancyRate:info.occupancyRate || '-'
}; };
dataList.push(onceInfo);
});
let keyList = [
"operationName",
"state",
"time",
"occupancyRate",
];
let titleList = [
"运营机构名称","填报状态","数据月份","出租率(%)"
];
let result = [titleList];
dataList.forEach(info => {
let subList = []; let subList = [];
keyList.forEach(subInfo => { keyList.forEach(subInfo => {
subList.push(info[subInfo] || ''); subList.push(onceInfo[subInfo] || '');
}); });
result.push(subList); dataList.push(subList);
}); });
return result;
return dataList;
} }
\ No newline at end of file
...@@ -25,7 +25,8 @@ export enum ERRORENUM { ...@@ -25,7 +25,8 @@ export enum ERRORENUM {
密码只能由618位字符和数字组成, 密码只能由618位字符和数字组成,
统一社会信用代码不合法, 统一社会信用代码不合法,
统一社会信用代码重复, 统一社会信用代码重复,
系统错误 系统错误,
该任务已提交
} }
export enum ERRORCODEENUM { export enum ERRORCODEENUM {
......
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