用友NC移动审批APP介绍

                                                                                              用友NC移动审批APP介绍

 

1.实现思路:通过在NC增加数据接口,实现服务端为移动审批APP提供数据服务

2.客户端:采用H5开发,可以在多平台运行,支持与NC电脑端一模一样的审批功能。

点击查看servlet代码

 

效果图如下:以集成钉钉为例

    

 

 

 

部分代码如下

 

package nc.bs.gxyy.servlet企鹅892446383;

import java.io.IOException;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import nc.bs.framework.common.InvocationInfoProxy;
import nc.bs.framework.common.NCLocator;
import nc.bs.framework.comn.NetStreamContext;
import nc.bs.framework.server.ISecurityTokenCallback;
import nc.bs.framework.server.ITokenProcessor;
import nc.bs.gxyy.ma.login.APPUserLogin;
import nc.bs.logging.Logger;
import nc.pub.gxyy.ima.IMAService;
import nc.pub.gxyy.ma.vo.ReciveVO;
import nc.pub.gxyy.tools.APPDBUtil;
import nc.pub.gxyy.tools.APPRequestTool;
import nc.pub.gxyy.tools.MAConfig;
import nc.vo.pub.lang.UFDateTime;

import org.apache.commons.lang.StringUtils;
import org.json.JSONObject;

public class MAServlet extends HttpServlet {
    
    /**
     * 看博客主页
     */
    private static final long serialVersionUID = 892446383;


    public MAServlet() {
    }
    
    @Override
    public void init() throws ServletException {
        super.init();
    }
    

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        
        Logger.init("gxyy");
        InvocationInfoProxy.getInstance().setUserDataSource(MAConfig.getInstance().getDsName());
        
        //设置安全token
        ISecurityTokenCallback sc = (ISecurityTokenCallback) NCLocator.getInstance().lookup(ISecurityTokenCallback.class);
        sc.token("NCSystem".getBytes(), "pfxx".getBytes());
        
        ReciveVO reciveVO = null;
        try {
            reciveVO = APPRequestTool.dealRequest(request);
        } catch (Exception e1) {
            
            e1.printStackTrace();
            MAResponeUtil.writeRespone(request,response, MAResponeUtil.getErrorResponeJsonString("接收参数发生错误",""));
            return;
        }

        String result = "";
        try {
            if ("login".equals(reciveVO.getFunc())) {
                String loginuuid = APPUserLogin.login(reciveVO.getUsercode(), reciveVO.getPassword(), false);
                JSONObject obj = new JSONObject();
                obj.put("loginuuid", loginuuid);
                String usercode = reciveVO.getUsercode();
                String username = APPDBUtil.getColValue("sm_user", "user_name", "user_code", usercode);
                String cuserid = APPDBUtil.getColValue("sm_user", "cuserid", "user_code", usercode);
                String pk_group = APPDBUtil.getColValue("sm_user", "pk_group", "user_code", usercode);
                obj.put("username", username);
                obj.put("userid",cuserid);
                obj.put("pk_group", pk_group);
                result = MAResponeUtil.getSuccessResponeJsonString("登陆成功", obj);
                
                
            //业务处理
            }
            else {
                
                if(!"debug".equals(reciveVO.getRunmode())){
                    APPUserLogin.loginCheck(reciveVO.getLoginuuid());
                }

                
                if("process".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).process(reciveVO);
                    
                }else if("queryDspBill".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryDspBill(reciveVO);
                    
                }else if("queryYspBill".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryYspBill(reciveVO);
                    
                }else if("queryYbhBill".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryYbhBill(reciveVO);
                    
                }else if("queryBillVO".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryBillVO(reciveVO);
                    
                }else if("queryFJList".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryFJList(reciveVO);
                    
                }else if("queryBillApproveInfo".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).queryBillApproveInfo(reciveVO);
                }else if("getUserList".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).getUserList(reciveVO);
                }else if("getCanSelectActive".equals(reciveVO.getFunc())){
                    result = NCLocator.getInstance().lookup(IMAService.class).getCanSelectActive(reciveVO);
                }else{
                    MAResponeUtil.writeRespone(request,response, MAResponeUtil.getErrorResponeJsonString("无法识别的参数", ""));
                    return;
                }
                
                
                
            }
            
            MAResponeUtil.writeRespone(request,response, result);

        } catch (Exception e) {
            MAResponeUtil.writeRespone(request,response, MAResponeUtil.getErrorResponeJsonString(e.getMessage(), ""));
            System.out.println(e);
            e.printStackTrace();
            return;
        }
        
    }
    
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        doPost(req, resp);
    }


    public void doAction(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("doAction");
        doPost(request, response);
    }
    
}

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值