| 
					
				 | 
			
			
				@@ -1,233 +1,221 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-package nc.bs.xh.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.IOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.PrintWriter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import java.io.StringWriter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.servlet.ServletException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import javax.servlet.http.HttpServletResponse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.dao.BaseDAO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.dao.DAOException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.adaptor.IHttpServletAdaptor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.common.InvocationInfoProxy; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.common.NCLocator; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.framework.server.ISecurityTokenCallback; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.bs.servlet.service.BaseServlet; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.ic.m4n.ITransformMaitain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.pu.m21.IOrderMaintain; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.uap.IUAPQueryBS; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.itf.uap.pf.IPFBusiAction; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.jdbc.framework.processor.ColumnProcessor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.log.NcLog; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.ic.m4n.entity.TransformHeadVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.ic.m4n.entity.TransformVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.mmsfc.operationrep.entity.OprepItemVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.BusinessException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.lang.UFDate; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.lang.UFDateTime; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.pub.lang.UFDouble; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.sf.json.JSONArray; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import net.sf.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import nc.vo.ic.m4n.entity.TransformBodyVO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class TransformAddImpl extends BaseServlet implements IHttpServletAdaptor{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	IUAPQueryBS iuap= (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	@Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// TODO Auto-generated method stub 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(),"pfxx".getBytes()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String createStr = buildJson(req, resp, this.getClass().getName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JSONObject json = JSONObject.fromObject(createStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String vbillcode = ""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			PrintWriter out = resp.getWriter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			vbillcode = json.getString("vbillcode"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			checkJson(json);//非空判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			InvocationInfoProxy.getInstance().setGroupId(SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			InvocationInfoProxy.getInstance().setUserId(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			TransformVO[] transformvos = new TransformVO[1]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			TransformVO transformvo = new TransformVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformvos[0] = transformvo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			TransformHeadVO transformheadvo = new TransformHeadVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			TransformBodyVO[] transformbodyvos = new TransformBodyVO[json.getJSONArray("cspecialbid").size()]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 * 封装表头VO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setVbillcode(vbillcode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setPk_org(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", json.getString("pk_org"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setPk_org_v(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", json.getString("pk_org"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setCorpoid(SqlexecuteQuery("pk_corp", "org_corp", "code", json.getString("corpoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setCorpvid(SqlexecuteQuery("pk_vid", "org_corp", "code", json.getString("corpoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setDbilldate(new UFDate(json.getString("dbilldate"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setVtrantypecode(json.getString("vtrantypecode")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setCreator(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setCreationtime(new UFDateTime(json.getString("dbilldate"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setBillmaker(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setDmakedate(new UFDate(json.getString("dbilldate"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformheadvo.setCtrantypeid(QueryTrantype(json.getString("vtrantypecode"),SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group")))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformvo.setParentVO(transformheadvo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 * 封装表体VO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JSONArray bodyArray = json.getJSONArray("cspecialbid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			int i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (Object Object : bodyArray) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				JSONObject bodyObject = JSONObject.fromObject(Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				TransformBodyVO transformbodyvo = new TransformBodyVO(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCrowno(bodyObject.getString("crowno")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setFbillrowflag(Integer.parseInt(bodyObject.getString("fbillrowflag"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", bodyObject.getString("pk_group"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setPk_org(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", bodyObject.getString("pk_org"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setPk_org_v(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", bodyObject.getString("pk_org"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCorpoid(SqlexecuteQuery("pk_corp", "org_corp", "code", bodyObject.getString("corpoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCorpvid(SqlexecuteQuery("pk_vid", "org_corp", "code", bodyObject.getString("corpoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCbodywarehouseid(SqlexecuteQuery("pk_stordoc", "bd_stordoc", "code", bodyObject.getString("cbodywarehouseid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCmaterialoid(SqlexecuteQuery("pk_source", "bd_material_v", "code", bodyObject.getString("cmaterialoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCmaterialvid(SqlexecuteQuery("pk_material", "bd_material", "code", bodyObject.getString("cmaterialoid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", bodyObject.getString("cunitid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", bodyObject.getString("castunitid"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setVchangerate(bodyObject.getString("vchangerate")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setNnum(new UFDouble(bodyObject.getString("nnum"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setNassistnum(new UFDouble(bodyObject.getString("nassistnum"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setNcostprice(new UFDouble(bodyObject.getString("ncostprice"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvo.setNcostmny(new UFDouble(bodyObject.getString("ncostmny"))); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				transformbodyvos[i] = transformbodyvo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				i++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			transformvo.setChildrenVO(transformbodyvos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			ITransformMaitain itransform=(ITransformMaitain)NCLocator.getInstance().lookup(ITransformMaitain.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			itransform.insert(transformvos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			IPFBusiAction service = NCLocator.getInstance().lookup(IPFBusiAction.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			service.processAction("APPROVE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                "4N", null, transformvos[0], null, null); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			out.print(formatRSJsonData("成功","",vbillcode));  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			// TODO Auto-generated catch block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			resp.getWriter().write(formatRSJsonData("失败", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				     e.getMessage().toString(),"").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			StringWriter stringWriter = new StringWriter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			e.printStackTrace(new PrintWriter(stringWriter)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			//获取详细信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String msg=stringWriter.getBuffer().toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			NcLog.info("接口返回值提示:"+msg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * 非空判断 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private void checkJson(JSONObject json) throws Exception { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		StringBuffer mags = new StringBuffer(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Boolean empty = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String vbillcode = "vbillcode";//单据号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String group = "pk_group";//集团编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String creator = "creator";//创建人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String body = "cspecialbid";//表体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String[] HeadKey = {vbillcode,group,creator}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for (String as : HeadKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (json.getString(as).isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				empty = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				mags.append("'" + as + "'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (json.getJSONArray(body)==null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			empty = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			mags.append("表体不存在! "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		JSONArray oprepObjectBs = json.getJSONArray("cspecialbid"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (oprepObjectBs == null || oprepObjectBs.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			throw new Exception("表体内容不可为空!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String cmaterialoid = "cmaterialoid";//物料编码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		for(int i = 0; i < oprepObjectBs.size(); i++) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			String[] BodyKey = {cmaterialoid}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			int num = i+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			mags.append("第"+num+"块表体:{"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			for (String as : BodyKey) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				if (oprepJsonObjectB.getString(as).isEmpty()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					empty = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					mags.append("'" + as + "' "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			mags.append("}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		if (!empty) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			throw new Exception("以下字段不可为空:"+mags); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * 数据库查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private String SqlexecuteQuery(String out,String table,String key,String value) throws DAOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String sql = "select "+out+" from "+table+" where "+key+" = '"+value+"' and nvl(dr,0)=0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Object object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			object = iuap.executeQuery(sql, new ColumnProcessor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (object==null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				throw new DAOException("未查询到数据!请检查编码"+value+"是否正确!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return object.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} catch (BusinessException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			// TODO Auto-generated catch block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return e.getMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	/* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 * 查询转换类型pk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	private String QueryTrantype(String code,String group) throws DAOException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		String sql = "select pk_billtypeid from bd_billtype where pk_billtypecode = '"+code+"' and pk_group = '"+group+"' and nvl(dr,0)=0"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		Object object; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		try { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			object = iuap.executeQuery(sql, new ColumnProcessor()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (object==null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				throw new DAOException("未查询到数据!请检查编码"+code+"是否正确!"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return object.toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} catch (BusinessException e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			// TODO Auto-generated catch block 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			e.printStackTrace(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			return e.getMessage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package nc.bs.xh.impl;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.IOException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.PrintWriter;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.io.StringWriter;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.ServletException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletRequest;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import javax.servlet.http.HttpServletResponse;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.dao.BaseDAO;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.dao.DAOException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.adaptor.IHttpServletAdaptor;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.common.InvocationInfoProxy;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.common.NCLocator;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.framework.server.ISecurityTokenCallback;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.bs.servlet.service.BaseServlet;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.itf.ic.m4n.ITransformMaitain;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.itf.pu.m21.IOrderMaintain;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.itf.uap.IUAPQueryBS;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.itf.uap.pf.IPFBusiAction;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.jdbc.framework.processor.ColumnProcessor;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.log.NcLog;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.ic.m4n.entity.TransformHeadVO;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.ic.m4n.entity.TransformVO;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.mmsfc.operationrep.entity.OprepItemVO;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.BusinessException;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.lang.UFDate;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.lang.UFDateTime;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.pub.lang.UFDouble;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.sf.json.JSONArray;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import net.sf.json.JSONObject;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import nc.vo.ic.m4n.entity.TransformBodyVO;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class TransformAddImpl extends BaseServlet implements IHttpServletAdaptor{
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	IUAPQueryBS iuap= (IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	@Override
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		// TODO Auto-generated method stub
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		NCLocator.getInstance().lookup(ISecurityTokenCallback.class).token("NCSystem".getBytes(),"pfxx".getBytes());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        try {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String createStr = buildJson(req, resp, this.getClass().getName());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject json = JSONObject.fromObject(createStr);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String vbillcode = "";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			PrintWriter out = resp.getWriter();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			vbillcode = json.getString("vbillcode");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			checkJson(json);//非空判断
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			InvocationInfoProxy.getInstance().setGroupId(SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			InvocationInfoProxy.getInstance().setUserId(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			TransformVO[] transformvos = new TransformVO[1];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			TransformVO transformvo = new TransformVO();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformvos[0] = transformvo;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			TransformHeadVO transformheadvo = new TransformHeadVO();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			TransformBodyVO[] transformbodyvos = new TransformBodyVO[json.getJSONArray("cspecialbid").size()];
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			/**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 * 封装表头VO
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setVbillcode(vbillcode);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setPk_org(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", json.getString("pk_org")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setPk_org_v(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", json.getString("pk_org")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setCorpoid(SqlexecuteQuery("pk_corp", "org_corp", "code", json.getString("corpoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setCorpvid(SqlexecuteQuery("pk_vid", "org_corp", "code", json.getString("corpoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setDbilldate(new UFDate(json.getString("dbilldate")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setVtrantypecode(json.getString("vtrantypecode"));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setCreator(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setCreationtime(new UFDateTime(json.getString("dbilldate")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setBillmaker(SqlexecuteQuery("cuserid", "sm_user", "user_code", json.getString("creator")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setDmakedate(new UFDate(json.getString("dbilldate")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformheadvo.setCtrantypeid(QueryTrantype(json.getString("vtrantypecode"),SqlexecuteQuery("pk_group", "org_group", "code", json.getString("pk_group"))));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformvo.setParentVO(transformheadvo);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			/**
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 * 封装表体VO
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONArray bodyArray = json.getJSONArray("cspecialbid");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			int i=0;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (Object Object : bodyArray) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				JSONObject bodyObject = JSONObject.fromObject(Object);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				TransformBodyVO transformbodyvo = new TransformBodyVO();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCrowno(bodyObject.getString("crowno"));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setFbillrowflag(Integer.parseInt(bodyObject.getString("fbillrowflag")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setPk_group(SqlexecuteQuery("pk_group", "org_group", "code", bodyObject.getString("pk_group")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setPk_org(SqlexecuteQuery("pk_stockorg", "org_stockorg", "code", bodyObject.getString("pk_org")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setPk_org_v(SqlexecuteQuery("pk_vid", "org_stockorg_v", "code", bodyObject.getString("pk_org")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCorpoid(SqlexecuteQuery("pk_corp", "org_corp", "code", bodyObject.getString("corpoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCorpvid(SqlexecuteQuery("pk_vid", "org_corp", "code", bodyObject.getString("corpoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCbodywarehouseid(SqlexecuteQuery("pk_stordoc", "bd_stordoc", "code", bodyObject.getString("cbodywarehouseid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCmaterialoid(SqlexecuteQuery("pk_source", "bd_material_v", "code", bodyObject.getString("cmaterialoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCmaterialvid(SqlexecuteQuery("pk_material", "bd_material", "code", bodyObject.getString("cmaterialoid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", bodyObject.getString("cunitid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setCastunitid(SqlexecuteQuery("pk_measdoc", "bd_measdoc", "code", bodyObject.getString("castunitid")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setVchangerate(bodyObject.getString("vchangerate"));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setNnum(new UFDouble(bodyObject.getString("nnum")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setNassistnum(new UFDouble(bodyObject.getString("nassistnum")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setNcostprice(new UFDouble(bodyObject.getString("ncostprice")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvo.setNcostmny(new UFDouble(bodyObject.getString("ncostmny")));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				transformbodyvos[i] = transformbodyvo;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				i++;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			transformvo.setChildrenVO(transformbodyvos);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			ITransformMaitain itransform=(ITransformMaitain)NCLocator.getInstance().lookup(ITransformMaitain.class);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			itransform.insert(transformvos);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			IPFBusiAction service = NCLocator.getInstance().lookup(IPFBusiAction.class);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			service.processAction("APPROVE",
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	                "4N", null, transformvos[0], null, null);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			out.print(formatRSJsonData("成功","",vbillcode)); 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} catch (Exception e) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			// TODO Auto-generated catch block
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			resp.getWriter().write(formatRSJsonData("失败",
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				     e.getMessage().toString(),"").toString());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			StringWriter stringWriter = new StringWriter();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			e.printStackTrace(new PrintWriter(stringWriter));
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//获取详细信息
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String msg=stringWriter.getBuffer().toString();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			NcLog.info("接口返回值提示:"+msg);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/*
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 非空判断
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private void checkJson(JSONObject json) throws Exception {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		StringBuffer mags = new StringBuffer();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Boolean empty = true;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String vbillcode = "vbillcode";//单据号
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String group = "pk_group";//集团编码
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String creator = "creator";//创建人
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String body = "cspecialbid";//表体
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String[] HeadKey = {vbillcode,group,creator};
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for (String as : HeadKey) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (json.getString(as).isEmpty()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				empty = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				mags.append("'" + as + "'");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (json.getJSONArray(body)==null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			empty = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mags.append("表体不存在! ");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		JSONArray oprepObjectBs = json.getJSONArray("cspecialbid");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (oprepObjectBs == null || oprepObjectBs.size() == 0) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			throw new Exception("表体内容不可为空!");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String cmaterialoid = "cmaterialoid";//物料编码
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for(int i = 0; i < oprepObjectBs.size(); i++) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			JSONObject oprepJsonObjectB = oprepObjectBs.getJSONObject(i);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			String[] BodyKey = {cmaterialoid};
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			int num = i+1;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mags.append("第"+num+"块表体:{");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			for (String as : BodyKey) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				if (oprepJsonObjectB.getString(as).isEmpty()) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					empty = false;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					mags.append("'" + as + "' ");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			mags.append("}");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if (!empty) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			throw new Exception("以下字段不可为空:"+mags);
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/*
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 数据库查询
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private String SqlexecuteQuery(String out,String table,String key,String value) throws Exception {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String sql = "select "+out+" from "+table+" where "+key+" = '"+value+"' and nvl(dr,0)=0";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Object object;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			object = iuap.executeQuery(sql, new ColumnProcessor());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (object==null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new DAOException("未查询到数据!请检查编码"+value+"是否正确!");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return object.toString();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/*
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 * 查询转换类型pk
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	 */
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	private String QueryTrantype(String code,String group) throws Exception {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		String sql = "select pk_billtypeid from bd_billtype where pk_billtypecode = '"+code+"' and pk_group = '"+group+"' and nvl(dr,0)=0";
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Object object;
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			object = iuap.executeQuery(sql, new ColumnProcessor());
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if (object==null) {
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				throw new DAOException("未查询到数据!请检查编码"+code+"是否正确!");
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			return object.toString();
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	}
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}
 
			 |