判断工艺路线

String subSite = TclineUtils.getSubSite(className);

Boolean testFlag = TclineUtils.isContainTest(tcline.getTf_desc());

package com.system.dqfn.util;

import java.util.ArrayList;
import java.util.List;

import com.system.dqfn.model.DQFNTcline;

public class TclineUtils {
    
    

	//工艺路线控制
	/**
	 * 工艺路线与表格对应的关系
	 * -----------------------
	 * 固晶				--1
	 * 焊线				--2
	 * 模封				--3
	 * 模封(加热揭膜)	--3
	 * 电镀				--4
	 * 切割				--5
	 * 测试				--6
	 * 测试编带			--7
	 * 打标编带			--7
	 * -----------------------
	 */
	
	public static List<TextClass> getTextClass(String desc){
    
    
		List<TextClass> list = new ArrayList<TextClass>();
		String[] tcs = desc.split("->");
		for(String t:tcs){
    
    
			if("固晶".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("固晶");
				tc.setName("DQFNWP1_1");
				list.add(tc);
			}else if("一次印刷、贴芯片、氮气回流焊(140℃)".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("一次印刷、贴芯片、氮气回流焊(140℃)");
				tc.setName("DQFNWP1_1");
				list.add(tc);
			}else if("固晶1".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("固晶①");
				tc.setName("DQFNWP1_1");
				list.add(tc);
			}else if("固晶2".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("固晶②");
				tc.setName("DQFNWP1_2");
				list.add(tc);
			}else if("固晶3".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("固晶③");
				tc.setName("DQFNWP1_3");
				list.add(tc);
			}else if("焊线".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("焊线");
				tc.setName("DQFNWP2_1");
				list.add(tc);
			}else if("二次印刷、贴装跳片、氮气回流焊(260℃)".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("二次印刷、贴装跳片、氮气回流焊(260℃)");
				tc.setName("DQFNWP2_1");
				list.add(tc);
			}else if("焊线1".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("焊线①");
				tc.setName("DQFNWP2_1");
				list.add(tc);
			}else if("焊线1(175℃)".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("焊线①(175℃)");
				tc.setName("DQFNWP2_1");
				list.add(tc);
			}else if("焊线2".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("焊线②");
				tc.setName("DQFNWP2_2");
				list.add(tc);
			}else if("焊线2(175℃)".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("焊线②(175℃)");
				tc.setName("DQFNWP2_2");
				list.add(tc);
			}else if("模封".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("模封");
				tc.setName("DQFNWP3");
				list.add(tc);
			}else if("模封(加热揭膜)".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("模封(加热揭膜)");
				tc.setName("DQFNWP3");
				list.add(tc);
			}else if("电镀".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("电镀");
				tc.setName("DQFNWP4");
				list.add(tc);
			}else if("切割".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("切割");
				tc.setName("DQFNWP5");
				list.add(tc);
			}else if("切筋成型".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("切筋成型");
				tc.setName("DQFNWP5");
				list.add(tc);
				//切筋成型
			}else if("测试".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("测试");
				tc.setName("DQFNWP6");
				list.add(tc);
			}else if("编带".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("编带");
				tc.setName("DQFNWP7");
				list.add(tc);
			}else if("打标编带".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("打标编带");
				tc.setName("DQFNWP7");
				list.add(tc);
			}else if("测试编带".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("测试编带");
				tc.setName("DQFNWP7");
				list.add(tc);
			}else if("测试打标编带".equals(t)){
    
    
				TextClass tc = new TextClass();
				tc.setText("测试打标编带");
				tc.setName("DQFNWP7");
				list.add(tc);
			}
		}
		return list;
		
	}
	
	//得到首工序表名称
	public static String getFirstWP(DQFNTcline tcline){
    
    
		String result = "";
		result = getFirstTableName(tcline.getTf_desc());
		return result;
	}
	
	public static String getFirstTableName(String str){
    
    
		String tableName = "ERROR";
		String st = "";
		String[] strs = str.split("->");
		for(int i = 0; i < strs.length; i++){
    
    
			st = strs[i].trim();
			if(st.equals("固晶1") || st.equals("固晶") || st.equals("一次印刷、贴芯片、氮气回流焊(140℃)")){
    
    
				tableName = "DQFNWP1_1";
				break;
			}else if(st.equals("固晶2")){
    
    
				tableName = "DQFNWP1_2";
				break;
			}else if(st.equals("固晶3")){
    
    
				tableName = "DQFNWP1_3";
				break;
			}else if(st.equals("焊线1(175℃)") || st.equals("焊线1") || st.equals("焊线") || st.equals("二次印刷、贴装跳片、氮气回流焊(260℃)")){
    
    
				tableName = "DQFNWP2_1";
				break;
			}else if(st.equals("焊线2(175℃)") || st.equals("焊线2")){
    
    
				tableName = "DQFNWP2_2";
				break;
			}else if(st.equals("模封") || st.equals("模封(加热揭膜)")){
    
    
				tableName = "DQFNWP3";
				break;
			}else if(st.equals("电镀")){
    
    
				tableName = "DQFNWP4";
				break;
			}else if(st.equals("切割") || st.equals("切筋成型")){
    
    
				tableName = "DQFNWP5";
				break;
			}else if(st.equals("测试")){
    
    
				tableName = "DQFNWP6";
				break;
			}else if(st.equals("打标编带") || st.equals("测试打标编带") || st.equals("测试编带") || st.equals("编带")){
    
    
				tableName = "DQFNWP7";
				break;
			}
		}
		return tableName;
	}
	
	/**
	 * 得到站点名称 
	 */
	public static String getSite(String str){
    
    
		String result = "";
		if("DQFNWP1_1".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[固晶[1]工序数据管理]";
		}else if("DQFNWP1_2".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[固晶[2]工序数据管理]";
		}else if("DQFNWP1_3".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[固晶[3]工序数据管理]";
		}else if("DQFNWP2_1".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[焊线[1]工序数据管理]";
		}else if("DQFNWP2_2".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[焊线[2]工序数据管理]";
		}else if("DQFNWP3".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[模封工序数据管理]";
		}else if("DQFNWP4".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[电镀工序数据管理]";
		}else if("DQFNWP5".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[切割工序数据管理]";
		}else if("DQFNWP6".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[测试工序数据管理]";
		}else if("DQFNWP7".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[打标编带数据管理]";
		}else if("DQFNWP8".equals(str)){
    
    
			result = "[DQFN数据录入系统]-[合批编带数据管理]";
		}else{
    
    
			result = "[DQFN数据录入系统]-[产品包装]";
		}
		
		return result;
	}
	
	/**
	 * 得到子站点名称 
	 */
	public static String getSubSite(String str){
    
    
		String result = "";
		if("DQFNWP1_1".equals(str)){
    
    
			result = "固晶[1]工序数据处理";
		}else if("DQFNWP1_2".equals(str)){
    
    
			result = "固晶[2]工序数据处理";
		}else if("DQFNWP1_3".equals(str)){
    
    
			result = "固晶[3]工序数据处理";
		}else if("DQFNWP2_1".equals(str)){
    
    
			result = "焊线[1]工序数据处理";
		}else if("DQFNWP2_2".equals(str)){
    
    
			result = "焊线[2]工序数据处理";
		}else if("DQFNWP3".equals(str)){
    
    
			result = "模封工序数据处理";
		}else if("DQFNWP4".equals(str)){
    
    
			result = "电镀工序数据处理";
		}else if("DQFNWP5".equals(str)){
    
    
			result = "切割工序数据处理";
		}else if("DQFNWP6".equals(str)){
    
    
			result = "测试工序数据处理";
		}else if("DQFNWP7".equals(str)){
    
    
			result = "打标编带数据处理";
		}else if("DQFNWP8".equals(str)){
    
    
			result = "合批编带数据处理";
		}else{
    
    
			result = "其它数据处理";
		}
		return result;
	}
	
	public static String ClassParseTableName(String clzName){
    
    
		String tableName = "";
		if("DQFNWP1_1".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp1_1";
		}else if("DQFNWP1_2".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp1_2";
		}else if("DQFNWP2_1".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp1_2";
		}else if("DQFNWP1_3".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp1_3";
		}else if("DQFNWP2_1".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp2_1";
		}else if("DQFNWP2_2".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp2_2";
		}else if("DQFNWP3".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp3";
		}else if("DQFNWP4".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp4";
		}else if("DQFNWP5".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp5";
		}else if("DQFNWP6".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp6";
		}else if("DQFNWP7".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp7";
		}else if("DQFNWP8".equals(clzName)){
    
    
			tableName = "tb_dqfn_wp8";
		}
		
		return tableName;
	}
	
	public static String ClassTrseTableName(String clzName){
    
    
		String tableName = "";
		if("DQFNWP1_1".equals(clzName)){
    
    
			tableName = "固晶1";
		}else if("DQFNWP1_2".equals(clzName)){
    
    
			tableName = "固晶2";
		}else if("DQFNWP1_3".equals(clzName)){
    
    
			tableName = "固晶3";
		}else if("DQFNWP2_1".equals(clzName)){
    
    
			tableName = "焊线1";
		}else if("DQFNWP2_2".equals(clzName)){
    
    
			tableName = "焊线2";
		}else if("DQFNWP3".equals(clzName)){
    
    
			tableName = "模压";
		}else if("DQFNWP4".equals(clzName)){
    
    
			tableName = "电镀";
		}else if("DQFNWP5".equals(clzName)){
    
    
			tableName = "切割";
		}else if("DQFNWP6".equals(clzName)){
    
    
			tableName = "测试";
		}else if("DQFNWP7".equals(clzName)){
    
    
			tableName = "打标编带";
		}else if("DQFNWP8".equals(clzName)){
    
    
			tableName = "合批编带";
		}
		
		return tableName;
	}
	
	public static String getEnWp(String tcline,String st){
    
    
		String result = "";
		if(st.equals("DQFNWP1_1")){
    
    
			if(tcline.indexOf("固晶1") >= 0){
    
    
				result = "固晶1";
			}else if(tcline.indexOf("一次印刷、贴芯片、氮气回流焊(140℃)") >= 0){
    
    
				result = "一次印刷、贴芯片、氮气回流焊(140℃)";
			}else{
    
    
				result = "固晶";
			}
		}else if(st.equals("DQFNWP1_2")){
    
    
			result = "固晶2";
		}else if(st.equals("DQFNWP1_3")){
    
    
			result = "固晶3";
		}else if(st.equals("DQFNWP2_1")){
    
    
			if(tcline.indexOf("焊线1(175℃)") > 0){
    
    
				result = "焊线1(175℃)";
			}else if(tcline.indexOf("焊线1") > 0){
    
    
				result = "焊线1";
			}else if(tcline.indexOf("二次印刷、贴装跳片、氮气回流焊(260℃)") >= 0){
    
    
				result = "二次印刷、贴装跳片、氮气回流焊(260℃)";
			}else{
    
    
				result = "焊线";
			}
		}else if(st.equals("DQFNWP2_2")){
    
    
			if(tcline.indexOf("焊线2(175℃)") > 0){
    
    
				result = "焊线2(175℃)";
			}else{
    
    
				result = "焊线2";
			}
		}else if(st.equals("DQFNWP3")){
    
    
			if(tcline.indexOf("模封(加热揭膜)") >= 0){
    
    
				result = "模封(加热揭膜)";
			}else{
    
    
				result = "模封";
			}
		}else if(st.equals("DQFNWP4")){
    
    
			result = "电镀";
		}else if(st.equals("DQFNWP5")){
    
    
			if(tcline.indexOf("切筋成型") >= 0){
    
    
				result = "切筋成型";
			}else{
    
    
				result = "切割";
			}
		}else if(st.equals("DQFNWP6")){
    
    
			result = "测试";
		}else if(st.equals("DQFNWP7")){
    
    
			//测试打标编带,打标编带,测试编带,编带
			
			if(tcline.indexOf("测试打标编带") >= 0){
    
    
				result = "测试打标编带";
			}else if(tcline.indexOf("打标编带") >= 0){
    
    
				result = "打标编带";
			}else if(tcline.indexOf("测试编带") >= 0){
    
    
				result = "测试编带";
			}else{
    
    
				result = "编带";
			}
		}else{
    
    
			result = "ERROR";
		}
		return result;
	}
	
	/**
	 * 得到子站点名称 
	 */
	public static String getNextClass(String tcline,String str){
    
    
		System.out.println("**********************************************");
		System.out.println(tcline+"---"+str);
		System.out.println("**********************************************");
		str = getEnWp(tcline,str);
		System.out.println(str);
		
		String result = "";
		String[] tcs = tcline.split("->");
		int index = 100;
		int i = 0;
		for(i = 0; i < tcs.length;i++){
    
    
			String t = tcs[i];
			if(t.equals(str)){
    
    
				index = i+1;
				break;
			}
		}
		if(index == 100){
    
    
			str = str.replace("1", "");
			for(i = 0; i < tcs.length;i++){
    
    
				String t = tcs[i];
				if(t.equals(str)){
    
    
					index = i+1;
					break;
				}
			}
		}
		result = getNextClass(tcline,index);
		return result;
	}
	
	public static String getWBClass(String tc){
    
    
		String result = "";
		if(tc.contains("焊线3")){
    
    
			result = "DQFNWP2_3";
		}else{
    
    
			if(tc.contains("焊线2") || tc.contains("焊线2(175℃)")){
    
    
				result = "DQFN2_2";
			}else{
    
    
				result = "DQFNWP2_1";
			}
		}
		return result;
	}
	
	public static String getNextClass(String tc,int index){
    
    
		String className = "";
		String[] tcs = tc.split("->");
		if(index < tcs.length){
    
    
			for(int i = index; i < tcs.length;i++){
    
    
				String t = tcs[i];
				if("固晶".equals(t) || "固晶1".equals(t) || "一次印刷、贴芯片、氮气回流焊(140℃)".equals(t)){
    
    
					className = "DQFNWP1_1";
					break;
				}else if("固晶2".equals(t)){
    
    
					className = "DQFNWP1_2";
					break;
				}else if("固晶3".equals(t)){
    
    
					className = "DQFNWP1_3";
					break;
				}else if("焊线1(175℃)".equals(t) || "焊线".equals(t) || "焊线1".equals(t) || "二次印刷、贴装跳片、氮气回流焊(260℃)".equals(t)){
    
    
					className = "DQFNWP2_1";
					break;
				}else if("焊线2(175℃)".equals(t) || "焊线2".equals(t)){
    
    
					className = "DQFNWP2_2";
					break;
				}else if("模封".equals(t) || "模封(加热揭膜)".equals(t)){
    
    
					className = "DQFNWP3";
					break;
				}else if("电镀".equals(t)){
    
    
					className = "DQFNWP4";
					break;
				}else if("切割".equals(t) || "切筋成型".equals(t)){
    
    
					className = "DQFNWP5";
					break;
				}else if("测试".equals(t)){
    
    
					className = "DQFNWP6";
					break;
				}else if("打标编带".equals(t) || "测试打标编带".equals(t) || "编带".equals(t) || "测试编带".equals(t)){
    
    
					className = "DQFNWP7";
					break;
				}
			}
			if("".equals(className)){
    
    
				className = "ERROR";
			}
		}else{
    
    
			className = "ERROR";
		}
		return className;
	}
	
	/**
	 * 得到上工序中文名称
	 * 参数1:路线
	 * 参数2:本工序名称
	 */
	public static String getStep(String tcline,String wp){
    
    
		String result = "ERROR&ERROR";
		String[] tcs = tcline.split("->");
		int f = 0;
		for(int i = 0;i < tcs.length;i++){
    
    
			if(wp.equals(tcs[i])){
    
    
				f = i;
				break;
			}
		}
		int k = f-1;
		for(int j = k;j >= 0;j--){
    
    
			if("固晶".equals(tcs[j])){
    
    
				result = "固晶&DQFNWP1_1";
				break;
			}else if("固晶1".equals(tcs[j])){
    
    
				result = "固晶1&DQFNWP1_1";
				break;
			}else if("固晶2".equals(tcs[j])){
    
    
				result = "固晶2&DQFNWP1_2";
				break;
			}else if("固晶3".equals(tcs[j])){
    
    
				result = "固晶3&DQFNWP1_3";
				break;
			}else if("焊线".equals(tcs[j])){
    
    
				result = "焊线&DQFNWP2_1";
				break;
			}else if("焊线1".equals(tcs[j]) || "焊线1(175℃)".equals(tcs[j])){
    
    
				result = "焊线1&DQFNWP2_1";
				break;
			}else if("焊线2".equals(tcs[j]) || "焊线2(175℃)".equals(tcs[j])){
    
    
				result = "焊线2&DQFNWP2_2";
				break;
			}else if("模封".equals(tcs[j]) || "模封(加热揭膜)".equals(tcs[j])){
    
    
				result = "模封&DQFNWP3";
				break;
			}else if("电镀".equals(tcs[j])){
    
    
				result = "电镀&DQFNWP4";
				break;
			}else if("切割".equals(tcs[j]) || "切筋成型".equals(tcs[j])){
    
    
				result = "切割&DQFNWP5";
				break;
			}else if("测试".equals(tcs[j])){
    
    
				result = "测试&DQFNWP6";
				break;
			}else if("打标编带".equals(tcs[j]) || "测试打标编带".equals(tcs[j]) || "编带".equals(tcs[j]) || "测试编带".equals(tcs[j])){
    
    
				result = "打标编带&DQFNWP7";
				break;
			}
		}
		return result;
	}
	
	public static boolean isContainYT(String desc){
    
    
		boolean b = false;
		if(desc.indexOf("测试打标编带") >= 0 || desc.indexOf("测试编带") >= 0){
    
    
			b = true;
		}
		return b;
	}
	
	public static boolean isContainTest(String desc){
    
    
		boolean b = false;
		if(desc.indexOf("测试打标编带") >= 0 || desc.indexOf("测试") >= 0){
    
    
			b = true;
		}
		return b;
	}
	
	
}

猜你喜欢

转载自blog.csdn.net/liufeifeihuawei/article/details/108272859