Prechádzať zdrojové kódy

材料出库删除接口

pancy 1 rok pred
rodič
commit
cdb2d7bab6

+ 6 - 0
ic/META-INF/ffopenapi.upm

@@ -18,4 +18,10 @@
        <implementation>nc.bs.ic.impl.BatchCodeAddImpl</implementation>
  	   </component>
     </public>
+    <!--²ÄÁϳö¿âɾ³ý-->
+     <public>
+ 	   <component name="deleteicmaterialout" accessProtected="false"  remote="true" singleton="true" tx="NONE" supportAlias="true">
+       <implementation>nc.bs.servlet.service.DeleteIcMaterialOutServlet</implementation>
+ 	   </component>
+    </public>
 </module>

+ 65 - 0
ic/ic/src/private/nc/bs/ic/impl/DeleteIcMaterialOutImpl.java

@@ -0,0 +1,65 @@
+package nc.bs.ic.impl;
+
+import java.util.List;
+
+import nc.bs.framework.common.NCLocator;
+import nc.itf.ic.m4d.IMaterialOutMaintain;
+import nc.itf.uap.IUAPQueryBS;
+import nc.itf.uap.pf.IPFBusiAction;
+import nc.jdbc.framework.SQLParameter;
+import nc.jdbc.framework.processor.BeanListProcessor;
+import nc.vo.ic.m4d.entity.MaterialOutBodyVO;
+import nc.vo.ic.m4d.entity.MaterialOutHeadVO;
+import nc.vo.ic.m4d.entity.MaterialOutVO;
+import nc.vo.pub.workflownote.WorkflownoteVO;
+import net.sf.json.JSONObject;
+
+
+public class DeleteIcMaterialOutImpl implements IDeleteIcMaterialOut{
+	
+	private IUAPQueryBS iuap=(IUAPQueryBS) NCLocator.getInstance().lookup(IUAPQueryBS.class.getName());
+
+	@Override
+	public void DeleteIcMaterialOut_RequiresNew(JSONObject json) throws Exception {
+		String vbillcode = "";
+		vbillcode = json.getString("vbillcode");
+	
+		MaterialOutVO mo = new MaterialOutVO();
+		MaterialOutHeadVO s1 = new MaterialOutHeadVO();
+		
+		//获取主表数据
+		String mhSql  = "select*From ic_material_h where vbillcode=? and nvl(dr,0)=0";
+		SQLParameter mhParam = new SQLParameter(); // 构造参数对象
+		mhParam.addParam(vbillcode);
+		List<MaterialOutHeadVO> mhlist=(List<MaterialOutHeadVO>) iuap.executeQuery(mhSql, mhParam, new BeanListProcessor(MaterialOutHeadVO.class));
+		// 此处定义主表
+		mo=new MaterialOutVO();
+		s1=new MaterialOutHeadVO();
+		if(mhlist.size()==0){
+			  throw new Exception("单据号:" + vbillcode + "不存在!");
+		}else{
+			s1=mhlist.get(0);
+			//获取子表数据
+			String mbSql  = "select*From ic_material_b where cgeneralhid=? and nvl(dr,0)=0";
+			SQLParameter mbParam = new SQLParameter(); // 构造参数对象
+			mbParam.addParam(s1.getCgeneralhid());
+			List<MaterialOutBodyVO> mbList=(List<MaterialOutBodyVO>) iuap.executeQuery(mbSql, mbParam, new BeanListProcessor(MaterialOutBodyVO.class));
+			
+			MaterialOutBodyVO[] mbArray = new MaterialOutBodyVO[mbList.size()];
+			for (int u = 0; u < mbArray.length; u++) {
+				mbArray[u] = mbList.get(u);
+			}
+		    mo.setParent(s1);
+		    mo.setChildrenVO(mbArray);  
+		}
+		//如果单据已签字,先取消签字
+		IMaterialOutMaintain iMaterialOutMaintain = (IMaterialOutMaintain) NCLocator.getInstance().lookup(IMaterialOutMaintain.class);
+		MaterialOutVO [] materialOutVOs = new MaterialOutVO [1];
+		materialOutVOs[0] = mo;
+			if(s1.getFbillflag()==3){
+				iMaterialOutMaintain.cancelSign(materialOutVOs);
+			}
+			iMaterialOutMaintain.delete(materialOutVOs);	
+	}
+
+}

+ 54 - 0
ic/ic/src/private/nc/bs/servlet/service/DeleteIcMaterialOutServlet.java

@@ -0,0 +1,54 @@
+package nc.bs.servlet.service;
+
+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.framework.adaptor.IHttpServletAdaptor;
+import nc.bs.framework.common.NCLocator;
+import nc.bs.framework.server.ISecurityTokenCallback;
+import nc.bs.ic.impl.DeleteIcMaterialOutImpl;
+import nc.bs.ic.impl.IDeleteIcMaterialOut;
+import nc.itf.uap.pf.IPFBusiAction;
+import nc.log.NcLog;
+import nc.pub.util.DataSourceUtil;
+import nc.vo.ic.m4d.entity.MaterialOutHeadVO;
+import nc.vo.pub.workflownote.WorkflownoteVO;
+import net.sf.json.JSONObject;
+
+public class DeleteIcMaterialOutServlet extends BaseServlet implements IHttpServletAdaptor{
+
+	@Override
+	public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+		try {
+			//设置数据源
+			DataSourceUtil.setDataSource();
+			
+			String createStr = buildJson(req, resp, this.getClass().getName());
+			JSONObject json = JSONObject.fromObject(createStr);
+			NcLog.info("请求json:" + json);
+			ISecurityTokenCallback sc = (ISecurityTokenCallback) NCLocator.getInstance().lookup(ISecurityTokenCallback.class);
+			sc.token("NCSystem".getBytes(), "pfxx".getBytes());
+		
+			IDeleteIcMaterialOut iDeleteIcMaterialOut = new DeleteIcMaterialOutImpl();
+			iDeleteIcMaterialOut.DeleteIcMaterialOut_RequiresNew(json);
+			resp.getWriter().write(formatRSJsonData("0",STATUS_SUCCESS,"材料出库单删除成功!").toString());			
+			
+		} catch (Exception e) {
+			//前端控制台打印xml数据
+			resp.getWriter().write(formatRSJsonData("1",STATUS_FAILURE,e.getMessage()).toString());
+			StringWriter stringWriter = new StringWriter();
+			//e.printStackTrace(new PrintWriter(stringWriter));
+			e.printStackTrace();
+			//获取详细信息
+			String msg=stringWriter.getBuffer().toString();
+			NcLog.info("接口返回值提示:"+msg);
+		}
+   }
+	
+
+}

+ 9 - 0
ic/ic/src/public/nc/bs/ic/impl/IDeleteIcMaterialOut.java

@@ -0,0 +1,9 @@
+package nc.bs.ic.impl;
+
+import net.sf.json.JSONObject;
+
+public interface IDeleteIcMaterialOut {
+
+	void DeleteIcMaterialOut_RequiresNew(JSONObject json) throws Exception;
+
+}