ludc
2025-01-16 986aa62ed00bee39363bab41b4eeb8259d446efd
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
61
62
63
64
65
66
package com.vci.server.bof.server.create;
 
import org.apache.commons.lang3.StringUtils;
 
import com.vci.common.log.ServerWithLog4j;
import com.vci.common.utility.ObjectUtility;
import com.vci.corba.common.data.VCIInvocationInfo;
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.common.VCIError;
import com.vci.server.base.persistence.dao.HibernateSessionFactory;
import com.vci.server.base.utility.LogRecordUtil;
import com.vci.server.bof.server.ServiceFacadeExecuteHelper;
import com.vci.server.bof.service.BOFactoryServices;
 
public class CreateBO extends ServiceFacadeExecuteHelper{
 
    private static ServiceFacadeExecuteHelper instance = null;
 
    public static ServiceFacadeExecuteHelper getInstance() {
        if(instance == null) {
            instance = new CreateBO();
        }
        return instance;
    }
    
    @Override
    protected Object doAction() throws Throwable {
        BusinessObject bo = params.getBo();
        try {
            BOFactoryServices services = BOFactoryServices.getInstance();
            if (bo.oid.trim().equals("")) {
                bo.oid = ObjectUtility.getNewObjectID36();
            }
            if (bo.revisionid.trim().equals("")) {
                bo.revisionid = ObjectUtility.getNewObjectID36();
            }
            if (bo.nameoid.trim().equals("")) {
                bo.nameoid = ObjectUtility.getNewObjectID36();
            }
            BusinessObject currentBO = services.createBusinessObject(bo, params.isRevision(), params.isNewVersion());
            //日志记录
//            VCIInvocationInfo info = HibernateSessionFactory.getVciSessionInfo();
//            String ip = "127.0.0.1";
//            if(info!=null){
//                ip = info.clientIPInfo == null||"".equals(info.clientIPInfo) ?"127.0.0.1":info.clientIPInfo;
//            }
            //recordLog(bo.creator, bo.btName, ip, "创建", bo.btName, StringUtils.isNotBlank(bo.name)?bo.name:(StringUtils.isNotBlank(bo.id)?bo.id:bo.oid), bo.oid);
            LogRecordUtil.writeGeneralSuccessLog(bo, "创建");
            
            return currentBO;
        } catch (VCIError e) {
            throw this.getLocalString(e.code, e);
        } catch (Exception e) {
            //e.printStackTrace();
            ServerWithLog4j.logger.error(e);
            
            throw this.getLocalString("P0010SOF-00001", e);
        } catch (Throwable t) {
            
            //t.printStackTrace();
            ServerWithLog4j.logger.error(t);
            throw this.getLocalString("P0010SOF-00001", t);
        }
    }
 
}