package th.co.muangthai.endrprint.controller.service; import org.apache.log4j.Logger; import org.springframework.beans.BeanUtils; import th.co.muangthai.endrprint.controller.AbstractMasterController; import th.co.muangthai.endrprint.model.bean.form.MsgErrorForm; import th.co.muangthai.endrprint.model.bean.form.master.EndrOperidTabForm; import th.co.muangthai.endrprint.model.bean.master.MstOperidTabBean; import java.util.List; public class ENDR500Service extends AbstractMasterController { static Logger log = Logger.getLogger(ENDR500Service.class); /** * Insert ENDR data to temp and update data * Save ENDR data to .dat file and transfer text file to server by ftp process * Delete text file when transfer text file is complete * * @return Object[] results */ public MsgErrorForm saveOperIdTab(MstOperidTabBean endrOperidTabBean, String saveFlag) { MsgErrorForm msgErrorForm = new MsgErrorForm(); msgErrorForm.setErrorFlag(getBigDecimal("0")); msgErrorForm.setErrorDesc("Save successful"); try { //Insert if (saveFlag.equals("I")) { //Check Duplicate Oper Id EndrOperidTabForm schForm = new EndrOperidTabForm(); schForm.setOperid(endrOperidTabBean.getOperid()); List EndrOperidTabList = commonService.searchMstOperidTabBeanByBean(schForm); if (EndrOperidTabList != null && EndrOperidTabList.size() > 0) {//new Data is Duplicate msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("ไม่สามารถเพิ่ม Oper ID นี้ได้ เนื่องจากมีในระบบแล้ว"); return msgErrorForm; } //Check Duplicate Identifield schForm = new EndrOperidTabForm(); schForm.setIdentifield(endrOperidTabBean.getIdentifield()); EndrOperidTabList = commonService.searchMstOperidTabBeanByBean(schForm); if (EndrOperidTabList != null && EndrOperidTabList.size() > 0) {//new Data is Duplicate msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("Identifield นี้มีในระบบแล้ว"); return msgErrorForm; } MstOperidTabBean mstOperidTabBean = new MstOperidTabBean(); BeanUtils.copyProperties(endrOperidTabBean, mstOperidTabBean); boolean insertSuccessful = commonService.insertEndrOperidTab(mstOperidTabBean); if (!insertSuccessful) { msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("Insert data error"); return msgErrorForm; } } else if (saveFlag.equals("E")) { EndrOperidTabForm schForm = new EndrOperidTabForm(); schForm.setIdentifield(endrOperidTabBean.getIdentifield()); //หา operid จาก Identifield เดิม List EndrOperidTabList = commonService.searchMstOperidTabBeanByBean(schForm); MstOperidTabBean oldData = EndrOperidTabList.get(0);//ข้อมูลเดิม if (!oldData.getOperid().equals(endrOperidTabBean.getOperid())) {//กรณีถูกเปลี่ยน operid ตรวจสอบการซ้ำกันของ Operid schForm = new EndrOperidTabForm(); schForm.setOperid(endrOperidTabBean.getOperid()); EndrOperidTabList = commonService.searchMstOperidTabBeanByBean(schForm); if (EndrOperidTabList != null && EndrOperidTabList.size() > 0) {//operid ที่เปลี่ยน มีในระบบแล้ว msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("Oper ID มีในระบบแล้ว"); return msgErrorForm; } //remove olddata commonService.deleteEndrOperidTab(oldData); } //save newData MstOperidTabBean newMstOperidTabData = new MstOperidTabBean(); BeanUtils.copyProperties(endrOperidTabBean, newMstOperidTabData); boolean insertSuccessful = commonService.insertEndrOperidTab(newMstOperidTabData); if (!insertSuccessful) { msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("Insert data error"); return msgErrorForm; } } } catch (Exception e) { msgErrorForm.setErrorFlag(getBigDecimal("1")); msgErrorForm.setErrorDesc("Data not found ,Invalid team"); log.error(e.toString(), e); } return msgErrorForm; } }