我感觉有必要分享一下,历时2周搁置的功能
应该有很多小伙伴都在找的问题 祝你们好运
关键代码
集团id一定要填 , 两周的时间就是栽在这id上
try { baseDAO bd = new baseDAO(); nc.vo.so.m4331.entity.DeliveryHVO deliveryHVO=new nc.vo.so.m4331.entity.DeliveryHVO(); //fstatusflag //1=自由,2=审批通过,3=冻结,4=关闭,7=审批中,8=审批不通过,5=失效, //获取销售发货单(4331) 进行审批 产生 销售出库单 (4C) deliveryHVO = (nc.vo.so.m4331.entity.DeliveryHVO) bd.executeQuery("select * from jpncdb1.so_delivery where dr=0 and vbillcode ='"+vsourcebillcode2+"'", new BeanProcessor(nc.vo.so.m4331.entity.DeliveryHVO.class)); if (deliveryHVO != null){ String so_delivery_pk=deliveryHVO.getAttributevalue("cdeliveryid").toString();//主键 SuperVO[] deliveryBVO = HYPubBO_Client.queryByCondition(DeliveryBVO.class, " cdeliveryid = '"+so_delivery_pk+"'"); // 30 4331 4C //String flag2 = PfUtilTools.approveSilently("4331",so_delivery_pk, "Y", "批准","hcj",null); IplatFormEntry iIplatFormEntry = (IplatFormEntry) NCLocator.getInstance().lookup(IplatFormEntry.class.getName()); //这是集团ID 一般每个表都有 随便找 pk_group 字段 InvocationInfoProxy.getInstance().setGroupId("00013910000000000N4S"); //这个字段很重要 AggregatedValueObject deliveryVO= new nc.vo.so.m4331.entity.DeliveryVO(); deliveryVO.setParentVO(deliveryHVO); deliveryVO.setChildrenVO(deliveryBVO); HashMap map = new HashMap(); map.put("notechecked", "notechecked"); // 审批动作 ,审批单据类型 , null ,billvo,null, 环境 , Object processAction = iIplatFormEntry.processAction("APPROVE", "4331", null, deliveryVO,null, map); } } catch (Exception e1) { e1.printStackTrace(); }
package nc.impl.jpncinterface; import java.awt.event.ActionEvent; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.regex.Pattern; import nc.bs.dao.baseDAO; import nc.bs.dao.DAOException; import nc.bs.framework.common.InvocationInfoProxy; import nc.bs.framework.common.NCLocator; import nc.bs.ic.general.businessevent.ICGeneralCommonEvent; import nc.bs.pub.pf.PfUtilTools; import nc.impl.pubapp.pattern.data.bill.BillQuery; import nc.itf.uap.pf.IPFBusiAction; import nc.itf.uap.pf.IplatFormEntry; import nc.jdbc.framework.processor.BeanListProcessor; import nc.jdbc.framework.processor.BeanProcessor; import nc.jdbc.framework.processor.ColumnProcessor; import nc.md.persist.framework.IMDPersistenceQueryService; import nc.ui.so.m30.billui.action.SaleOrderMESApproveAction; import nc.ui.so.m4331.billui.action.DeliveryApproveAction; import nc.ui.trade.business.HYPubBO_Client; import nc.vo.ic.m4c.entity.SaleOutBodyVO; import nc.vo.ic.m4c.entity.SaleOutHeadVO; import nc.vo.pu.m21.entity.OrderItemVO; import nc.vo.pub.AggregatedValueObject; import nc.vo.pub.SuperVO; import nc.vo.pub.pf.workflow.IPFActionName; import nc.vo.rmex.rmupload.deliverybill.DeliveryBillHVO; import nc.vo.so.m4331.entity.DeliveryBVO; import nc.vo.so.m4331.entity.DeliveryVO; import org.apache.commons.lang3.StringUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class GetIcSaleout { //库存销售出库单 public String getExecute(String operation,String orderform){ String resultstr=null; if (operation.equals("Insert")){ //插入 if(isJsonObject(orderform)){//验证入参 resultstr = insert(operation, orderform); }else{ JSonObject backinfojson=new JSonObject(); backinfojson.put("$successful", "N"); backinfojson.put("sendresult", "JSON格式错误"); resultstr=backinfojson.toString(); } }else if (operation.equals("Update")){ //修改 resultstr=update(operation, orderform); }else if (operation.equals("Delete")){ //删除 resultstr=delete(operation, orderform); }else if (operation.equals("Search")){ //查询 resultstr = search(operation, orderform); }else { JSonObject backinfojson=new JSonObject(); backinfojson.put("$successful", "N"); backinfojson.put("sendresult", "未开放!"); resultstr=backinfojson.toString(); } return resultstr; } public String insert(String operation,String orderform){ JSonObject orderjson = JSON.parseObject(orderform); StringBuffer xml_sb=new StringBuffer(); //String vbillcode = orderjson.getString("vbillcode");//单 String vsourcebillcode2 = orderjson.getString("vsourcebillcode");//销售发货单号 //String flag1 = PfUtilTools.approveSilently("交易类型编码或单据类型",主表主键, "是否通过", 审批批语, "",用户组, "动作"); try { baseDAO bd = new baseDAO(); nc.vo.so.m4331.entity.DeliveryHVO deliveryHVO=new nc.vo.so.m4331.entity.DeliveryHVO(); //nc.vo.so.m4331.entity.DeliveryBVO deliveryBVO[]=null; //ListdeliveryBVO=new ArrayList (); //fstatusflag //1=自由,2=审批通过,3=冻结,4=关闭,7=审批中,8=审批不通过,5=失效, //获取销售发货单(4331) 进行审批 产生 销售出库单 (4C) deliveryHVO = (nc.vo.so.m4331.entity.DeliveryHVO) bd.executeQuery("select * from jpncdb1.so_delivery where dr=0 and vbillcode ='"+vsourcebillcode2+"'", new BeanProcessor(nc.vo.so.m4331.entity.DeliveryHVO.class)); if (deliveryHVO != null){ String so_delivery_pk=deliveryHVO.getAttributevalue("cdeliveryid").toString();//主键 //deliveryBVO[0] = (nc.vo.so.m4331.entity.DeliveryBVO) bd.executeQuery("select * from jpncdb1.so_delivery_b where dr=0 and cdeliveryid ='"+so_delivery_pk+"'", new BeanProcessor(nc.vo.so.m4331.entity.DeliveryBVO.class)); SuperVO[] deliveryBVO = HYPubBO_Client.queryByCondition(DeliveryBVO.class, " cdeliveryid = '"+so_delivery_pk+"'"); //deliveryBVO=(List ) bd.executeQuery("select * from jpncdb1.so_delivery_b where dr=0 and cdeliveryid ='"+so_delivery_pk+"'", new BeanListProcessor(DeliveryBVO.class)); String[] users = {"hcj"}; // 30 4331 4C //String flag2 = PfUtilTools.approveSilently("4331",so_delivery_pk, "Y", "批准","hcj",null); //String flag2 = PfUtilTools.approveSilently("4C-Cxx-001",so_delivery_pk, "Y", "", "APPROVE",null); //String flag2 = PfUtilTools.approveSilently("4331",so_delivery_pk,null, null, "APPROVE",null); //System.out.println(flag2); //IplatFormEntry iIplatFormEntry = NCLocator.getInstance().lookup(IplatFormEntry.class); IplatFormEntry iIplatFormEntry = (IplatFormEntry) NCLocator.getInstance().lookup(IplatFormEntry.class.getName()); InvocationInfoProxy.getInstance().setGroupId("00013910000000000N4S"); AggregatedValueObject deliveryVO= new nc.vo.so.m4331.entity.DeliveryVO(); //deliveryVO //nc.vo.so.m4331.entity.DeliveryVO deliveryVO.setParentVO(deliveryHVO); deliveryVO.setChildrenVO(deliveryBVO); HashMap map = new HashMap(); map.put("notechecked", "notechecked"); Object processAction = iIplatFormEntry.processAction("APPROVE", "4331", null, deliveryVO,null, map); System.out.println(processAction); //流程平台动作处理 服务接口 //destBill是aggvo //DeliveryBillHVO[] obj= (DeliveryBillHVO[]) ifbaction.processAction("WRITE", "4331", null, aggvo, null, null); //Object retObj = new PfUtilBO().processAction("APPROVE", "4331", "2005-05-30 12:23:44", null, billVo, userObj ); } } catch (Exception e1) { e1.printStackTrace(); } String resultstr2 = ""; JSonObject backinfojson2=new JSonObject(); backinfojson2.put("$successful", "Y"); backinfojson2.put("sendresult", ""); resultstr2=backinfojson2.toString(); boolean flag = true; if(flag){ return resultstr2; } String pk_org = orderjson.getString("pk_orgcode"); //库存组织 10202 pk_orgcode String vtrantypecode = orderjson.getString("ctrantypecode"); //出入库类型编码 4C-Cxx-001 ctrantypecode String cwarehouseid = orderjson.getString("cwarehousecode"); //仓库 X06 cwarehousecode String cwhsmanagerid = orderjson.getString("cwhsmanagercode"); //库管员 08708 cwhsmanagercode String cbizid = orderjson.getString("cbizcode"); //业务员 0110 cbizcode String cdptvid = orderjson.getString("cdptcode"); //部门 "" cdptcode String ccustomerid = orderjson.getString("ccustomercode"); //订单客户 070204 ccustomercode //String ntotalnum = orderjson.getString("ntotalnum"); //总数量会自动计算 String cfanaceorgoid = orderjson.getString("cfanaceorgcode"); //结算财务组织 100 cfanaceorgcode String cbiztype = orderjson.getString("cbiztype"); //业务流程 Cxx-001 String dbilldate = orderjson.getString("dbilldate"); //单据日期 2021-09-07 08:33:49 String trafficorgoid = orderjson.getString("trafficorgoid"); //物流组织 101 String freplenishflag = orderjson.getString("freplenishflag");// 销售退货 N String boutretflag = orderjson.getString("boutretflag"); //销售退回 N String fbillflag = orderjson.getString("fbillflag"); //单据状态 2 String vnote = orderjson.getString("vnote"); //备注 String vdef2 = orderjson.getString("vdef2"); //表头自定义项2 02 String creator = orderjson.getString("creator"); //创建人 hcj String billmaker = orderjson.getString("billmaker"); //制单人 hcj String csaleorgoid = orderjson.getString("csaleorgoid"); //销售组织 101 String creceivfinorgoid = orderjson.getString("creceivfinorgoid"); //应收财务组织 100 String ctrantypeid = orderjson.getString("ctrantypeid"); //出入库类型 4C-Cxx-001 String creationtime = getDateStr(new Date(),"yyyy-MM-dd HH:mm:ss"); //制单日期 //子表 JSonArray body = (JSONArray) orderjson.get("body"); StringBuffer body_sb=new StringBuffer(); for (int i = 0;i 1 and vbillcode ='"+vbillcode+"'", new BeanProcessor(SaleOutHeadVO.class)); } catch (Exception e1) { e1.printStackTrace(); } if (saleOutHeadVO != null){ pk=saleOutHeadVO.getAttributevalue("cgeneralhid").toString(); if(StringUtils.isBlank(pk)){ backinfojson.put("sendresult", "查询不到单据!"); backinfojson.put("$successful", "N"); }else{ StringBuffer xml_sb=new StringBuffer(); //String vbillcode = orderjson.getString("vbillcode");//单 String pk_org = orderjson.getString("pk_orgcode"); //库存组织 10202 pk_orgcode String vtrantypecode = orderjson.getString("ctrantypecode"); //出入库类型编码 4C-Cxx-001 ctrantypecode String cwarehouseid = orderjson.getString("cwarehousecode"); //仓库 X06 cwarehousecode String cwhsmanagerid = orderjson.getString("cwhsmanagercode"); //库管员 08708 cwhsmanagercode String cbizid = orderjson.getString("cbizcode"); //业务员 0110 cbizcode String cdptvid = orderjson.getString("cdptcode"); //部门 "" cdptcode String ccustomerid = orderjson.getString("ccustomercode"); //订单客户 070204 ccustomercode //String ntotalnum = orderjson.getString("ntotalnum"); //总数量会自动计算 String cfanaceorgoid = orderjson.getString("cfanaceorgcode"); //结算财务组织 100 cfanaceorgcode String cbiztype = orderjson.getString("cbiztype"); //业务流程 Cxx-001 String dbilldate = orderjson.getString("dbilldate"); //单据日期 2021-09-07 08:33:49 String trafficorgoid = orderjson.getString("trafficorgoid"); //物流组织 101 String freplenishflag = orderjson.getString("freplenishflag");// 销售退货 N String boutretflag = orderjson.getString("boutretflag"); //销售退回 N String fbillflag = orderjson.getString("fbillflag"); //单据状态 2 String vnote = orderjson.getString("vnote"); //备注 String vdef2 = orderjson.getString("vdef2"); //表头自定义项2 02 String creator = orderjson.getString("creator"); //创建人 hcj String billmaker = orderjson.getString("billmaker"); //制单人 hcj String csaleorgoid = orderjson.getString("csaleorgoid"); //销售组织 101 String creceivfinorgoid = orderjson.getString("creceivfinorgoid"); //应收财务组织 100 String ctrantypeid = orderjson.getString("ctrantypeid"); //出入库类型 4C-Cxx-001 String creationtime = getDateStr(new Date(),"yyyy-MM-dd HH:mm:ss"); //制单日期 //子表 JSonArray body = (JSONArray) orderjson.get("body"); StringBuffer body_sb=new StringBuffer(); for (int i = 0;i 1 "; saleOutHeadVO = (SaleOutHeadVO) bd.executeQuery(sql, new BeanProcessor(SaleOutHeadVO.class)); } catch (Exception e1) { e1.printStackTrace(); } if (saleOutHeadVO != null){ pk=saleOutHeadVO.getAttributevalue("cgeneralhid").toString(); if(pk == null || "".equals(pk)){ backinfojson.put("sendresult", "查询不到单据!"); backinfojson.put("$successful", "N"); }else{ //单据状态 if(saleOutHeadVO.getAttributevalue("fbillflag").toString().equals("2") || saleOutHeadVO.getAttributevalue("fbillflag").toString().equals("6")){ //orderHeaderVO.setAttributevalue("dr", "1"); saleOutHeadVO.setFbillflag(1); try { bd.updateVO(saleOutHeadVO); } catch (Exception e) { e.printStackTrace(); } List orderItemVOList=new ArrayList (); try { String sql="select * from ic_generalout_b where cgeneralhid = '"+pk+"' and dr=0 and fbillflag <> 1 "; orderItemVOList=(List ) bd.executeQuery(sql, new BeanListProcessor(SaleOutBodyVO.class)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } for (int i=0;i
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)