Browse Source

EIS接口新提交

callm 2 years ago
parent
commit
08c42a2770
1 changed files with 36 additions and 22 deletions
  1. 36 22
      src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

+ 36 - 22
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -83,7 +83,7 @@ public class MESHelperServiceImpl implements MESHelperService {
 				try {
 					String sql=SqlUtil.getInsertSqlByMap(map,"BARACCEPTNOTIFY");
 					baseDao.execute(SqlUtil.getInsertSqlByMap(map,"BARACCEPTNOTIFY"));
-					remap.put("result","["+map.get("ban_barcode")+"]OK");
+					remap.put("result","["+map.get("ban_barcode").toString()+"]OK");
 					remap.put("remark",remark);
 				}catch (Exception e){
 					remap.put("result","NG");
@@ -98,29 +98,43 @@ public class MESHelperServiceImpl implements MESHelperService {
 
 	private List<Map<Object, Object>> GetBaraccept(String data)
 	{
-		List<Map<Object, Object>> maps = BaseUtil.parseGridStoreToMaps(data);
+		Map<Object, Object> map = BaseUtil.parseFormStoreToMap(data);
+		Map<Object, Object> remap = new HashMap<>();
 		List<Map<Object, Object>> relist = new ArrayList<>();
-		for (Map<Object, Object> map : maps) {
-			Map<Object, Object> remap = new HashMap<>();
-			String remark = "";
-			SqlRowList rs=baseDao.queryForRowSet("select ban_id from baracceptnotify where ban_barcode='"+map.get("ban_barcode")+"'");
-			remap.put("ban_id",baseDao.getSeqId("baracceptnotify_seq"));
-			if(rs.hasNext()){
-				remark = "重复";
-				remap.put("remark",remark);
-				relist.add(remap);
-				return relist;
-			}
-			try {
-				baseDao.execute(SqlUtil.getInsertSqlByMap(map,"BARACCEPTNOTIFY"));
-				remap.put("result","OK");
-				remap.put("remark",remark);
-			}catch (Exception e){
-				remap.put("result","NG");
-				remap.put("remark",e.getMessage());
-				e.printStackTrace();
-			}
+		String code=baseDao.sGetMaxNumber("AcceptNotify",0);
+		String sendcode=map.get("sendcode").toString();
+		SqlRowList rs=baseDao.queryForRowSet("select an_code from AcceptNotify where an_sendcode='"+sendcode+"'");
+		if(rs.next()){
+			remap.put("result","NG");
+			remap.put("remark","["+sendcode+"]已经生成单据["+rs.getString("an_code")+"]");
+			relist.add(remap);
+			return relist;
+		}
+		rs=baseDao.queryForRowSet("select ban_id from baracceptnotify where ban_sendcode='"+sendcode+"'");
+		if(rs.next()){
+			int an_id=baseDao.getSeqId("AcceptNotify_seq");
+			baseDao.execute("insert into AcceptNotify(AN_ID, AN_CODE, AN_DATE, AN_VENDCODE,AN_VENDNAME, AN_BUYERID, AN_CURRENCY, AN_RATE, AN_RECORDER, AN_INDATE, AN_STATUSCODE, AN_STATUS, AN_SOURCE," +
+					"AN_PAYMENTCODE, AN_PAYMENT, AN_BUYER, AN_SENDCODE, AN_SENDSTATUS, AN_RECEIVECODE, AN_RECEIVENAME)" +
+					"select '"+an_id+"',A.* from (select '"+code+"' an_code,sysdate AN_DATE,max(pu_vendcode),max(pu_vendname) ,max(ve_id),max(purchase.PU_CURRENCY),max(purchase.PU_RATE),max(ve_shortname)||'@vendor'," +
+					"sysdate AN_indate,'ENTERING','在录入','VENDOR',max(PU_PAYMENTSCODE),max(PU_PAYMENTS),max(pu_buyername),'"+map.get("sendcode")+"' an_sendcode,'待上传',max(ve_code),max(ve_name) from BARACCEPTNOTIFY " +
+					"left join purchase on ban_pucode=pu_code left join product on pr_code=ban_prodcode left join vendor on ve_code=pu_vendcode where ban_sendcode='"+sendcode+"' group by ban_pucode)A");
+
+			baseDao.execute("insert into ACCEPTNOTIFYDETAIL(AND_ID, AND_ANID, AND_DETNO, AND_ORDERID, AND_ORDERCODE, AND_ORDERDETNO, AND_PRODCODE, AND_INQTY)" +
+					"select ACCEPTNOTIFYDETAIL_seq.nextval,"+an_id+",rownum,A.* from (select max(pd_id),ban_pucode,ban_pudetno,ban_prodcode,sum(ban_qty) from BARACCEPTNOTIFY " +
+					"left join purchase on ban_pucode=pu_code left join purchasedetail on pu_id=pd_puid and ban_pudetno=pd_detno left join product on pr_code=ban_prodcode where ban_sendcode='"+sendcode+"' group by ban_prodcode,ban_pudetno,ban_pucode)A");
+
+			baseDao.execute("update BARACCEPTNOTIFY set (ban_anid,BAN_ANCODE, BAN_ANDID, BAN_ANDDETNO)=(select max(an_id),max(an_code),max(and_id),max(and_detno) from ACCEPTNOTIFYDETAIL " +
+					"left join ACCEPTNOTIFY on and_anid=an_id where an_sendcode=ban_sendcode " +
+					"and and_prodcode=ban_prodcode and ban_pudetno=and_orderdetno group by ban_pudetno) where ban_sendcode='"+sendcode+"'");
+
+			remap.put("result","生成单据成功");
+			remap.put("code",code);
+			relist.add(remap);
+		}else{
+			remap.put("result","NG");
+			remap.put("remark","单据["+sendcode+"]未上传条码");
 			relist.add(remap);
+			return relist;
 		}
 		return relist;
 	}