Browse Source

新增站位回退接口

callm 11 months ago
parent
commit
bc5060e9ec

+ 1 - 0
src/main/java/com/uas/eis/entity/HelperType.java

@@ -23,6 +23,7 @@ public enum HelperType {
     GetMakeInfoBySN("GetMakeInfoBySN","根据SN获取工单相关信息"),
     GetSnRelation("GetSnRelation","根据SN获取关联信息"),
     GetOutBoxCode("GetOutBoxCode","获取箱号"),
+    ReSetSN("ReSetSN","重置SN"),
     SnList("SnList","导入工单SN清单");
 
     private String code;

+ 45 - 0
src/main/java/com/uas/eis/serviceImpl/MESHelperServiceImpl.java

@@ -113,6 +113,9 @@ public class MESHelperServiceImpl implements MESHelperService {
 			case GetOutBoxCode:
 				remap = GetOutBoxCode(json);
 				break;
+			case ReSetSN:
+				remap = ReSetSN(json);
+				break;
 			default:
 				err = -1;
 				break;
@@ -123,6 +126,48 @@ public class MESHelperServiceImpl implements MESHelperService {
 		SpObserver.putSp(username);
 		return remap;
 	}
+
+	private Map<Object, Object> ReSetSN(JSONObject map){
+		String oErrMessage=null;
+		Map<Object, Object> relist = new HashMap<Object, Object>();
+		if(map.get("iSN")==null){
+			oErrMessage = "SN不能为空";
+			relist.put("oErrMessage",oErrMessage);
+			return relist;
+		}
+		String iSN=map.get("iSN").toString();
+		Object obj=baseDao.getFieldDataByCondition("makeserial","ms_sncode","ms_sncode='"+iSN+"'");
+		if(obj==null){
+			relist.put("oStatus","Pass");
+			return relist;
+		}
+		SqlRowList rs = baseDao.queryForRowSet("select ms_status,ms_stepcode,ms_outboxcode,ms_craftcode,nvl(ms_iostatus,0)ms_iostatus,ms_firstsn,ms_id,ms_makecode,ms_prodcode from makeserial where ms_id=(  select max(ms_id) from makeserial where ms_sncode  in ( select '" + iSN + "' from dual union select sn from makesnrelation where beforesn='" + iSN + "' and sn<>' '  union select beforesn from makesnrelation where sn='" + iSN + "' and beforesn<>' '))");
+		if(rs.next()){
+			String ms_id=rs.getString("ms_id");
+			String ms_outboxcode=rs.getString("ms_outboxcode");
+			String ms_makecode=rs.getString("ms_makecode");
+			String ms_firstsn=rs.getString("ms_firstsn");
+			String ms_prodcode=rs.getString("ms_prodcode");
+			String ms_craftcode=rs.getString("ms_craftcode");
+			String ms_iostatus=rs.getString("ms_iostatus");
+			if(ms_iostatus.equals("-1")){
+				oErrMessage = "SN已经入库,不允许操作";
+				relist.put("oErrMessage",oErrMessage);
+				relist.put("oStatus","Fail");
+				return relist;
+			}
+			Object stepcode=baseDao.getFieldDataByCondition("craftdetail left join craft on cr_id=cd_crid","cd_stepcode","CD_STEPNO=(select min (CD_STEPNO) from craft left join craftdetail on cr_id=cd_crid where cr_prodcode='"+ms_prodcode+"' and cr_code='"+ms_craftcode+"') and cr_code='"+ms_craftcode+"' and cr_prodcode='"+ms_prodcode+"'");
+			baseDao.execute("update craftmaterial set cm_status=-1 where cm_sncode='"+ms_firstsn+"' and cm_makecode='"+ms_makecode+"'");
+			baseDao.execute("update makeserial set ms_outboxcode='',ms_nextstepcode='"+stepcode+"' where ms_id='"+ms_id+"'");
+			baseDao.execute("delete from packagedetail where pd_makecode='"+ms_makecode+"' and pd_barcode='"+iSN+"'");
+			baseDao.execute("update package set PA_PACKAGEQTY=PA_PACKAGEQTY-1, PA_TOTALQTY=PA_TOTALQTY-1, PA_CURRENTQTY=PA_CURRENTQTY-1 where pa_outboxcode='"+ms_outboxcode+"'");
+			relist.put("oStatus","Pass");
+			return relist;
+		}
+		return relist;
+	}
+
+
 	private Map<Object, Object> GetOutBoxCode(JSONObject map){
 		Map<Object, Object> relist = new HashMap<Object, Object>();
 		String Caller=null;