Parcourir la source

增加修改发票状态接口

yaoyu il y a 1 an
Parent
commit
0aa3126ad1

+ 31 - 0
pu/pu/src/private/nc/impl/th/ThOcrServiceImpl.java

@@ -31,6 +31,8 @@ import nc.jdbc.framework.processor.BeanListProcessor;
 import nc.log.NcLog;
 import nc.ui.pub.beans.MessageDialog;
 import nc.vo.bd.defdoc.DefdocVO;
+import nc.vo.pu.m25.entity.InvoiceItemVO;
+import nc.vo.pu.m25.entity.InvoiceVO;
 import nc.vo.pub.BusinessException;
 import nc.bs.framework.common.NCLocator;
 import nc.bs.pub.filesystem.IFileSystemService;
@@ -655,5 +657,34 @@ public class ThOcrServiceImpl implements IThOcrService{
 		        }
 		        return fileNames;
 		    }
+
+
+		@Override
+		public void UpdateInvoiceStatus(String status, InvoiceVO[] vos) {
+			for (InvoiceVO invoiceVO : vos) {
+				//审批结果Y代表通过 N代表不通过 R代表驳回
+				InvoiceItemVO[] arrInvoiceItemVO = (InvoiceItemVO[]) invoiceVO.getChildren(InvoiceItemVO.class);
+				List<String> listVbdef20 = new ArrayList<String>();
+				for (InvoiceItemVO invoiceItemVO : arrInvoiceItemVO) {
+					String[] arrVbdef20 = invoiceItemVO.getVbdef20().split(",");
+					for(String Vbdef20 : arrVbdef20) {
+						listVbdef20.add(Vbdef20);
+					}
+				}
+				String[] fids = (String[]) listVbdef20.toArray();
+				JSONObject bodyJson = new JSONObject();
+				//发票云团队id
+				bodyJson.put("cid", "766941083040768000");
+				//userId报销人id(OA)
+				bodyJson.put("userId", "1");
+				//userId报销人id(OA)
+				bodyJson.put("flag", "3");
+				//发票云发票ID数组
+				bodyJson.put("fids", fids);
+				String str = null;
+				str.toString();
+			}
+			
+		}
 	
 }

+ 38 - 0
pu/pu/src/public/nc/bs/pub/action/N_25_APPROVE.java

@@ -0,0 +1,38 @@
+package nc.bs.pub.action;
+
+import nc.bs.framework.common.NCLocator;
+import nc.bs.pub.compiler.AbstractCompiler2;
+import nc.itf.pu.m25.IInvoiceApprove;
+import nc.itf.th.IThOcrService;
+import nc.vo.pu.m25.entity.InvoiceVO;
+import nc.vo.pu.m25.env.InvoiceUIToBSEnv;
+import nc.vo.pu.m25.pub.InvoiceEnvExtractUtil;
+import nc.vo.pub.BusinessException;
+import nc.vo.pub.compiler.PfParameterVO;
+import nc.vo.uap.pf.PFBusinessException;
+
+public class N_25_APPROVE extends AbstractCompiler2 {
+	public String getCodeRemark() {
+		return "\t\n      nc.vo.pu.m25.entity.InvoiceVO inObject  =(nc.vo.pu.m25.entity.InvoiceVO) getVo();\n      \n      setParameter(\"INVO\", inObject);\n\treturn null;\n";
+	}
+
+	public Object runComClass(PfParameterVO vo) throws BusinessException {
+		try {
+			super.m_tmpVo = vo;
+			Object retValue = null;
+			InvoiceVO[] vos = (InvoiceVO[]) ((InvoiceVO[]) this.getVos());
+			InvoiceUIToBSEnv[] envs = InvoiceEnvExtractUtil.getEnvs(vo);
+			retValue = ((IInvoiceApprove) NCLocator.getInstance().lookup(IInvoiceApprove.class)).approve(vos, this,
+					envs);
+			String status = vo.m_workFlow.getApproveresult();
+			NCLocator.getInstance().lookup(IThOcrService.class).UpdateInvoiceStatus(status, vos);
+			return retValue;
+		} catch (Exception var5) {
+			if (var5 instanceof BusinessException) {
+				throw (BusinessException) var5;
+			} else {
+				throw new PFBusinessException(var5.getMessage(), var5);
+			}
+		}
+	}
+}

+ 8 - 0
pu/pu/src/public/nc/itf/th/IThOcrService.java

@@ -10,6 +10,7 @@ import java.util.List;
 import org.apache.commons.httpclient.HttpException;
 
 import nc.vo.bd.defdoc.DefdocVO;
+import nc.vo.pu.m25.entity.InvoiceVO;
 import nc.vo.pub.BusinessException;
 import nc.vo.th.ocr.OCRInvoiceVO;
 import net.sf.json.JSONString;
@@ -77,4 +78,11 @@ public interface IThOcrService {
 	
 	public  List<String>  getInvoiceInfo(String vdef17);
 	
+	/**
+	 * 修改发票云发票状态
+	 * @param status  发票状态
+	 * @param vos  发票aggvo
+	 */
+	public void UpdateInvoiceStatus(String status,InvoiceVO[] vos);
+	
 }