فهرست منبع

产成品入库加辅数量

zthwr 10 ماه پیش
والد
کامیت
bb232d279e

+ 20 - 4
mmpac/mmpac/src/client/u8c/ui/mmpac/action/PushProductAction.java

@@ -71,11 +71,21 @@ public class PushProductAction extends AbstractAction{
 					//本次执行数量不填就默认
 					//执行完的表体在生单界面不展示
 					UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
+					UFDouble nastnum=invo.getNastnum() == null ? UFDouble.ZERO_DBL : invo.getNastnum();//辅数量
+					UFDouble exenastnum = invo.getExecnastnum() == null ? UFDouble.ZERO_DBL : invo.getExecnastnum();//已执行辅数量
 					UFDouble execnum = invo.getExecnum() == null ? new UFDouble(0) : invo.getExecnum();
-					if(num.sub(execnum).compareTo(UFDouble.ZERO_DBL)==0) {
+					if(num.sub(execnum).compareTo(UFDouble.ZERO_DBL)==0 && num.compareTo(UFDouble.ZERO_DBL)>0 ) {
 						continue;
 					}
-					invo.setBdef5(num.sub(execnum).toString());
+					invo.setBdef5(num.sub(execnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());
+					
+					//没有辅数量
+					if(nastnum.compareTo(UFDouble.ZERO_DBL)!=0 ) {
+						invo.setBdef7(nastnum.sub(exenastnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());//本次执行辅数量
+					}
+					
+				
+					
 					listOrderInVO.add(invo);
 					
 				}
@@ -88,10 +98,16 @@ public class PushProductAction extends AbstractAction{
 						OrderInVO invo = (OrderInVO) vos[i];
 						UFDouble num = invo.getNum() == null ? new UFDouble(0) : invo.getNum();
 						UFDouble execnum = invo.getExecnum() == null ? new UFDouble(0) : invo.getExecnum();
-						if(num.sub(execnum).compareTo(UFDouble.ZERO_DBL)==0) {
+						UFDouble nastnum=invo.getNastnum() == null ? UFDouble.ZERO_DBL : invo.getNastnum();//辅数量
+						UFDouble exenastnum = invo.getExecnastnum() == null ? UFDouble.ZERO_DBL : invo.getExecnastnum();//已执行辅数量
+						if(num.sub(execnum).compareTo(UFDouble.ZERO_DBL)==0 && num.compareTo(UFDouble.ZERO_DBL)>0) {
 							continue;
 						}
-						invo.setBdef5(num.sub(execnum).toString());
+						//没有辅数量
+						if(nastnum.compareTo(UFDouble.ZERO_DBL)!=0 ) {
+							invo.setBdef7(nastnum.sub(exenastnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());//本次执行辅数量
+						}
+						invo.setBdef5(num.sub(execnum).setScale(2, UFDouble.ROUND_HALF_UP).toString());
 						listOrderInVO.add(invo);
 					}
 				}

+ 203 - 50
mmpac/mmpac/src/client/u8c/ui/mmpac/action/TOProductOutDialog.java

@@ -22,6 +22,8 @@ import nc.bs.framework.common.NCLocator;
 import nc.hr.utils.PubEnv;
 import nc.itf.uap.IUAPQueryBS;
 import nc.jdbc.framework.processor.BeanListProcessor;
+import nc.jdbc.framework.processor.ColumnProcessor;
+import nc.jdbc.framework.processor.MapProcessor;
 import nc.ui.pub.ClientEnvironment;
 import nc.ui.pub.beans.MessageDialog;
 import nc.ui.pub.beans.UIButton;
@@ -69,6 +71,7 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 	private OrderMainVO headvo;
 	private OrderInVO[] inArrays = null;
 	private IOrderTotalInfo iorder = NCLocator.getInstance().lookup(IOrderTotalInfo.class);
+	private IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
 //	public GxCLCDialog() {
 //		super();
 //		initialize();
@@ -261,7 +264,44 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 	
 	@Override
 	public void afterEdit(BillEditEvent arg0) {
-		// TODO Auto-generated method stub
+		
+	  Object  objbdef6=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "bdef6");//换算率
+	  Object  objnastnum=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "nastnum");//辅数量
+	  Object  objnum=this.jlcardPanel.getBodyValueAt(arg0.getRow(), "num");//主数量
+	  
+	  if(null!=objnastnum && "".equals(objnastnum.toString()) && (null==objbdef6 || "".equals(objbdef6.toString()))) {
+		  MessageDialog.showErrorDlg(mainpanel, "错误", "请检查换算率不能为空!");
+		  this.jlcardPanel.setBodyValueAt(false, arg0.getRow(), "bdef4");
+		  return;
+	  }
+	  //本次执行主数量
+	  if("bdef5".equals(arg0.getKey())) {
+		  String value=arg0.getValue().toString();//填写的主数量
+		  
+		  UFDouble  ufbdef7=new UFDouble(value).div 
+				  (new UFDouble(objnum.toString()).div(new UFDouble(objnastnum.toString()))).setScale(2, UFDouble.ROUND_HALF_UP);
+		  
+		  this.jlcardPanel.setBodyValueAt(ufbdef7, arg0.getRow(), "bdef7");//本次执行辅数量
+	  }
+	  
+	  //本次执行辅数量
+	  if("bdef7".equals(arg0.getKey())) {
+          String value=arg0.getValue().toString();//填写的辅数量
+		  
+          if(null!=objnastnum && !"".equals(objnastnum.toString())) {
+        	  
+        	  UFDouble  ufbdef5=new UFDouble(value).multiply
+        			  (new UFDouble(objnum.toString()).div(new UFDouble(objnastnum.toString()))).setScale(2, UFDouble.ROUND_HALF_UP);
+    		  
+    		  this.jlcardPanel.setBodyValueAt(ufbdef5, arg0.getRow(), "bdef5");//本次执行辅数量
+          }else {
+        	  MessageDialog.showHintDlg(mainpanel, "提示", "此存货没有辅计量单位!");
+        	  this.jlcardPanel.setBodyValueAt(null, arg0.getRow(), "bdef7");//本次执行辅数量
+          }
+          
+		
+		
+	 }
 		
 	}
 
@@ -305,14 +345,14 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 					Vector<Object> vector = (Vector<Object>)vectors.get(i);
 					if(null!=vector.get(0) &&  "Y".equals(vector.get(0).toString())){
 						if(vector.get(1) == null) {
-							errmsg.append("第"+(i+1)+"行本次执行数量为空!");
+							errmsg.append("第"+(i+1)+"行本次执行数量为空!");
 							continue;
 						}
 						UFDouble execnum = new UFDouble(vector.get(1).toString());//本次执行数量
-						UFDouble nnum = new UFDouble(vector.get(22).toString());//主数量
-						UFDouble usednum = vector.get(30) == null?new UFDouble(0):new UFDouble(vector.get(30).toString());//已执行主数量
-						if(execnum.compareTo(nnum.sub(usednum)) > 0) {
-							errmsg.append("第"+(i+1)+"行本次执行数量超过订单剩余数量!");
+						UFDouble nnum = new UFDouble(vector.get(23).toString());//主数量
+						UFDouble usednum = vector.get(31) == null?new UFDouble(0):new UFDouble(vector.get(31).toString());//已执行主数量
+						if(execnum.compareTo(nnum.sub(usednum)) > 0  && nnum.compareTo(UFDouble.ZERO_DBL)>0) {
+							errmsg.append("第"+(i+1)+"行本次执行数量超过订单剩余数量!");
 						}
 					}
 				}
@@ -342,16 +382,36 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 				icheadvo.setDbilldate(dbilldate);
 				//制单人
 				icheadvo.setCoperatorid(PubEnv.getPk_user());
-				//项目编码 pk_defdoc9
-				icheadvo.setAttributeValue("pk_defdoc9", prjcode);
-				//项目名称pk_defdoc10
-				icheadvo.setAttributeValue("pk_defdoc10", prjcode);
-				//加工单号pk_defdoc2
-				icheadvo.setAttributeValue("pk_defdoc2", headvo.getDef1());
 				//收发类别
 				icheadvo.setCdispatcherid(GetBaseDAOUtil.getpkrdcl("08"));
+				
+//				//项目编码 pk_defdoc9
+//				icheadvo.setAttributeValue("pk_defdoc9", prjcode);
+//				//项目名称pk_defdoc10
+//				icheadvo.setAttributeValue("pk_defdoc10", prjcode);
+//				//加工单号pk_defdoc2
+//				icheadvo.setAttributeValue("pk_defdoc2", headvo.getDef1());
+//				//业务类型
+//				icheadvo.setAttributeValue("pk_defdoc8", billtype);
+				
+				Map<String,String> mapcodename=getprojectmap(prjcode);
+				//项目编码 
+			//	icheadvo.setAttributeValue("vuserdef9",mapcodename.get("jobcode") );
+				//项目编码 pk_defdoc9
+			//	icheadvo.setAttributeValue("pk_defdoc9", prjcode);
+				//项目名称
+				icheadvo.setAttributeValue("vuserdef10", mapcodename.get("jobname"));
+				//项目名称pk_defdoc10
+				icheadvo.setAttributeValue("pk_defdoc10", prjcode);						
+				//加工单号
+				icheadvo.setAttributeValue("vuserdef1", headvo.getDef1());
+			
 				//业务类型
-				icheadvo.setAttributeValue("pk_defdoc8", billtype);
+				icheadvo.setAttributeValue("vuserdef7", billtype.trim());
+				
+				icheadvo.setAttributeValue("pk_defdoc7",getpkdefdoc(billtype.trim()));
+				
+				
 				//仓库ID
 				if("工装".equals(billtype)) {
 					icheadvo.setCwarehouseid(GetBaseDAOUtil.getstordocpk("GZ001"));//仓库必填
@@ -368,12 +428,13 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 				icheadvo.setCoperatoridnow(PubEnv.getPk_user());
 				aggvo.setParentVO(icheadvo);
 				Map<String, UFDouble> updatemap = new HashMap<>();
+				Map<String, UFDouble> updatfzemap = new HashMap<>();
 				for(int j = 0; j < vectors.size(); j++) {
 					Vector<Object> vector = (Vector<Object>)vectors.get(j);
 					//自定义项4  为勾选按钮 :勾选为Y 没有勾选是null
 					if(null!=vector.get(0) &&  "Y".equals(vector.get(0).toString())){
 						GeneralBillItemVO itemvo = new GeneralBillItemVO();
-						String cmaterialcode = vector.get(8).toString();
+						String cmaterialcode = vector.get(9).toString();
 						String pk_invbasdoc = "";//存货pk
 						if(cmaterialcode.startsWith("0001")) {
 							pk_invbasdoc = cmaterialcode;
@@ -440,19 +501,28 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 						//应入数量
 						itemvo.setNshouldinnum(ninnum);
 						//辅计量单位ID 
-						itemvo.setCastunitid(vector.get(28) == null ? null : GetBaseDAOUtil.getMeasidByNames(vector.get(28).toString()));	
-						UFDouble Hsl = vector.get(49) == null ? null : new UFDouble(vector.get(49).toString());
+						itemvo.setCastunitid(vector.get(29) == null ? null : GetBaseDAOUtil.getMeasidByNames(vector.get(29).toString()));	
+						UFDouble Hsl = vector.get(50) == null ? null : new UFDouble(vector.get(50).toString());
 						//换算率						
 						itemvo.setHsl(Hsl);
 						
 						//没有换算率则辅数量为空
-						if(Hsl != null) {
-							UFDouble ninassistnum = new UFDouble(ninnum.div(Hsl).toString(),2);
-							//实入辅数量 
-							itemvo.setNinassistnum(ninassistnum);
-							//应入辅数量 
-							itemvo.setNneedinassistnum(ninassistnum);
-						}
+//						if(Hsl != null) {
+//							UFDouble ninassistnum = new UFDouble(ninnum.div(Hsl).toString(),2);
+//							//实入辅数量 
+//							itemvo.setNinassistnum(ninassistnum);
+//							//应入辅数量 
+//							itemvo.setNneedinassistnum(ninassistnum);
+//						}
+						
+						UFDouble ninassistnum = vector.get(2) == null ? null : new UFDouble(vector.get(2).toString());
+						//实入辅数量 
+						itemvo.setNinassistnum(ninassistnum);
+						//应入辅数量 
+						itemvo.setNneedinassistnum(ninassistnum);
+						
+						
+						
 //						//金额
 //						itemvo.setNmny(vector.get(25)== null ? null : new UFDouble(vector.get(25).toString()));
 //						//单价
@@ -462,7 +532,7 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 						//源头单据表头ID
 						itemvo.setCfirstbillhid(pk_order);
 						//源头单据表体ID 
-						itemvo.setCfirstbillbid(vector.get(34).toString());
+						itemvo.setCfirstbillbid(vector.get(35).toString());
 						//源头单据类型
 						itemvo.setCfirsttype("55A2");					
 						//项目ID
@@ -470,7 +540,7 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 						//来源单据表头序列号
 						itemvo.setCsourcebillhid(pk_order);
 						//来源单据表体序列号
-						itemvo.setCsourcebillbid(vector.get(34).toString());
+						itemvo.setCsourcebillbid(vector.get(35).toString());
 						//来源单据类型
 						itemvo.setCsourcetype("55A2");
 						//原币无税金额
@@ -487,37 +557,72 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 //						itemvo.setNtaxprice(vector.get(22) == null ? null : new UFDouble(vector.get(22).toString()));
 						//itemvo.setPk_calbody(GetBaseDAOUtil.getcalpk(pk_corp));
 						//批次号
-						itemvo.setVbatchcode(vector.get(7) == null ? null : vector.get(7).toString());		
-						itemvo.setAttributeValue("pk_defdoc1", vector.get(37)==null?null:vector.get(37).toString());//楼号楼层
-						itemvo.setAttributeValue("pk_defdoc2", vector.get(38)==null?null:vector.get(38).toString());//樘数(数量)
-						itemvo.setAttributeValue("pk_defdoc3", vector.get(39)==null?null:vector.get(39).toString());//框统计
-						itemvo.setAttributeValue("pk_defdoc4", vector.get(40)==null?null:vector.get(40).toString());//扇统计
-						itemvo.setAttributeValue("pk_defdoc5", vector.get(41)==null?null:vector.get(41).toString());//半成品分类
-						itemvo.setAttributeValue("pk_defdoc6", vector.get(42)==null?null:vector.get(42).toString());//面积
-						itemvo.setAttributeValue("pk_defdoc7", vector.get(43)==null?null:vector.get(43).toString());//切割长度
-						itemvo.setAttributeValue("pk_defdoc8", vector.get(44)==null?null:vector.get(44).toString());//切割角度左下
-						itemvo.setAttributeValue("pk_defdoc9", vector.get(45)==null?null:vector.get(45).toString());//切割角度右上
-						itemvo.setAttributeValue("pk_defdoc10", vector.get(46)==null?null:vector.get(46).toString());//备注
-						itemvo.setAttributeValue("pk_defdoc11", vector.get(18)==null?null:vector.get(18).toString());//宽度
-						itemvo.setAttributeValue("pk_defdoc12", vector.get(19)==null?null:vector.get(19).toString());//高度
-						itemvo.setAttributeValue("pk_defdoc13", vector.get(47)==null?null:vector.get(47).toString());//系列
-						itemvo.setAttributeValue("pk_defdoc14", vector.get(48)==null?null:vector.get(48).toString());//玻璃编号
+						itemvo.setVbatchcode(vector.get(8) == null ? null : vector.get(8).toString());
+						
+//						itemvo.setAttributeValue("pk_defdoc1", vector.get(37)==null?null:vector.get(37).toString());//楼号楼层
+//						itemvo.setAttributeValue("pk_defdoc2", vector.get(38)==null?null:vector.get(38).toString());//樘数(数量)
+//						itemvo.setAttributeValue("pk_defdoc3", vector.get(39)==null?null:vector.get(39).toString());//框统计
+//						itemvo.setAttributeValue("pk_defdoc4", vector.get(40)==null?null:vector.get(40).toString());//扇统计
+//						itemvo.setAttributeValue("pk_defdoc5", vector.get(41)==null?null:vector.get(41).toString());//半成品分类
+//						itemvo.setAttributeValue("pk_defdoc6", vector.get(42)==null?null:vector.get(42).toString());//面积
+//						itemvo.setAttributeValue("pk_defdoc7", vector.get(43)==null?null:vector.get(43).toString());//切割长度
+//						itemvo.setAttributeValue("pk_defdoc8", vector.get(44)==null?null:vector.get(44).toString());//切割角度左下
+//						itemvo.setAttributeValue("pk_defdoc9", vector.get(45)==null?null:vector.get(45).toString());//切割角度右上
+//						itemvo.setAttributeValue("pk_defdoc10", vector.get(46)==null?null:vector.get(46).toString());//备注
+//						itemvo.setAttributeValue("pk_defdoc11", vector.get(18)==null?null:vector.get(18).toString());//宽度
+//						itemvo.setAttributeValue("pk_defdoc12", vector.get(19)==null?null:vector.get(19).toString());//高度
+//						itemvo.setAttributeValue("pk_defdoc13", vector.get(47)==null?null:vector.get(47).toString());//系列
+//						itemvo.setAttributeValue("pk_defdoc14", vector.get(48)==null?null:vector.get(48).toString());//玻璃编号
+						
+						
+						itemvo.setAttributeValue("vuserdef1", vector.get(38)==null?null:vector.get(38).toString());//楼号楼层
+						itemvo.setAttributeValue("vuserdef2", vector.get(39)==null?null:vector.get(39).toString());//樘数(数量)
+						itemvo.setAttributeValue("vuserdef3", vector.get(40)==null?null:vector.get(40).toString());//框统计
+						itemvo.setAttributeValue("vuserdef4", vector.get(41)==null?null:vector.get(41).toString());//扇统计
+						itemvo.setAttributeValue("vuserdef5", vector.get(42)==null?null:vector.get(42).toString());//半成品分类
+						itemvo.setAttributeValue("vuserdef6", vector.get(43)==null?null:vector.get(43).toString());//面积
+						itemvo.setAttributeValue("vuserdef7", vector.get(44)==null?null:vector.get(44).toString());//切割长度
+						itemvo.setAttributeValue("vuserdef8", vector.get(45)==null?null:vector.get(45).toString());//切割角度左下
+						itemvo.setAttributeValue("vuserdef9", vector.get(46)==null?null:vector.get(46).toString());//切割角度右上
+						itemvo.setAttributeValue("vuserdef10",vector.get(47)==null?null:vector.get(47).toString());//备注
+						itemvo.setAttributeValue("vuserdef11",vector.get(20)==null?null:vector.get(20).toString());//宽度
+						itemvo.setAttributeValue("vuserdef12",vector.get(21)==null?null:vector.get(21).toString());//高度
+						itemvo.setAttributeValue("vuserdef13",vector.get(48)==null?null:vector.get(48).toString());//系列
+						itemvo.setAttributeValue("vuserdef14",vector.get(49)==null?null:vector.get(49).toString());//玻璃编号
+											
+//						itemvo.setAttributeValue("vuserdef15",vector.get()==null?null:vector.get().toString());//开票类型
+						itemvo.setAttributeValue("vuserdef17",vector.get(19)==null?null:vector.get(19).toString());//窗号
+						itemvo.setAttributeValue("vuserdef18",vector.get(17)==null?null:vector.get(17).toString());//米重
+						itemvo.setAttributeValue("vuserdef19",vector.get(18)==null?null:vector.get(18).toString());//装饰面周长
+						itemvo.setAttributeValue("vuserdef20",vector.get(6)==null?null:vector.get(6).toString());//专用区
+						itemvo.setAttributeValue("pk_defdoc20",getzyqpk("专用区",vector.get(6)==null?null:vector.get(6).toString()));//专用区
+						
+						
+						
+						
 						//源头单据号
 						itemvo.setVfirstbillcode(headvo.getVbillno());
 						//来源单据号
 						itemvo.setVsourcebillcode(headvo.getVbillno());
 						itemvo.setStatus(2);
 						listGeneralBillItemVO.add(itemvo);
-						itemvo.setVfree1(vector.get(12) == null ? null : vector.get(12).toString());//颜色
-						itemvo.setVfree2(vector.get(13) == null ? null : vector.get(14).toString());//合金
-						itemvo.setVfree3(vector.get(14) == null ? null : vector.get(13).toString());//定尺
-						itemvo.setVfree4(vector.get(15) == null ? null : vector.get(15).toString());//标准
-						UFDouble updatenum =  new UFDouble(vector.get(30)==null?"0":vector.get(30).toString()).add(new UFDouble(vector.get(1)==null?"0":vector.get(1).toString()));
-						updatemap.put(vector.get(34).toString(), updatenum);
+						itemvo.setVfree1(vector.get(13) == null ? null : vector.get(13).toString());//颜色
+						itemvo.setVfree2(vector.get(15) == null ? null : vector.get(15).toString());//合金
+						itemvo.setVfree3(vector.get(14) == null ? null : vector.get(14).toString());//定尺
+						itemvo.setVfree4(vector.get(16) == null ? null : vector.get(16).toString());//标准
+						UFDouble updatenum =  new UFDouble(vector.get(31)==null?"0":
+							vector.get(31).toString()).add(new UFDouble(vector.get(1)==null?"0":vector.get(1).toString()));//已执行主数量+本次执行主数量
+						updatemap.put(vector.get(35).toString(), updatenum);//子表主键:已执行主数量+本次执行主数量
+						
+						UFDouble updatefznum =  new UFDouble(vector.get(32)==null?"0":
+							vector.get(32).toString()).add(new UFDouble(vector.get(2)==null?"0":vector.get(2).toString()));//已执行辅数量+本次执行辅数量
+						
+						updatfzemap.put(vector.get(35).toString(), updatefznum);
 					}
 				}
 				aggvo.setChildrenVO(listGeneralBillItemVO.toArray(new GeneralBillItemVO[listGeneralBillItemVO.size()]));		
 				iorder.insertProduct(new GeneralBillVO[]{aggvo},updatemap);
+				iorder.UpdatefzccpExecNum(updatfzemap);
 				MessageDialog.showHintDlg(mainpanel, "成功", "产成品入库新增成功!");
 				this.closeCancel();
 			}
@@ -591,15 +696,63 @@ public class TOProductOutDialog extends UIDialog implements ActionListener,BillE
 			}
 			
 			
-			
-			
-			
-			
 		} catch (Exception e1) {
 			MessageDialog.showErrorDlg(mainpanel, "错误", e1.getMessage());
 		}
 		
 	}
+	
+	
+	
+    //项目管理档案-编码和名称
+    public  Map<String,String> getprojectmap(String pk_jobmngfil ) throws Exception {
+        String sql = "select jobcode,jobname  from   bd_jobbasfil where  "
+        		+ "pk_jobbasfil = (select pk_jobbasfil from bd_jobmngfil where pk_jobmngfil ='"+pk_jobmngfil+"' and dr = 0) "
+        		+ "and dr=0";
+        Map<String,String> map = (Map<String, String>) iuap.executeQuery(sql, new MapProcessor());
+        if (map == null || map.size()==0) {
+        	throw new Exception("项目管理档案"+pk_jobmngfil+"未查到,请检查"); 
+        }
+        return map;
+    }
+	
+	//业务类型自定义档案查询
+	private String getpkdefdoc(String docname ) throws Exception {
+	  String sql="select pk_defdoc from bd_defdoc  where pk_defdoclist = "
+	  		+ "(select pk_defdoclist from bd_defdef where defname = '业务类型' and dr=0 ) and dr=0 "
+	  		+ "and docname='"+docname+"'";
+	  
+	  Object pkdefdoc =  iuap.executeQuery(sql, new ColumnProcessor());
+	  if(pkdefdoc == null ||  "".equals(pkdefdoc)) {
+  		throw new Exception("业务类型【"+docname+"】未查到,请检查");
+  	  }
+
+      return pkdefdoc.toString();
+		
+	}
+	
+	
+    private String getzyqpk(String doclistname,String docname) throws BusinessException {
+    	
+    	if(null==docname || "".equals(docname)) {
+    		return "";
+    	}
+    	
+    	//取到自定义档案列表主键
+    	String sql = "select pk_defdoclist from bd_defdoclist where doclistname = '"+doclistname+"'";
+    	Object pk_defdoclist = iuap.executeQuery(sql, new ColumnProcessor());
+    	if(pk_defdoclist == null) {
+    		throw new BusinessException("以下档案在U8cloud系统中根据公司或者账簿信息找不到,请检查!详细信息:1、档案类型:自定义档案列表,档案名称:"+doclistname);
+    	}
+        String sql1 = "select pk_defdoc  from bd_defdoc where pk_defdoclist = '"+pk_defdoclist.toString()+"' and docname ='"+docname+"'";
+        String pk_defdoc = (String) iuap.executeQuery(sql1, new ColumnProcessor());
+        
+		return pk_defdoc;
+    	
+    }
+	
+	
+	
 
 }