Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jleaf.pos2.bo.employee;
- import org.jleaf.core.BusinessFunction;
- import org.jleaf.core.BusinessTransaction;
- import org.jleaf.core.DefaultBusinessTransaction;
- import org.jleaf.core.Dto;
- import org.jleaf.core.annotation.Info;
- import org.jleaf.core.annotation.InfoIn;
- import org.jleaf.core.annotation.InfoOut;
- import org.jleaf.pos2.PosComboIdMasterConstans;
- import org.jleaf.pos2.dao.EmployeeJobDao;
- import org.jleaf.pos2.entity.EmployeeJob;
- import org.jleaf.pos2.util.PosUtil;
- import org.jleaf.util.GsonUtil;
- import org.jleaf.util.ValidationUtil;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Service;
- /**
- * Business Transactions: Edit EmployeeJob
- *
- * @author Desinta Aditiya , 1 August 2016
- */
- // @formatter:off
- @Service
- @InfoIn(value = {
- @Info(name = "partnerCode", description = "Partner code", type = String.class, required = true),
- @Info(name = "employeeJob ", description = "Employee job ", type = String.class, required = true),
- @Info(name = "username", description = "Username", type = String.class, required = true),
- @Info(name = "version", description = "Version", type = String.class, required = true),
- @Info(name = "userLoginName", description = "user login name", type = String.class),
- @Info(name = "roleLoginId", description = "role login id", type = Long.class),
- @Info(name = "roleLoginName", description = "role login name", type = String.class),
- @Info(name = "datetime", description = "date time", type = String.class) })
- @InfoOut(value = {
- @Info(name = "partnerCode", description = "Partner code", type = String.class, required = true),
- @Info(name = "employeeJob ", description = "Employee job ", type = String.class, required = true),
- @Info(name = "username", description = "Username", type = String.class, required = true),
- @Info(name = "version", description = "Version", type = String.class, required = true),
- @Info(name = "createDatetime ", description = "Create datetime ", type = String.class, required = true),
- @Info(name = "updateDatetime", description = "Update datetime", type = String.class, required = true),
- @Info(name = "createUsername", description = "Create username", type = String.class, required = true),
- @Info(name = "updateUsername", description = "Update username", type = String.class, required = true) })
- public class EditEmployeeJob extends DefaultBusinessTransaction implements
- BusinessTransaction {
- private static final Logger log = LoggerFactory
- .getLogger(EditEmployeeJob.class);
- @Autowired
- EmployeeJobDao employeeJobDao;
- @Autowired
- @Qualifier("valComboValueByCode")
- BusinessFunction valComboValueByCode;
- @Autowired
- @Qualifier("findEmployeeJobById")
- BusinessFunction findEmployeeJobById;
- // referensi ke master partner
- @Autowired
- @Qualifier("findPartnerById")
- BusinessFunction findPartnerById;
- @Autowired
- @Qualifier("findUserByIndex")
- BusinessFunction findUserByIndex;
- @Override
- public String getDescription() {
- return "Edit Employee Job";
- }
- @Override
- public Dto prepare(Dto inputDto, Dto originalDto) throws Exception {
- ValidationUtil.valBlankOrNull(inputDto, "partnerCode");
- ValidationUtil.valBlankOrNull(inputDto, "employeeJob");
- //ValidationUtil.valBlankOrNull(inputDto, "username");
- ValidationUtil.valBlankOrNull(inputDto, "version");
- ValidationUtil.valBlankOrNull(inputDto, "userLoginName");
- ValidationUtil.valBlankOrNull(inputDto, "roleLoginId");
- ValidationUtil.valBlankOrNull(inputDto, "roleLoginName");
- ValidationUtil.valBlankOrNull(inputDto, "datetime");
- String partnerCode = inputDto.getString("partnerCode").trim()
- .toUpperCase();
- String employeeJob = inputDto.getString("employeeJob").trim()
- .toUpperCase();
- Long version = inputDto.getLong("version");
- String userLoginName = inputDto.getString("userLoginName");
- Long roleLoginId = inputDto.getLong("roleLoginId");
- String roleLoginName = inputDto.getString("roleLoginName");
- String datetime = inputDto.getString("datetime");
- Dto employeeJobDto = findEmployeeJobById.execute(new Dto().put(
- "partnerCode", partnerCode));
- log.debug("isi employeeJobDto : "+employeeJobDto);
- String username = employeeJobDto.getString("username");
- // Validation employeeJob id must exists
- findPartnerById.execute(new Dto().put("partnerCode", partnerCode));
- // Validation employeeJob must be suitable with combo YES NO
- Dto paramEmployeeJobDto = new Dto();
- paramEmployeeJobDto.put("comboId",
- PosComboIdMasterConstans.COMBO_EMPLOYEEJOB);
- paramEmployeeJobDto.put("code", employeeJob);
- paramEmployeeJobDto.put("varName", "employeeJob");
- log.debug("paramEmployeeJobDto:" + paramEmployeeJobDto);
- valComboValueByCode.execute(paramEmployeeJobDto);
- // BF find UserByIndex
- Dto inputDtoForFindUserByIndex = new Dto();
- inputDtoForFindUserByIndex.put("name", username);
- Dto userDto = findUserByIndex.execute(inputDtoForFindUserByIndex);
- Dto editEmployeeJobDto = employeeJobDto;
- editEmployeeJobDto.put("employeeJob", employeeJob);
- editEmployeeJobDto.put("username", username);
- editEmployeeJobDto.put("version", version);
- PosUtil.prepareUpdateAudit(editEmployeeJobDto, userLoginName, datetime);
- inputDto.put("editEmployeeJobDto", editEmployeeJobDto);
- return null;
- }
- @Override
- public Dto process(Dto inputDto, Dto originalDto) throws Exception {
- Dto editEmployeeJobDto = inputDto.getDto("editEmployeeJobDto");
- EmployeeJob employeeJob = GsonUtil.fromDto(editEmployeeJobDto,
- EmployeeJob.class);
- employeeJobDao.merge(employeeJob.getPartnerCode(), employeeJob); // persist(employeeJob);
- return new Dto(employeeJob);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment