用友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);
    }
    
}

用友NC移动审批APP介绍相关推荐

  1. 用友NC移动审批,2023最新版本

    移动审批H5应用介绍 1产品介绍 1.1前言 1.1.1简介 移动审批H5应用,不需要安装APP,采用web网页开发,可以直接点击链接打开. 1.1.2产品特色(NC57,NC65,NCC有细微差别) ...

  2. NC移动审批2.0版本介绍

                                                       NC移动审批2.0版本介绍  3使用步骤及产品介绍               3.1用户登陆 移 ...

  3. 用友NC57移动审批、可集成钉钉和企业微信

    用友NC57移动审批.支持集成钉钉和企业微信等任何APP,适用于用友NC57,NC65,NCC 效果图如下:以集成钉钉为例      支持审批NC所有类型单据. 支持微信直接打开,不需要安装APP. ...

  4. 用友NC资产管理解决方案助机场行业盘活增效

    [企业声音] 近年来,因民航业务迅速增长的需要,国内许多机场进行了候机楼的改.扩建或新建项目,使大量现代化的设备投入了生产运营.对品种繁杂.价值不等.性能各异的强弱电设备进行行之有效的使用和维护管理, ...

  5. 备份数据库 用友NC

    用友NC备份数据过程 1.创建 表空间 CREATE TABLESPACE NNC_DATA01 DATAFILE 'F:\app\Administrator\admin\orcl\NNC_DATA0 ...

  6. 用友NC BeanShell远程代码执行漏洞复现

    用友NC远程代码执行漏洞复现 漏洞介绍 用友NC是面向集团企业的管理软件,其在同类市场占有率中达到亚太第一.该漏洞是由于用友NC对外开放了BeanShell接口,攻击者可以在未授权的情况下直接访问该接 ...

  7. 用友NC uapjs RCE漏洞复现(CNVD-C-2023-76801)

    0x01 产品简介 用友NC是一款企业级ERP软件.作为一种信息化管理工具,用友NC提供了一系列业务管理模块,包括财务会计.采购管理.销售管理.物料管理.生产计划和人力资源管理等,帮助企业实现数字化转 ...

  8. 用友NC全面预算管理 多维度助力企业发展

    当下中国的整体经济发展已经由高速车道进入到中速车道,过去靠廉价资源.人工成本红利驱动的粗放式.投机性发展模式已经走到了尽头,以管理升级驱动的内生式增长模式将是未来中国企业长期持续性发展的一个必然选择. ...

  9. 用友NC软件被locked1勒索病毒攻击加密的方式,服务器oracle数据库中了勒索病毒

    用友NC软件是一款企业级管理软件,广泛应用于各行各业的集团企业中.然而,最近有关locked1勒索病毒对用友NC软件的攻击已经引起了广泛的关注和担忧.下面将为大家介绍一下有关locked1攻击加密用友 ...

最新文章

  1. java如何调用js_java如何调用js方法
  2. word2vec原理(二):基于Hierarchical Softmax的模型
  3. Perl文件句柄引用
  4. 理解图像配准中的LMeds、M-estimators与RANSAC算法
  5. SpringBoot整合Redis缓存中间件
  6. Map-Reduce
  7. 清明上河图动图html,《清明上河图》“动”起来是啥样?快来海珠这里观赏!...
  8. ISP(六) 空间域图像变换(图像反转、对数变换、幂次变换、分段线性变换、直方图均衡与匹配)
  9. c语言常用英语单词大全,c语言常用的英文单词-英文辞职信常用语言
  10. dub解析json为构
  11. 创立10年,已成为自助建站翘楚的 Squarespace .这五大成功经验.
  12. 春天开始Spring
  13. led灯选用什么品牌的比较好?2022最新led光源品牌排行榜
  14. Spark(25) -- Spark SQL读取数据(mysql、json、parquet、csv、普通文本)
  15. 五 、Kotlin学习之命名参数默认参数
  16. Qt用SVG图片作为背景图
  17. 4月刊特别推荐:架构师接龙:岳旭强 VS. 杨卫华
  18. MATLAB数据保存
  19. vue-混入mixins
  20. 艾力奋RFID人脸识别闸机助力小鹏汽车发布会【回顾篇】

热门文章

  1. 某电批锁付一颗螺丝的原理分析
  2. 轩小陌的Python笔记-day06 数据类型
  3. Java、JSP网上图书超市
  4. 欧洲国家车牌识别怎么区别1和I
  5. 用C语言实现Ping命令
  6. 【CTS、VTS、ITS、GTS、GSI camera 的基础操作和 debug】
  7. 更换服务器 百度抓取显示有跳转,网站更换服务器4天了,百度站长后台抓取诊断一直失败,还是抓...
  8. js SM3 和 java SM3
  9. 使用OpenCV进行人脸识别--(6)实时人脸识别
  10. 《基于深度学习的自然语言处理》中/英PDF