- package org.jleaf.erp.sdm.bo.employeesupervisor;
- import org.jleaf.core.*;
- import org.jleaf.core.annotation.ErrorList;
- import org.jleaf.core.annotation.Info;
- import org.jleaf.core.annotation.InfoIn;
- import org.jleaf.core.annotation.InfoOut;
- import org.jleaf.common.CommonExceptionConstants;
- import org.jleaf.erp.sdm.SdmConstants;
- import org.jleaf.erp.sdm.dao.EmployeeSupervisorDao;
- import org.jleaf.erp.sdm.entity.EmployeeSupervisor;
- import org.jleaf.util.GsonUtil;
- import org.jleaf.util.ValidationUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.beans.factory.annotation.Qualifier;
- import org.springframework.stereotype.Service;
- import org.jleaf.erp.sdm.SdmExceptionConstants;
- @Service
- @InfoIn(value={
- @Info(name="sessionId", description="Session Id", type=String.class, required=true),
- @Info(name="datetime", description="Datetime", type=String.class, required=true),
- @Info(name="roleLoginId", description="Datetime", type=Long.class, required=true),
- @Info(name="userLoginId", description="User Login Id", type=Long.class, required=true),
- @Info(name="tenantLoginId", description="Tenant Login Id", type=Long.class, required=true),
- @Info(name="employeeId", description="Employee Id", type=Long.class, required=false),
- @Info(name="supervisorId", description="Supervisor Id", type=Long.class, required=false)
- })
- @InfoOut(value={
- @Info(name = "userLoginId", description = "User login id", type = Long.class, required = true),
- @Info(name="id", description="Id", type=Long.class, required=true),
- @Info(name="employeeId", description="Employee Id", type=Long.class, required=true),
- @Info(name="tenantId", description="Tenant Id", type=Long.class, required=true),
- @Info(name="supervisorId", description="Supervisor Id", type=Long.class, required=true),
- @Info(name="createDatetime", description="Create Datetime", type=String.class, required=true),
- @Info(name="createUserId", description="Create User Id", type=Long.class, required=true),
- @Info(name="updateDatetime", description="Update Datetime", type=String.class, required=true),
- @Info(name="updateUserId", description="Update User Id", type=Long.class, required=true),
- @Info(name="version", description="Version", type=Long.class, required=true)
- })
- @ErrorList(errorKeys={
- SdmExceptionConstants.FAILED_ADD_EMPLOYEE_SUPERVISOR_SIMILAR_DATA_EXISTS
- })
- public class AddEmployeeSupervisor extends DefaultBusinessTransaction implements BusinessTransaction {
- @Autowired
- private EmployeeSupervisorDao employeeSupervisorDao;
- @Autowired
- @Qualifier("valTenantLoginCanUse")
- BusinessFunction valTenantLoginCanUse;
- @Autowired
- @Qualifier("valComboValueByCode")
- BusinessFunction valComboValueByCode;
- @Autowired
- @Qualifier("isEmployeeSupervisorExistsByIndex")
- BusinessFunction isEmployeeSupervisorExistsByIndex;
- @Autowired
- @Qualifier("findSdmEmployeeByIdForEmployee")
- BusinessFunction findSdmEmployeeByIdForEmployee;
- public String getDescription(){
- return "Add new Employee Supervisor";
- }
- @Override
- public Dto prepare(Dto inputDto, Dto originalDto) throws Exception {
- ValidationUtil.valDtoContainsKey(inputDto, "userLoginId");
- ValidationUtil.valDtoContainsKey(inputDto, "tenantLoginId");
- ValidationUtil.valDtoContainsKey(inputDto, "roleLoginId");
- ValidationUtil.valDtoContainsKey(inputDto, "datetime");
- ValidationUtil.valDtoContainsKey(inputDto,"sessionId");
- ValidationUtil.valDtoContainsKey(inputDto,"datetime");
- ValidationUtil.valDtoContainsKey(inputDto,"roleLoginId");
- ValidationUtil.valDtoContainsKey(inputDto,"userLoginId");
- ValidationUtil.valDtoContainsKey(inputDto,"tenantLoginId");
- ValidationUtil.valDtoContainsKey(inputDto,"employeeId");
- ValidationUtil.valDtoContainsKey(inputDto,"supervisorId");
- String sessionId = inputDto.getString("sessionId");
- String datetime = inputDto.getString("datetime");
- Long roleLoginId = inputDto.getLong("roleLoginId");
- Long userLoginId = inputDto.getLong("userLoginId");
- Long tenantLoginId = inputDto.getLong("tenantLoginId");
- Long employeeId = inputDto.getLong("employeeId");
- Long supervisorId = inputDto.getLong("supervisorId");
- // Validation tenant login id can be use
- Dto loginDto = new Dto();
- loginDto.put("tenantLoginId", inputDto.getLong("tenantLoginId"));
- loginDto.put("userLoginId", inputDto.getLong("userLoginId"));
- loginDto.put("roleLoginId", inputDto.getLong("roleLoginId"));
- valTenantLoginCanUse.execute(loginDto);
- // Validasi Combo
- Dto paramCombo = new Dto();
- paramCombo.put("id", employeeId);
- findSdmEmployeeByIdForEmployee.execute(paramCombo);
- // Validasi Combo
- Dto paramComboSpv = new Dto();
- paramComboSpv.put("id", supervisorId);
- findSdmEmployeeByIdForEmployee.execute(paramComboSpv);
- // Validation employee id
- Dto paramId = new Dto();
- paramId.put("tenantId", tenantLoginId);
- paramId.put("employeeId", employeeId);
- Dto isExistsByIndex = isEmployeeSupervisorExistsByIndex.execute(paramId);
- if (isExistsByIndex.getBoolean("exists")) {
- throw new CoreException(SdmExceptionConstants.FAILED_ADD_EMPLOYEE_SUPERVISOR_SIMILAR_DATA_EXISTS,employeeId);
- }
- //TODO butuh unique index untuk membuatnya
- /*
- Dto inputDtoForIsSampleExistsByIndex = new Dto();
- inputDtoForIsSampleExistsByIndex.put("sampleCode", sampleCode);
- Dto outputDtoForIsSampleExistsByIndex = iEmployee NamesSampleExistsByIndex.execute(inputDtoForIsSampleExistsByIndex);
- if( outputDtoForIsSampleExistsByIndex.getBoolean("exists") ){
- throw new CoreException(LearnExceptionConstants.SAMPLE_CODE_ALREADY_USED, sampleCode);
- }
- */
- Dto employeeSupervisorDto = new Dto();
- employeeSupervisorDto.put("sessionId",sessionId);
- employeeSupervisorDto.put("datetime",datetime);
- employeeSupervisorDto.put("roleLoginId",roleLoginId);
- employeeSupervisorDto.put("userLoginId",userLoginId);
- employeeSupervisorDto.put("tenantLoginId",tenantLoginId);
- employeeSupervisorDto.put("employeeId",employeeId);
- employeeSupervisorDto.put("supervisorId",supervisorId);
- employeeSupervisorDto.put("tenantId", tenantLoginId);
- if( inputDto.containsKey("active") ) {
- if( GeneralConstants.YES.equals( employeeSupervisorDto.get("active")) ) {
- employeeSupervisorDto.put("activeDateTime", datetime);
- employeeSupervisorDto.put("nonActiveDateTime", GeneralConstants.EMPTY_VALUE);
- } else {
- employeeSupervisorDto.put("activeDateTime", GeneralConstants.EMPTY_VALUE);
- employeeSupervisorDto.put("nonActiveDateTime", datetime);
- }
- }
- this.prepareInsertAudit(employeeSupervisorDto, userLoginId, datetime);
- this.prepareUpdateAudit(employeeSupervisorDto, userLoginId, datetime);
- inputDto.put("employeeSupervisorDto", employeeSupervisorDto);
- return null;
- }
- public Dto process(Dto inputDto, Dto originalDto) throws Exception{
- Dto employeeSupervisorDto = inputDto.getDto("employeeSupervisorDto");
- EmployeeSupervisor employeeSupervisor = GsonUtil.fromDto(employeeSupervisorDto, EmployeeSupervisor.class);
- employeeSupervisorDao.persist(employeeSupervisor);
- return new Dto(employeeSupervisor);
- }
- }
[text] BT Add
Viewer
*** This page was generated with the meta tag "noindex, nofollow". This happened because you selected this option before saving or the system detected it as spam. This means that this page will never get into the search engines and the search bot will not crawl it. There is nothing to worry about, you can still share it with anyone.
Editor
You can edit this paste and save as new: