package com.meteor.bob.service.sample; import java.util.ArrayList; import java.util.Date; import org.springframework.stereotype.Service; import com.meteor.bob.constants.CitrineFunctionCodes; import com.meteor.bob.enums.YesOrNoEnum; import com.meteor.bob.model.Sample; import com.meteor.bob.repository.SampleRepository; import com.meteor.bob.service.base.CitrineBaseServiceImpl; import com.meteor.bob.util.CitrineResource; import com.meteor.common.auditlog.annotations.AuditableMethod; import com.meteor.common.auditlog.enums.MethodActionEnum; import lombok.AllArgsConstructor; @Service @AllArgsConstructor public class SampleServiceImpl extends CitrineBaseServiceImpl implements SampleService { private SampleRepository sampleRepository; @Override @AuditableMethod(action = MethodActionEnum.SAVE, funcCd = CitrineFunctionCodes.SAMPLE_ADD, generateLocalRefNo = true, generatePreLogAndPostLog = false) public Sample save(Sample sample, String userCd){ if(sample.getCreatedBy()==null) { sample.setCreatedBy(userCd); } if(sample.getCreatedDt()==null) { sample.setCreatedDt(new Date()); } sample.setUpdatedBy(userCd); sample.setUpdatedDt(new Date()); sample.setCd(sample.getCd().trim().toUpperCase()); sample.setDscp(sample.getDscp().trim().toUpperCase()); sampleRepository.save(sample); return sample; } public Sample validateSample(Sample sample) { sample.setErrorList(new ArrayList()); if (sample.getCd() == null || sample.getCd().trim().equals("")) { sample.getErrorList().add(CitrineResource.getVariableString("feedback.bad.isrequired", CitrineResource.getString("global.code"))); } else { checkForSpecialCharacters(sample.getCd(), CitrineResource.getString("global.code"), sample.getErrorList()); if (sample.getId() == null && sample.getCd() != null) { if (sampleRepository.countByCdAndDel(sample.getCd().trim().toUpperCase(), YesOrNoEnum.NO.getKey()) > 0) { sample.getErrorList().add(CitrineResource.getVariableString("feedback.error.duplicateexist", CitrineResource.getString("global.code"))); } } else { } sample.setCd(sample.getCd().trim().toUpperCase()); } if (sample.getDscp() == null || sample.getDscp().trim().equals("")) { sample.getErrorList().add(CitrineResource.getVariableString("feedback.bad.isrequired", CitrineResource.getString("global.description"))); } else { sample.setDscp(sample.getDscp().trim().toUpperCase()); } if ((sample.getErrorList() != null) && (sample.getErrorList().size() > 0)) { throwErrorMessages(sample.getErrorList()); } return sample; } }