소스 검색

生产总订单加单据类型

zthwr 1 년 전
부모
커밋
ad0b3f40d1
1개의 변경된 파일101개의 추가작업 그리고 5개의 파일을 삭제
  1. 101 5
      mmpac/mmpac/src/private/u8c/impl/mmpac/mmpac/OrderAddImpl.java

+ 101 - 5
mmpac/mmpac/src/private/u8c/impl/mmpac/mmpac/OrderAddImpl.java

@@ -50,6 +50,9 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 	@Override
 	public void doAction(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
 		try {
+			
+			
+			
 			trans = NCLocator.getInstance().lookup(UserTransaction.class);
 			trans.begin();//开启事务
 			String createStr = buildJson(req, resp, this.getClass().getName());
@@ -60,7 +63,21 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 			JSONArray result = new JSONArray();
 			//报错返回json
 			JSONArray errMessage = new JSONArray();
+
+			String token =req.getParameter("token");
+			if(!(token!=null && !token.equals("")&&("07a81a68-c60c-4ee4-83dc-25aa51a51497").equals(token))){
+				errMessage.add(formatRSJsonData("失败",
+						"请确认通讯密码是否正确!",""));
+				returnobj.put("info", "失败");
+				returnobj.put("errMessage", "请确认通讯密码是否正确!");
+				returnobj.put("result", errMessage);
+				resp.getWriter().write(returnobj.toString());
+				NcLog.info(returnobj.toString());
+				return;
+			}
+			
 			String checkresult = checkJson(json);
+			
 			if(checkresult != null){
 				errMessage.add(formatRSJsonData("失败",
 						checkresult,""));
@@ -73,7 +90,8 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 			}
 			JSONArray bodyArray = json.getJSONArray("result");
 			
-			
+		    String meg="";
+		    StringBuffer sbf=new StringBuffer();
 			for (Object Object : bodyArray) {
 
 				JSONObject bodyObject = JSONObject.parseObject(Object.toString());
@@ -90,6 +108,7 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 //				returnobj.put("result", errMessage);
 //				resp.getWriter().write(returnobj.toString());
 //				NcLog.info(returnobj.toString());
+					meg=vbillno;	
 					continue;
 				}
 				String dbilldate = bodyObject.getString("dbilldate");
@@ -104,12 +123,18 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 //				returnobj.put("result", errMessage);
 //				resp.getWriter().write(returnobj.toString());
 //				NcLog.info(returnobj.toString());
+					meg=vbillno;	
 					continue;
 				}
+				
+				if(!"".equals(meg)) {
+					throw new Exception("制单人或者单据号重复!");
+				}
+				
 				String workmanid = GetBaseDAOUtil.getPsndocid(bodyObject.getString("workmanid"));
 				String plandeptid = GetBaseDAOUtil.getDeptdocid(bodyObject.getString("plandeptid"));
 				String vnote = bodyObject.getString("vnote");
-				String busitype = GetBaseDAOUtil.getBusitypeid(bodyObject.getString("busitype"),pk_corp);
+		//		String busitype = GetBaseDAOUtil.getBusitypeid(bodyObject.getString("busitype"),pk_corp);
 				OrderMainVO headvo = new OrderMainVO();
 				//表头赋值
 				headvo.setPk_corp(pk_corp);
@@ -119,7 +144,7 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 				headvo.setWorkmanid(workmanid);
 				headvo.setPlandeptid(plandeptid);
 				headvo.setVnote(vnote);
-				headvo.setBusitype(busitype);
+				headvo.setBusitype(bodyObject.getString("busitype"));
 				headvo.setBillstatus(IBillStatus.FREE);
 				String pk_order = dao.insertVO(headvo);
 				//入库赋值
@@ -134,13 +159,35 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 						String prjtypename = GetBaseDAOUtil.getprjtypename(prjcode);
 						String vbatchcode = injsobj.getString("vbatchcode");
 						String cmaterialcode = injsobj.getString("cmaterialcode");
-						
 						String invname = GetBaseDAOUtil.getinvname(cmaterialcode);
+						//物料不存在
+						if("".equals(invname)) {
+//							result.add(formatRSJsonData("失败",
+//									"物料"+cmaterialcode+"未查到,请检查",""));
+							
+							sbf.append("【"+cmaterialcode+"】");	
+							continue;	
+						}
+						
+
 						String invspec = GetBaseDAOUtil.getinvspec(cmaterialcode);
 						String invtype = GetBaseDAOUtil.getinvtype(cmaterialcode);
 						String width = GetBaseDAOUtil.getwidth(cmaterialcode);
 						String height = GetBaseDAOUtil.getheight(cmaterialcode);
 						String measname = GetBaseDAOUtil.getmeasname(cmaterialcode);
+						String bdef11 = injsobj.getString("bdef11");//楼号楼层
+						String bdef12 = injsobj.getString("bdef12");//樘数(数量) 
+						String bdef13 = injsobj.getString("bdef13");//框统计
+						String bdef14 = injsobj.getString("bdef14");//扇统计
+						String bdef15 = injsobj.getString("bdef15");//半成品分类
+						String bdef16 = injsobj.getString("bdef16");//面积
+						String bdef17 = injsobj.getString("bdef17");//切割长度
+						String bdef18 = injsobj.getString("bdef18");//切割角度左下
+						String bdef19 = injsobj.getString("bdef19");//切割角度右上
+						String bdef2 = injsobj.getString("bdef2");//备注
+						String bdef20 = injsobj.getString("bdef20");//系列
+						String bdef3 = injsobj.getString("bdef3");//玻璃编号
+						
 						OrderInVO invo = new OrderInVO();
 						invo.setPrjcode(prjcode);;
 						invo.setPrjname(prjname);
@@ -155,6 +202,21 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 						invo.setHeight(height);
 						invo.setUnitid(measname);
 						invo.setPk_order(pk_order);
+						
+						invo.setBdef11(bdef11);
+						invo.setBdef12(bdef12);
+						invo.setBdef13(bdef13);
+						invo.setBdef14(bdef14);
+						invo.setBdef15(bdef15);
+						invo.setBdef16(bdef16);
+						invo.setBdef17(bdef17);
+						invo.setBdef18(bdef18);
+						invo.setBdef19(bdef19);
+						invo.setBdef2(bdef2);
+						invo.setBdef20(bdef20);
+						invo.setBdef3(bdef3);
+						
+						
 						invo.setDr(0);
 						if(injsobj.getString("num")!=null) {
 							invo.setNum(new UFDouble(injsobj.getString("num")));
@@ -181,6 +243,20 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 						String width = GetBaseDAOUtil.getwidth(cmaterialcode);
 						String height = GetBaseDAOUtil.getheight(cmaterialcode);
 						String measname = GetBaseDAOUtil.getmeasname(cmaterialcode);
+						String bdef11 = issuejsobj.getString("bdef11");//楼号楼层
+						String bdef12 = issuejsobj.getString("bdef12");//樘数(数量) 
+						String bdef13 = issuejsobj.getString("bdef13");//框统计
+						String bdef14 = issuejsobj.getString("bdef14");//扇统计
+						String bdef15 = issuejsobj.getString("bdef15");//半成品分类
+						String bdef16 = issuejsobj.getString("bdef16");//面积
+						String bdef17 = issuejsobj.getString("bdef17");//切割长度
+						String bdef18 = issuejsobj.getString("bdef18");//切割角度左下
+						String bdef19 = issuejsobj.getString("bdef19");//切割角度右上
+						String bdef2 = issuejsobj.getString("bdef2");//备注
+						String bdef20 = issuejsobj.getString("bdef20");//系列
+						String bdef3 = issuejsobj.getString("bdef3");//玻璃编号
+						
+						
 						OrderIssueVO issuevo = new OrderIssueVO();
 						issuevo.setPrjcode(prjcode);;
 						issuevo.setPrjname(prjname);
@@ -195,6 +271,18 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 						issuevo.setHeight(height);
 						issuevo.setUnitid(measname);
 						issuevo.setPk_order(pk_order);
+						issuevo.setBdef11(bdef11);
+						issuevo.setBdef12(bdef12);
+						issuevo.setBdef13(bdef13);
+						issuevo.setBdef14(bdef14);
+						issuevo.setBdef15(bdef15);
+						issuevo.setBdef16(bdef16);
+						issuevo.setBdef17(bdef17);
+						issuevo.setBdef18(bdef18);
+						issuevo.setBdef19(bdef19);
+						issuevo.setBdef2(bdef2);
+						issuevo.setBdef20(bdef20);
+						issuevo.setBdef3(bdef3);
 						issuevo.setDr(0);
 						if(issuejsobj.getString("num")!=null) {
 							issuevo.setNum(new UFDouble(issuejsobj.getString("num")));
@@ -202,10 +290,18 @@ public class OrderAddImpl extends BaseServlet implements IHttpServletAdaptor{
 						dao.insertVO(issuevo);
 					}
 				}
+				
+			if("".equals(meg)) {
 				result.add(formatRSJsonData("成功",
-					     "",vbillno));
+					     "",vbillno));	
+			}
 			
 			}
+			
+			if (sbf.length() != 0) {
+				throw new Exception("存货编码不存在:"+sbf.toString());
+			}
+			
 			trans.commit();//提交事务
 			returnobj.put("info", "成功");
 			returnobj.put("errMessage", "");