浏览代码

提交宿舍管理后台事务Facade

Heyuan 7 月之前
父节点
当前提交
fdcf0b2b28

+ 67 - 0
metadata/com/kingdee/eas/custom/dormitorysystem/task/DormitorysystemFacade.facade

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<facade xmlns="com.kingdee.bos.metadata">
+    <package>com.kingdee.eas.custom.dormitorysystem.task</package>
+    <name>DormitorysystemFacade</name>
+    <alias>facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].alias</alias>
+    <description>facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].description</description>
+    <userDefined>true</userDefined>
+    <bosType>5DE95217</bosType>
+    <stereoType>false</stereoType>
+    <businessImplName>com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade</businessImplName>
+    <businessControllerName>com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacadeController</businessControllerName>
+    <accessLevel>public</accessLevel>
+    <subClassingMode>normal</subClassingMode>
+    <methods>
+        <method>
+            <name>updateDormCheckInCount</name>
+            <isListenerMethod>false</isListenerMethod>
+            <alias>facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].methods.method[updateDormCheckInCount].alias</alias>
+            <description>facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].methods.method[updateDormCheckInCount].description</description>
+            <innerID>07bff943-7fa9-4ac3-a115-4f12916b9bcc</innerID>
+            <accessLevel>public</accessLevel>
+            <subClassingMode>normal</subClassingMode>
+            <returnValueType />
+            <metadataRef />
+            <transactionAttribute>Supports</transactionAttribute>
+            <userDefined>true</userDefined>
+            <userDefinedLogic />
+            <exceptions>
+                <bizException>
+                    <key name="package" value="com.kingdee.eas.common" />
+                    <key name="name" value="EASBizException" />
+                </bizException>
+            </exceptions>
+            <configured>false</configured>
+        </method>
+    </methods>
+    <resource>
+        <rs key="facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].alias">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="宿舍管理Facade" />
+            <lang locale="zh_HK" value="宿舍管理Facade" />
+            <lang locale="zh_TW" value="宿舍管理Facade" />
+        </rs>
+        <rs key="facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].description">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="null" />
+            <lang locale="zh_HK" value="null" />
+            <lang locale="zh_TW" value="null" />
+        </rs>
+        <rs key="facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].extendedProperty.userDefined">
+            <lang locale="en_US" value="true" />
+            <lang locale="zh_CN" value="true" />
+            <lang locale="zh_TW" value="true" />
+        </rs>
+        <rs key="facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].methods.method[updateDormCheckInCount].alias">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="更新宿舍已入住人数" />
+            <lang locale="zh_HK" value="更新宿舍已入住人數" />
+            <lang locale="zh_TW" value="更新宿舍已入住人數" />
+        </rs>
+        <rs key="facade[com.kingdee.eas.custom.dormitorysystem.task.DormitorysystemFacade].methods.method[updateDormCheckInCount].description">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="" />
+            <lang locale="zh_TW" value="null" />
+        </rs>
+    </resource>
+</facade>

+ 27 - 0
metadata/com/kingdee/eas/custom/dormitorysystem/task/task.package

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<package xmlns="com.kingdee.bos.metadata">
+    <package>com.kingdee.eas.custom.dormitorysystem.task</package>
+    <name>task</name>
+    <alias>package[com.kingdee.eas.custom.dormitorysystem.task.task].alias</alias>
+    <description>package[com.kingdee.eas.custom.dormitorysystem.task.task].description</description>
+    <basicCode />
+    <resource>
+        <rs key="package[com.kingdee.eas.custom.dormitorysystem.task.task].alias">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="宿舍管理后台事务" />
+            <lang locale="zh_HK" value="宿舍管理後臺事務" />
+            <lang locale="zh_TW" value="宿舍管理後臺事務" />
+        </rs>
+        <rs key="package[com.kingdee.eas.custom.dormitorysystem.task.task].description">
+            <lang locale="en_US" value="null" />
+            <lang locale="zh_CN" value="null" />
+            <lang locale="zh_HK" value="null" />
+            <lang locale="zh_TW" value="null" />
+        </rs>
+        <rs key="package[com.kingdee.eas.custom.dormitorysystem.task.task].extendedProperty.userDefined">
+            <lang locale="en_US" value="true" />
+            <lang locale="zh_CN" value="true" />
+            <lang locale="zh_TW" value="true" />
+        </rs>
+    </resource>
+</package>

+ 60 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/AbstractDormitorysystemFacadeControllerBean.java

@@ -0,0 +1,60 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import javax.ejb.*;
+import java.rmi.RemoteException;
+import com.kingdee.bos.*;
+import com.kingdee.bos.util.BOSObjectType;
+import com.kingdee.bos.metadata.IMetaDataPK;
+import com.kingdee.bos.metadata.rule.RuleExecutor;
+import com.kingdee.bos.metadata.MetaDataPK;
+//import com.kingdee.bos.metadata.entity.EntityViewInfo;
+import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
+import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
+//import com.kingdee.bos.dao.IObjectPK;
+import com.kingdee.bos.dao.IObjectValue;
+import com.kingdee.bos.dao.IObjectCollection;
+import com.kingdee.bos.service.ServiceContext;
+import com.kingdee.bos.service.IServiceContext;
+import com.kingdee.eas.framework.Result;
+import com.kingdee.eas.framework.LineResult;
+import com.kingdee.eas.framework.exception.EASMultiException;
+import com.kingdee.bos.dao.ormapping.ObjectUuidPK;
+
+import com.kingdee.eas.common.EASBizException;
+
+
+
+public abstract class AbstractDormitorysystemFacadeControllerBean extends AbstractBizControllerBean implements DormitorysystemFacadeController
+{
+    protected AbstractDormitorysystemFacadeControllerBean()
+    {
+    }
+
+    protected BOSObjectType getBOSType()
+    {
+        return new BOSObjectType("5DE95217");
+    }
+
+    public void updateDormCheckInCount(Context ctx) throws BOSException, EASBizException
+    {
+        try {
+            ServiceContext svcCtx = createServiceContext(new MetaDataPK("07bff943-7fa9-4ac3-a115-4f12916b9bcc"), new Object[]{ctx});
+            invokeServiceBefore(svcCtx);
+              if(!svcCtx.invokeBreak()) {
+            _updateDormCheckInCount(ctx);
+            }
+            invokeServiceAfter(svcCtx);
+        } catch (BOSException ex) {
+            throw ex;
+        } catch (EASBizException ex0) {
+            throw ex0;
+        } finally {
+            super.cleanUpServiceState();
+        }
+    }
+    protected void _updateDormCheckInCount(Context ctx) throws BOSException, EASBizException
+    {    	
+        return;
+    }
+
+}

+ 48 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/DormitorysystemFacade.java

@@ -0,0 +1,48 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import com.kingdee.bos.framework.ejb.EJBRemoteException;
+import com.kingdee.bos.util.BOSObjectType;
+import java.rmi.RemoteException;
+import com.kingdee.bos.framework.AbstractBizCtrl;
+import com.kingdee.bos.orm.template.ORMObject;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.util.*;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.framework.*;
+import com.kingdee.eas.custom.dormitorysystem.task.*;
+
+public class DormitorysystemFacade extends AbstractBizCtrl implements IDormitorysystemFacade
+{
+    public DormitorysystemFacade()
+    {
+        super();
+        registerInterface(IDormitorysystemFacade.class, this);
+    }
+    public DormitorysystemFacade(Context ctx)
+    {
+        super(ctx);
+        registerInterface(IDormitorysystemFacade.class, this);
+    }
+    public BOSObjectType getType()
+    {
+        return new BOSObjectType("5DE95217");
+    }
+    private DormitorysystemFacadeController getController() throws BOSException
+    {
+        return (DormitorysystemFacadeController)getBizController();
+    }
+    /**
+     *¸üÐÂËÞÉáÒÑÈëסÈËÊý-User defined method
+     */
+    public void updateDormCheckInCount() throws BOSException, EASBizException
+    {
+        try {
+            getController().updateDormCheckInCount(getContext());
+        }
+        catch(RemoteException err) {
+            throw new EJBRemoteException(err);
+        }
+    }
+}

+ 21 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/DormitorysystemFacadeController.java

@@ -0,0 +1,21 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import com.kingdee.bos.BOSException;
+//import com.kingdee.bos.metadata.*;
+import com.kingdee.bos.framework.*;
+import com.kingdee.bos.util.*;
+import com.kingdee.bos.Context;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.util.*;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.framework.*;
+
+import java.rmi.RemoteException;
+import com.kingdee.bos.framework.ejb.BizController;
+
+public interface DormitorysystemFacadeController extends BizController
+{
+    public void updateDormCheckInCount(Context ctx) throws BOSException, EASBizException, RemoteException;
+}

+ 74 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/DormitorysystemFacadeControllerBean.java

@@ -0,0 +1,74 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.metadata.entity.*;
+import com.kingdee.bos.metadata.query.util.CompareType;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryCollection;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryFactory;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.DormitoryInfo;
+import com.kingdee.eas.custom.dormitorysystem.dormitory.IDormitory;
+import com.kingdee.eas.custom.dormitorysystem.occupants.IOccupants;
+import com.kingdee.eas.custom.dormitorysystem.occupants.OccupantsCollection;
+import com.kingdee.eas.custom.dormitorysystem.occupants.OccupantsFactory;
+import com.kingdee.eas.custom.dormitorysystem.occupants.OccupantsInfo;
+import org.apache.log4j.Logger;
+
+import java.util.*;
+
+public class DormitorysystemFacadeControllerBean extends AbstractDormitorysystemFacadeControllerBean {
+    private static Logger logger = Logger.getLogger(DormitorysystemFacadeControllerBean.class);
+
+    /**
+     * 更新宿舍已入住人数
+     */
+    @Override
+    protected void _updateDormCheckInCount(Context ctx) throws BOSException, EASBizException {
+        super._updateDormCheckInCount(ctx);
+        //入住人员信息
+        IOccupants iOccupants = OccupantsFactory.getLocalInstance(ctx);
+        IDormitory iDormitory = DormitoryFactory.getLocalInstance(ctx);
+        FilterInfo filterInfo = new FilterInfo();
+        FilterItemCollection filterItems = filterInfo.getFilterItems();
+        Calendar calendar = Calendar.getInstance();
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        Date time = calendar.getTime();
+        filterItems.add(new FilterItemInfo("CheckInDate", time, CompareType.LESS_EQUALS));
+        filterItems.add(new FilterItemInfo("CheckOutDate", time, CompareType.GREATER_EQUALS));
+        EntityViewInfo viewInfo = EntityViewInfo.getInstance(filterInfo, null, null);
+        OccupantsCollection occupantsCol = iOccupants.getOccupantsCollection(viewInfo);
+        //宿舍入住情况
+        Map<String, Set<String>> dormitoryInCountMap = new HashMap();
+        for (int i = 0; i < occupantsCol.size(); i++) {
+            OccupantsInfo occupantsInfo = occupantsCol.get(i);
+            String occupantsId = occupantsInfo.getId().toString();
+            //宿舍
+            DormitoryInfo dormitory = occupantsInfo.getDormitory();
+            String dormitoryId = dormitory.getId().toString();
+            if (!dormitoryInCountMap.containsKey(dormitoryId)) {
+                dormitoryInCountMap.put(dormitoryId, new HashSet());
+            }
+            dormitoryInCountMap.get(dormitoryId).add(occupantsId);
+        }
+        //宿舍
+        DormitoryCollection dormitoryCollection = iDormitory.getDormitoryCollection();
+        SelectorItemCollection updateSic = new SelectorItemCollection();
+        updateSic.add("OccupantsNumber");
+        for (int i = 0; i < dormitoryCollection.size(); i++) {
+            DormitoryInfo dormitoryInfo = dormitoryCollection.get(i);
+            String dormitoryId = dormitoryInfo.getId().toString();
+            Set<String> set = dormitoryInCountMap.get(dormitoryId);
+            if (set == null) {
+                dormitoryInfo.setOccupantsNumber(0);
+            } else {
+                dormitoryInfo.setOccupantsNumber(set.size());
+            }
+            //更新入住人数
+            iDormitory.updatePartial(dormitoryInfo, updateSic);
+        }
+    }
+}

+ 30 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/DormitorysystemFacadeFactory.java

@@ -0,0 +1,30 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.BOSObjectFactory;
+import com.kingdee.bos.util.BOSObjectType;
+import com.kingdee.bos.Context;
+
+public class DormitorysystemFacadeFactory
+{
+    private DormitorysystemFacadeFactory()
+    {
+    }
+    public static com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade getRemoteInstance() throws BOSException
+    {
+        return (com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade)BOSObjectFactory.createRemoteBOSObject(new BOSObjectType("5DE95217") ,com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade.class);
+    }
+    
+    public static com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade getRemoteInstanceWithObjectContext(Context objectCtx) throws BOSException
+    {
+        return (com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade)BOSObjectFactory.createRemoteBOSObjectWithObjectContext(new BOSObjectType("5DE95217") ,com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade.class, objectCtx);
+    }
+    public static com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade getLocalInstance(Context ctx) throws BOSException
+    {
+        return (com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade)BOSObjectFactory.createBOSObject(ctx, new BOSObjectType("5DE95217"));
+    }
+    public static com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade getLocalInstance(String sessionID) throws BOSException
+    {
+        return (com.kingdee.eas.custom.dormitorysystem.task.IDormitorysystemFacade)BOSObjectFactory.createBOSObject(sessionID, new BOSObjectType("5DE95217"));
+    }
+}

+ 18 - 0
src/com/kingdee/eas/custom/dormitorysystem/task/IDormitorysystemFacade.java

@@ -0,0 +1,18 @@
+package com.kingdee.eas.custom.dormitorysystem.task;
+
+import com.kingdee.bos.BOSException;
+//import com.kingdee.bos.metadata.*;
+import com.kingdee.bos.framework.*;
+import com.kingdee.bos.util.*;
+import com.kingdee.bos.Context;
+
+import com.kingdee.bos.BOSException;
+import com.kingdee.bos.util.*;
+import com.kingdee.eas.common.EASBizException;
+import com.kingdee.bos.Context;
+import com.kingdee.bos.framework.*;
+
+public interface IDormitorysystemFacade extends IBizCtrl
+{
+    public void updateDormCheckInCount() throws BOSException, EASBizException;
+}