|
@@ -0,0 +1,103 @@
|
|
|
+package nc.bs.yp.impl;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.PrintWriter;
|
|
|
+
|
|
|
+import javax.servlet.ServletException;
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+import nc.bs.dao.BaseDAO;
|
|
|
+import nc.bs.framework.adaptor.IHttpServletAdaptor;
|
|
|
+import nc.bs.framework.common.NCLocator;
|
|
|
+import nc.bs.servlet.service.BaseServlet;
|
|
|
+import nc.md.model.MetaDataException;
|
|
|
+import nc.md.persist.framework.IMDPersistenceQueryService;
|
|
|
+import nc.vo.mmpac.pmo.pac0002.entity.PMOAggVO;
|
|
|
+import net.sf.json.JSONObject;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 生产订单修改库存状态
|
|
|
+ * @author LP
|
|
|
+ *
|
|
|
+ */
|
|
|
+@SuppressWarnings("restriction")
|
|
|
+public class PomUpdateStatusImpl extends BaseServlet implements IHttpServletAdaptor {
|
|
|
+
|
|
|
+ private static final String TURE = "0";
|
|
|
+ private static final String FALSE = "1";
|
|
|
+ private StringBuffer error = new StringBuffer();
|
|
|
+ private IMDPersistenceQueryService qryService = NCLocator.getInstance().lookup(IMDPersistenceQueryService.class);
|
|
|
+ private BaseDAO basedao = new BaseDAO();
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
|
|
|
+
|
|
|
+ String json = buildJson(req, resp, this.getClass().getName());
|
|
|
+ PrintWriter out = resp.getWriter();
|
|
|
+
|
|
|
+ JSONObject p_data = JSONObject.fromObject(json);//获取报文
|
|
|
+
|
|
|
+ if (!checkJson(p_data)) {
|
|
|
+ out.print(formatRSJsonData(FALSE, p_data.getString("vbillcode"), error.toString()));
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ String vbillcode = p_data.getString("vbillcode");//获取流程生产订单单号
|
|
|
+ PMOAggVO pmoAggVO = getPmoVO(vbillcode);
|
|
|
+ out.print(formatRSJsonData(TURE, p_data.getString("vbillcode"), "成功"));
|
|
|
+
|
|
|
+ } catch (MetaDataException e) {
|
|
|
+ out.print(formatRSJsonData(FALSE, p_data.getString("vbillcode"), e.getMessage()==null?e.toString():e.getMessage().toString()));
|
|
|
+ out.flush();
|
|
|
+ out.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 非空判断
|
|
|
+ */
|
|
|
+ private boolean checkJson(JSONObject p_data) {
|
|
|
+
|
|
|
+ boolean check = true;
|
|
|
+ StringBuffer mags = new StringBuffer();
|
|
|
+
|
|
|
+ String vbillcode = "vbillcode";//生产订单单号
|
|
|
+
|
|
|
+ String[] HeadKey = {vbillcode};
|
|
|
+
|
|
|
+ for (String as : HeadKey) {
|
|
|
+
|
|
|
+ if (p_data.getString(as).isEmpty()) {
|
|
|
+ mags.append("'" + as + "' ");
|
|
|
+ check = false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!check) {
|
|
|
+ error.append("以下字段不可为空:"+mags);
|
|
|
+ }
|
|
|
+ return check;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*
|
|
|
+ * 获取生产订单VO
|
|
|
+ */
|
|
|
+ private PMOAggVO getPmoVO(String vbillcode) throws MetaDataException {
|
|
|
+
|
|
|
+ PMOAggVO pmoAggVO = (PMOAggVO) qryService.queryBillOfVOByCond(PMOAggVO.class, vbillcode,true,false);
|
|
|
+
|
|
|
+ if (pmoAggVO == null) {
|
|
|
+ error.append("根据单据号'"+vbillcode+"'未找到生产订单,请检查!");
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ return pmoAggVO;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+}
|