zm
2024-07-24 c2b94a6757c11590190dcd1b566da57072794703
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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()});
        baseDao.loadPromptData(scheduleDt);
        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) {
        return baseDao.saveFieldSetEntity(BaseUtil.createCreatorAndCreationTime(fse));
    }
}