Просмотр исходного кода

【奥维ERP-增加EIS,点料机接口】

xiaost 4 недель назад
Родитель
Сommit
47a3896517

+ 15 - 4
pom.xml

@@ -41,10 +41,21 @@
 			<artifactId>spring-boot-starter-jdbc</artifactId>
 		</dependency>
 
-		<dependency>  
-            <groupId>org.springframework.boot</groupId>  
-            <artifactId>spring-boot-starter-data-jpa</artifactId>  
-        </dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-jdbc</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-data-jpa</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>druid-spring-boot-starter</artifactId>
+			<version>1.2.6</version>
+		</dependency>
 	
 		<dependency>
 		    <groupId>log4j</groupId>

+ 28 - 15
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -792,22 +792,35 @@ public class MESHelperServiceImpl implements MESHelperService {
 		}
 		ReelId=map.get("ReelId").toString();
 		Quantity=map.get("Quantity").toString();
-		SqlRowList rs=baseDao.queryForRowSet("select bar_id,bar_prodcode,bar_remain,pr_spec,to_char(nvl(bar_madedate,sysdate),'yyyy-mm-dd')bar_madedate from barcode left join product on bar_prodcode = pr_code where bar_code=?",ReelId);
-		if(rs.next()){
-			baseDao.execute("update barcode@ERP_JMDZ_HF set bar_remain=?,bar_status = 2 where bar_id=?",Quantity,rs.getString("bar_id"));
-			baseDao.execute("insert into barcodechange@ERP_JMDZ_HF(BC_ID,BC_INDATE, BC_REASON, BC_QTY, BC_BARCODE,  BC_PRODCODE, BC_NEWQTY)" +
-					"values(barcodechange_seq.nextval@ERP_JMDZ_HF,sysdate,'点料机更新条码数量',?,?,?,?)",rs.getString("bar_remain"),ReelId,rs.getString("bar_prodcode"),Quantity);
-			baseDao.execute("update barcode set bar_remain=?,bar_status = 1,bar_outno = '' where bar_code=?",Quantity,ReelId);
-			baseDao.execute("insert into barcodechange(BC_ID,BC_INDATE, BC_REASON, BC_QTY, BC_BARCODE,  BC_PRODCODE, BC_NEWQTY)" +
-					"values(barcodechange_seq.nextval,sysdate,'点料机更新条码数量',?,?,?,?)",rs.getString("bar_remain"),ReelId,rs.getString("bar_prodcode"),Quantity);
-			rmap.put("Status","OK");
-			rmap.put("Meassage","通过");
-			rmap.put("PN",rs.getString("bar_prodcode"));
-			rmap.put("MPN",rs.getString("pr_spec"));
-			rmap.put("DataCode",rs.getString("bar_madedate"));
+		//先查询是哪个账套的前缀
+        SqlRowList rs0 = baseDao.queryForRowSet("select WHICHSYSTEM,COMPANYNAME from BARCODERULE_GROUP_VIEW where '"+ReelId+"' like BS_PRTYPEPREIX||'%'");
+		if(rs0.next()) {
+			//切换数据源
+			SpObserver.putSp(rs0.getGeneralString("WHICHSYSTEM"));
+			SqlRowList rs = baseDao.queryForRowSet("select bar_id,bar_prodcode,bar_remain,pr_spec,to_char(nvl(bar_madedate,sysdate),'yyyy-mm-dd')bar_madedate,bar_status from " +
+					" barcode left join product on bar_prodcode = pr_code where bar_code=?", ReelId);
+			if (rs.next()) {
+				if (2 != rs.getGeneralInt("bar_status")) {
+					rmap.put("Status", "NG");
+					rmap.put("Meassage", "条码:" + ReelId + "非出库条码,无法更新数量!");
+					return rmap;
+				}
+				baseDao.execute("update barcode set bar_remain=?,bar_status = 1,bar_outno = '' where bar_code=?", Quantity, ReelId);
+				baseDao.execute("insert into barcodechange(BC_ID,BC_INDATE, BC_REASON, BC_QTY, BC_BARCODE,  BC_PRODCODE, BC_NEWQTY)" +
+						"values(barcodechange_seq.nextval,sysdate,'点料机更新条码数量',?,?,?,?)", rs.getString("bar_remain"), ReelId, rs.getString("bar_prodcode"), Quantity);
+				rmap.put("Status", "OK");
+				rmap.put("Meassage", "通过");
+				rmap.put("PN", rs.getString("bar_prodcode"));
+				rmap.put("MPN", rs.getString("pr_spec"));
+				rmap.put("DataCode", rs.getString("bar_madedate"));
+			} else {
+				rmap.put("Status", "NG");
+				rmap.put("Meassage", "条码不存在");
+				return rmap;
+			}
 		}else {
-			rmap.put("Status","NG");
-			rmap.put("Meassage","条码不存在");
+			rmap.put("Status", "NG");
+			rmap.put("Meassage", "条码前缀不在账套范围内!");
 			return rmap;
 		}
 		return rmap;

+ 15 - 2
src/main/resources/application.yml

@@ -1,10 +1,23 @@
 spring:
     datasource:
-        type: org.apache.tomcat.jdbc.pool.DataSource
+        type: com.alibaba.druid.pool.DruidDataSource
         driverClassName: oracle.jdbc.OracleDriver
-        username: N_MES_ZS
+        username: N_DATACENTER
         password: select!#%*(
         url: jdbc:oracle:thin:@127.0.0.1:1521:orcl
+        initialSize: 1
+        maxActive: 3
+        maxWait: 30000
+        testOnBorrow: false
+        testOnReturn: false
+        testWhileIdle: true
+        validationQuery: SELECT 1 FROM DUAL
+        timeBetweenEvictionRunsMillis: 60000
+        removeAbandoned: true
+        removeAbandonedTimeout: 1800
+        minEvictableIdleTimeMillis: 300000
+        poolPreparedStatements: true
+        maxPoolPreparedStatementPerConnectionSize: 3
     http:
         encoding:
             force: true