| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- package xin.glue.scheduling;
- import java.math.BigDecimal;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class XinLabRecvDataL2 extends XinHandleDataL2 {
- public XinLabRecvDataL2() {
- }
- private void setLength(StringBuffer sMsg, int len) {
- for (int i = sMsg.length(); i < len; i++)
- sMsg.append(' ');
- sMsg.setLength(len);
- }
- public String runActivity(PosContext ctx) {
- logger.logDebug("XinLabRecvDataL2 runActivity START...");
- String[] CHEM_CD = new String[35];
- String[] CHEM_VAL = new String[35];
- PosRowSet recvDataVO = getDao().find("RecvDataL2_C_RECV_DATA.Select");
- if (recvDataVO.hasNext())
- ctx.put("_hasRec_", "true");
- while (recvDataVO.hasNext()) {
- PosRow chemROW = recvDataVO.next();
- String PLAN_CHARGE_NO = (String) chemROW
- .getAttribute("PLAN_CHARGE_NO");
- String RT_CD = ((String) chemROW.getAttribute("RT_CD")).substring(
- 0, 2);
- String TRAN_DTIME = (String) chemROW.getAttribute("TRAN_DTIME");
- BigDecimal EXAMINE_SEQ = (BigDecimal) chemROW
- .getAttribute("EXAMINE_SEQ");
- for (int i = 0; i < 35; i++) {
- CHEM_CD[i] = (String) chemROW.getAttribute("ELE_CD_" + (i + 1));
- CHEM_VAL[i] = (String) chemROW.getAttribute("ELE_" + (i + 1));
- }
- String PROC_CD = null;
- if (PLAN_CHARGE_NO.substring(0, 1).equals("J")
- && (RT_CD.equals("LD") || RT_CD.equals("YQ")
- || RT_CD.equals("LF") || RT_CD.equals("YH")
- || RT_CD.equals("CP") || RT_CD.equals("RH")
- || RT_CD.equals("YC") || RT_CD.equals("VD") || RT_CD.equals("FCP"))) {
- if (RT_CD.equals("LD"))
- PROC_CD = "JB";
- else if (RT_CD.equals("YQ"))
- PROC_CD = "J1";
- else if (RT_CD.equals("YH"))
- PROC_CD = "J2";
- else if (RT_CD.equals("LF"))
- PROC_CD = "JL";
- else if (RT_CD.equals("CP"))
- PROC_CD = "JJ";
- else if (RT_CD.equals("RH"))
- PROC_CD = "JR";
- else if (RT_CD.equals("YC"))
- PROC_CD = "SL";// Õë¶Ô°åÅ÷
- else if (RT_CD.equals("VD"))
- PROC_CD = "VD";
- else if (RT_CD.equals("FCP"))
- PROC_CD = "JJ";
- String TcId = "NIB027080";
- StringBuffer sMsg = new StringBuffer();
- sMsg.append(TcId);
- int iLen = 9;
- sMsg.append(TRAN_DTIME);
- iLen += 14;
- setLength(sMsg, iLen);
- sMsg.append(PLAN_CHARGE_NO).append('A');
- iLen += 10;
- setLength(sMsg, iLen);
- sMsg.append(PROC_CD);
- iLen += 2;
- setLength(sMsg, iLen);
- sMsg.append(EXAMINE_SEQ);
- iLen += 2;
- setLength(sMsg, iLen);
- for (int j = 0; j < 35; j++) {
- // BY XB 2010.01.29
- if (CHEM_CD[j] == null || CHEM_CD[j].equals("")) {
- sMsg.append(" "); // 10 ¸ö¿Õ¸ñ
- iLen += 10;
- } else {
- sMsg.append(CHEM_CD[j]);
- iLen += 3;
- setLength(sMsg, iLen);
- if (CHEM_VAL[j] == null || CHEM_VAL[j].equals("")) {
- sMsg.append("0 ");// 6 ¸ö¿Õ¸ñ
- iLen += 7;
- } else {
- sMsg.append(CHEM_VAL[j]);
- iLen += 7;
- setLength(sMsg, iLen);
- }
- }
- }
- String TcData = sMsg.toString();
- try {
- if (!UpdateRec("RecvDataL2_C_RECV_DATA.Update",
- new Object[] { "C", chemROW.getAttribute("SEQ_NO"),
- TRAN_DTIME }))
- continue;
- TC_SEND(TcData, TcId);
- logger.logDebug(getMessage(TcData, TcId));
- } catch (Exception e) {
- logger.logError("XinRecvDataL2 Chem Data format error!!!\n"
- + getMessage(TcData, TcId) + '\n' + e.getMessage());
- UpdateRec("RecvDataL2_C_RECV_DATA.Update", new Object[] {
- "E", chemROW.getAttribute("SEQ_NO"), TRAN_DTIME });
- }
- } else {
- UpdateRec("RecvDataL2_C_RECV_DATA.Update", new Object[] { "U",
- chemROW.getAttribute("SEQ_NO"), TRAN_DTIME });
- }
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|