package com.product.contract.service;
|
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.product.contract.config.CmnConst;
|
import com.product.contract.service.ide.IProjectBusinessService;
|
import com.product.core.dao.BaseDao;
|
import com.product.core.entity.DataTableEntity;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.service.support.AbstractBaseService;
|
import com.product.core.transfer.Transactional;
|
import com.product.util.BaseUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
@Service
|
public class ProjectBusinessService extends AbstractBaseService implements IProjectBusinessService {
|
|
@Autowired
|
public BaseDao baseDao;
|
|
@Override
|
public JSONObject findProject(FieldSetEntity fse) {
|
FieldSetEntity fsData = baseDao.getFieldSet(CmnConst.PRODUCT_PROJECT_BUSINESS, fse.getUUID(), false);
|
//封装项目计划数据接口
|
JSONObject json = new JSONObject();
|
DataTableEntity planData=baseDao.listTable(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,"project_uuid=?",new String[]{fse.getUUID()});
|
for (int i = 0; i <planData.getRows() ; i++) {
|
FieldSetEntity fs = planData.getFieldSetEntity(i);
|
JSONObject jsonObject = BaseUtil.fieldSetEntityToJson(fs);
|
JSONArray projectTask = json.getJSONArray(fs.getString("project_task"));
|
if (projectTask==null){
|
JSONArray objects = new JSONArray();
|
objects.add(jsonObject);
|
json.put(fs.getString("project_task"),objects);
|
}else {
|
projectTask.add(jsonObject);
|
}
|
}
|
JSONObject rejson=BaseUtil.fieldSetEntityToJson(fsData);
|
rejson.put(CmnConst.PRODUCT_PROJECT_BUSINESS_PLAN,json);
|
//封装项目进度数据结构
|
DataTableEntity scheduleDt =baseDao.listTable("select project_task_sub,a.* from product_project_schedule a\n" +
|
"LEFT JOIN product_project_business_plan b on a.business_sub_uuid =b.uuid\n" +
|
"where b.project_uuid=? order by a.business_sub_uuid,a.reporting_time",new String[]{fse.getUUID()});
|
|
rejson.put(CmnConst.PRODUCT_PROJECT_SCHEDULE,BaseUtil.dataTableEntityToJson(scheduleDt));
|
//封装资料数据结构
|
DataTableEntity dataList = baseDao.listTable(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST, "project_type=?", new String[]{fsData.getString("project_type")});
|
rejson.put(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST,BaseUtil.dataTableEntityToJson(dataList));
|
return rejson;
|
}
|
|
|
@Transactional
|
@Override
|
public boolean saveProject(FieldSetEntity fse) {
|
boolean b = baseDao.saveFieldSetEntity(fse);
|
// if (b){
|
// DataTableEntity dt = fse.getSubDataTable(CmnConst.PRODUCT_PROJECT_MANAGER_DATA_LIST);
|
// return baseDao.update(dt);
|
// }
|
return b;
|
}
|
}
|