NC63 后端通过单据执行动作 修改单据详细解读

nc二次开发作为国内软件的短板 在此补充 给其他正在挠头的小伙伴

此次单据修改开发入坑一周 终于出坑

 单据执行动作

Object processAction_update = iIplatFormEntry_a.processAction("WRITE", ic_transOutHVO.getVtrantypecode(), null, transOutVO_a,null, null);
                    

一般修改的时候需要把vo的状态 status 设置为1

注意  单据类型 

public String out(String operation,String orderform){///4YJSONObject resultJson=new JSONObject();JSONObject paramJson = JSON.parseObject(orderform);String vbillcode = paramJson.getString("vbillcode");//出库单好try {BaseDAO bd = new BaseDAO();nc.vo.ic.m4y.entity.TransOutHeadVO ic_transOutHVO = new nc.vo.ic.m4y.entity.TransOutHeadVO();//ic_transOutHVO = (nc.vo.ic.m4y.entity.TransOutHeadVO) bd.executeQuery("select * from ic_transout_h where dr=0 and vbillcode ='"+vbillcode+"'", new BeanProcessor(nc.vo.ic.m4y.entity.TransOutHeadVO.class));if (ic_transOutHVO != null){JSONArray bjsonarr = new JSONArray();String ic_transout_pk = ic_transOutHVO.getAttributeValue("cgeneralhid").toString();//主键//SuperVO[] ic_transOutBVO = HYPubBO_Client.queryByCondition(nc.vo.ic.m4y.entity.TransOutBodyVO.class,  " cgeneralhid = '"+ic_transout_pk+"'");List<nc.vo.ic.m4y.entity.TransOutBodyVO> ic_transOutBList = (List<nc.vo.ic.m4y.entity.TransOutBodyVO>) bd.executeQuery("select * from ic_transout_b where dr=0 and  cgeneralhid ='"+ic_transout_pk+"'", new BeanListProcessor(nc.vo.ic.m4y.entity.TransOutBodyVO.class));//给交换平台数据准备List<nc.vo.ic.m4y.entity.TransOutBodyVO> ic_transOutBList_new = new ArrayList<nc.vo.ic.m4y.entity.TransOutBodyVO>();JSONArray body = (JSONArray) paramJson.get("body");for (int j = 0;j<ic_transOutBList.size();j++) {nc.vo.ic.m4y.entity.TransOutBodyVO transOutBodyVO = ic_transOutBList.get(j);for (int i = 0;i<body.size();i++){JSONObject tmpb = body.getJSONObject(i);String crowno = tmpb.getString("crowno") ==null ?"":tmpb.getString("crowno"); // 行号if(transOutBodyVO.getCrowno().equals(crowno)){String nnum  = tmpb.getString("nnum") ==null ?"":tmpb.getString("nnum"); //实发主数量nc.vo.ic.m4y.entity.TransOutBodyVO transOut_new = new nc.vo.ic.m4y.entity.TransOutBodyVO();transOut_new = transOutBodyVO;if(StringUtils.isNotBlank(nnum)){UFDouble d_nnum = new UFDouble(Double.parseDouble(nnum));transOut_new.setNnum(d_nnum);transOut_new.setNassistnum(d_nnum);transOut_new.setStatus(1);transOut_new.setDbizdate(new UFDate());//transOut_new.setTs(new UFDateTime());ic_transOutBList_new.add(transOut_new);}}}}try {IplatFormEntry iIplatFormEntry_a = (IplatFormEntry) NCLocator.getInstance().lookup(IplatFormEntry.class.getName());InvocationInfoProxy.getInstance().setGroupId("00013910000000000N4S"); //这个字段很重要InvocationInfoProxy.getInstance().setUserId(ic_transOutHVO.getCreator());//用户nc.vo.ic.m4y.entity.TransOutBodyVO[] outsvo_a = new nc.vo.ic.m4y.entity.TransOutBodyVO[ic_transOutBList.size()];AggregatedValueObject transOutVO_a = new nc.vo.ic.m4y.entity.TransOutVO();ic_transOutHVO.setStatus(1);transOutVO_a.setParentVO(ic_transOutHVO);transOutVO_a.setChildrenVO(ic_transOutBList_new.toArray(outsvo_a));//调拨出库单  执行动作 ,单据类型 , null ,billvo,null, 环境  , WRITE   PUSHOUTSAVE	推式保存(实收) 4Y-Cxx-002 vtrantypecode Object processAction_update = iIplatFormEntry_a.processAction("WRITE", ic_transOutHVO.getVtrantypecode(), null, transOutVO_a,null, null);System.out.println(processAction_update);} catch (Exception e1) {e1.printStackTrace();resultJson.put("$successful", "N");resultJson.put("sendresult", e1.getMessage());return resultJson.toString();}//开始签字nc.vo.ic.m4y.entity.TransOutBodyVO[] insvo = new nc.vo.ic.m4y.entity.TransOutBodyVO[ic_transOutBList.size()];List<nc.vo.ic.m4y.entity.TransOutBodyVO> ic_transInBList2 = (List<nc.vo.ic.m4y.entity.TransOutBodyVO>) bd.executeQuery("select * from ic_transout_b where dr=0 and cgeneralhid ='"+ic_transout_pk+"'", new BeanListProcessor(nc.vo.ic.m4y.entity.TransOutBodyVO.class));IplatFormEntry iIplatFormEntry = (IplatFormEntry) NCLocator.getInstance().lookup(IplatFormEntry.class.getName());//这是集团ID 一般每个表都有 随便找 pk_group 字段InvocationInfoProxy.getInstance().setGroupId("00013910000000000N4S"); //这个字段很重要AggregatedValueObject transOutVO= new nc.vo.ic.m4y.entity.TransOutVO();transOutVO.setParentVO(ic_transOutHVO);transOutVO.setChildrenVO(ic_transInBList2.toArray(insvo));HashMap map = new HashMap();map.put("notechecked", "notechecked");//签字动作 ,签字单据类型 , null ,billvo,null, 环境  ,Object processAction = iIplatFormEntry.processAction("SIGN", "4Y", null, transOutVO,null, map);//headresultJson.put("vbillcode",vbillcode);//boydList<nc.vo.ic.m4y.entity.TransOutBodyVO> ic_transinBList = (List<nc.vo.ic.m4y.entity.TransOutBodyVO>) bd.executeQuery("select * from ic_transout_b where dr=0 and  cgeneralhid ='"+ic_transout_pk+"'", new BeanListProcessor(nc.vo.ic.m4y.entity.TransOutBodyVO.class));for (int i=0;i < ic_transinBList.size();i++){String crowno = (String) ic_transinBList.get(i).getAttributeValue("crowno") == null?"": ic_transinBList.get(i).getAttributeValue("crowno").toString() ;//行号//应收数量String nshouldassistnum = ic_transinBList.get(i).getAttributeValue("nshouldassistnum") == null?"": String.valueOf((UFDouble) ic_transinBList.get(i).getAttributeValue("nshouldassistnum"));//实收数量String nassistnum = ic_transinBList.get(i).getAttributeValue("nassistnum") == null?"": String.valueOf((UFDouble) ic_transinBList.get(i).getAttributeValue("nassistnum"));//bodyJSONObject bjson = new JSONObject();bjson.put("crowno",crowno);//行号bjson.put("nshouldassistnum",nshouldassistnum);//应收数量bjson.put("nassistnum",nassistnum);//实收数量bjsonarr.add(bjson);}if(null != ic_transinBList && ic_transinBList.size() > 0 ){resultJson.put("$successful", "Y");resultJson.put("sendresult", bjsonarr);}else{resultJson.put("$successful", "N");resultJson.put("sendresult", "无调拨出库单");}

祝你好运

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜狗输入法为什么按空格出字 搜狗输入法按空格出字怎么设置

1、首先在电脑开始栏目上点击所有程序&#xff0c;找到搜狗输入法 搜狗输入法为什么按空格出字 搜狗输入法按空格出字怎么设置 2、点击输入法以后会出二级菜单栏&#xff0c;移动鼠标在菜单上面找到设置&#xff0c;并用鼠标点击设置 搜狗输入法为什么按空格出字 搜狗输入法…

ORA-06550 PLS-00172 字符串太长 超过3W 处理方式

问题 描述 帖子 通过sql插入clob数据(数据库对应字段类型为clob), 在执行insert语句时(待插入的字符串有2W多), 总是报错如下: 不是说clob支持4G大小么? 有些资料说是sql本身的长度不能超过4000字符串? 但是类似博客类型的内容字段, 不是很正常就成千上W么 以下是问题补充&…

腾讯视频如何设置关闭本地视频后自动打开主界

1、点击主页面右上角的三条横杠 腾讯视频如何设置关闭本地视频后自动打开主界面 2、点击【设置】 腾讯视频如何设置关闭本地视频后自动打开主界面 3、点击左侧的【高级设置】 腾讯视频如何设置关闭本地视频后自动打开主界面 4、勾选【关闭本地视频后自动打开主界面】 腾…

NC代码调试 - 持续更新

1.后台代码 直接调试 2.前台代码 启动服务后 再启动前台 可调试 3.pfxx插件外部交换平台代码调试 ,需要将对应模块放到本地 modules目录下, 执行webservices接口 外部交换平台可调试后台插件代码 >>>>报错纠错 调拨出库单 的来源单据 表头表体 类型 行号 id 单号…

猎豹浏览器插件无法加载怎么办 插件无法加载解决方法

首先&#xff0c;点击浏览器左上角的“豹头”图标&#xff0c;并在随后弹出的页面中选择【选项/设置】; 猎豹浏览器插件无法加载怎么办&#xff1f;插件无法加载解决方法 接着&#xff0c;在设置页面单击【我的应用】&#xff0c;这时就可以看到已经安装的插件了&#xff0c;…

关于jquery find 获取不到 input标签问题

<input name"mmMoList[${stuts.index }].isCheck" class "isCheck" type"hidden" value"${poVal.isCheck }"/> 错误写法 class "isCheck" 写在type 后 <input name"mmMoList[${stuts.index }].isCheck&q…

Win11系统如何调节字体大小

现在Win11系统是非常火热的系统&#xff0c;很多用户在升级了Win11之后发现自己很多功能都非常陌生&#xff0c;因为Win11很多功能都进行了大改&#xff0c;所以导致很多用户都对升级后的Win11系统的界面很陌生。在Win11系统的时候默认字体大小对于部分视力有问题的用户来说不是…

-- 使用当前(子表)表某字段更新 对应行记录其他字段 (存在主子表关系) left join

-- 使用当前(子表)表某字段更新 对应行记录其他字段 (存在主子表关系) left join update ( select a.* from ic_purchasein_b a left join ic_purchasein_h b on b.cgeneralhid a.cgeneralhid where b.pk_org 0001A1100000001BN4N6and (vdef2 is not null and vdef2 <&…

TIM怎么显示每条信息的时间

TIM聊天的时候&#xff0c;发现发送的信息不显示时间&#xff0c;只会在不频繁聊天的时候显示时间&#xff0c;怎么才能让每条信息都显示具体的时间呢?下面我们就来看看详细的教程。 1、打开想要查看的聊天窗口 TIM怎么显示每条信息的时间? 2、单击鼠标滚轮&#xff0c;没…

JEECG datagrid 页面刷新reloadTable

reloadTable 方法在进入页面执行函数触发刷新 多余10条分页状态是刷新失效,执行删除操作后刷新恢复有效, 故 使用datagrid("reload") 方法刷新 比较靠谱 reloadTable();$(#dbPassBoxList).datagrid(reload);//刷新 需要这两句联用 页面才会刷新

系统之家win11旗舰版32位镜像v2021.07

系统之家win11旗舰版32位镜像v2021.07是一款非常好用的电脑操作系统&#xff0c;系统中的功能较为全面&#xff0c;且充满了独具的特色&#xff0c;让你可以快速的将系统完成安装&#xff0c;而且不用激活&#xff0c;安装完成就能立即使用&#xff0c;大大节省用户时间! 系统…

NC 633 BP类集锦 根据包名定位modules文件夹

ic 调拨出入 4Y 4E 采购入库 45 其他出入库 4I(4i) 4A 销售出库 4C so 销售订单 30 销售发货 4331 pu 采购订单 21 其他出入库 插入触发BP类路径 nc.impl.ic.m4i.action.InsertAction

微软Dev版Win11下周不更新 或为能跑安卓APP的新版做准备

微软的 Win11 系统发布一个月了&#xff0c; Insider 内测也快一个月来&#xff0c;现在 beta 通道开始推送第一个预览版 Win11 Build 10.0.22000.100 &#xff0c;此前担心稳定性的玩家可以考虑升级了。 beta 版 Win11 开始推送&#xff0c;意味着 Win11 的首批测试差不多了&…

记录配置表获取字段信息

使用 DbConfigParamEntity use_comparison SetUpUtils.getConfigParam("use_comparison");String use_comparison_val use_comparison.getParamValue();if("1".equals(use_comparison_val) ) {if(StringUtils.isNotBlank(pk_org)) {List<DbOrgCompa…

钉钉电脑版如何申请调休 钉钉电脑版申请调休方法

大家都知道&#xff0c;对于钉钉&#xff0c;想必众多上班族都不会陌生&#xff0c;钉钉是一款非常好用的协同办公软件&#xff0c;拥有考勤打卡、文件传输、流程审批、沟通聊天等众多功能&#xff0c;是企业必不可少的一款管理软件。那么&#xff0c;在钉钉电脑版中我们要怎么…

关于接口并发问题,webservice,等http请求

暂且不谈高并发 只谈并发 . 不想丢请求再去考虑高并发 MQ或redis的事(这里不考虑) 正题.记录自我需求处理并的情况. 公司的一个框架(一种商业框架很庞大)无法使用整合市面上那些较新的技术框架,只能使用基础的java工具 这里的接口是一个模块 是webservice的 外部系统调用…

钉钉项目任务怎么添加审批表单

首先我们要通过检查项功能为任务添加检查&#xff0c;只有检查人员通过了才可以对任务进行完成操作。今天我们来操作一下怎么给任务添加审批表格结合的功能&#xff0c;只有绑定的审批表单流程审批通过或者撤销了才可以进行任务完成的操作&#xff0c;详细请看下文介绍。 一、…

视图有索引吗?答:没有. 查询视图会触发索引吗?答:会

面试的时候当我问到这样的问题的时候面试者往往不给我正面回答.很讨厌.所以我在表体直接给出答案. 看其他人的回答 视图会用走索引吗. 答: 先来一通视图的定义 ,视图的作用,优缺点. 很好,不正面回答防止pass , 这样让面试官感觉自己懂得很多. 1.什么是视图 视图是一种虚拟的…

Foxmail新建自动标签功能在哪 如何给Foxmail收件人邮件设置自动标签

Foxmail邮件客户端软件&#xff0c;是中国最著名的软件产品之一&#xff0c;在Foxmail里面有很多比较好的功能&#xff0c;比如自动标签&#xff0c;那么&#xff0c;Foxmail新建自动标签功能在哪?如何给Foxmail收件人邮件设置自动标签呢?接下来就让我们一起去了解一下吧! 给…

泛微OA 注册自定义接口格式

package weaver.interfaces.workflow.action.javacode;import weaver.interfaces.workflow.action.Action; import weaver.general.BaseBean; import weaver.soa.workflow.request.RequestInfo; /*** 在线自定义action接口*/ public class Action20221110092310 extends BaseBe…