Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.jleaf.erp.sls.bo.tasksales;
- 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.ErrorList;
- import org.jleaf.core.annotation.Info;
- import org.jleaf.core.annotation.InfoIn;
- import org.jleaf.core.annotation.InfoOut;
- import org.jleaf.erp.sls.dao.SalesmanVisitRealizationDao;
- import org.jleaf.erp.sls.entity.SalesmanVisitRealization;
- import org.jleaf.util.DateUtil;
- 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;
- /**
- * Edit Salesman Check Out Visit
- * @author Danielli Prasetyo Pangestu, May 8, 2020
- * @version 1.0.0
- */
- @Service
- @InfoIn(value={
- @Info(name = "tenantLoginId", description = "Tenant Login Id", type = Long.class),
- @Info(name = "userLoginId", description = "User Login Id", type = Long.class),
- @Info(name = "roleLoginId", description = "Role Login Id", type = Long.class),
- @Info(name = "datetime", description = "Datetime", type = String.class),
- @Info(name = "salesmanVisitPlanId", description = "Salesman Visit Plan Id", type = Long.class),
- @Info(name = "checkOutTimeLocal", description = "Check Out Time Local", type = String.class),
- @Info(name = "flagVisitStatus", description = "Flag Visit Status", type = String.class),
- @Info(name = "checkOutStatus", description = "Check Out Status", type = String.class),
- @Info(name = "longitude", description = "Longitude", type = Double.class),
- @Info(name = "latitude", description = "Latitude", type = Double.class),
- @Info(name = "remark", description = "Remark", type = String.class)
- })
- @InfoOut(value={
- @Info(name = "salesmanVisitPlanId", description = "Salesman Visit Plan Id", type = Long.class)
- })
- @ErrorList(errorKeys={})
- public class EditSalesmanCheckOutVisit extends DefaultBusinessTransaction implements BusinessTransaction{
- private static final Logger log = LoggerFactory.getLogger(EditSalesmanCheckOutVisit.class);
- @Autowired
- SalesmanVisitRealizationDao salesmanVisitRealizationDao;
- @Autowired
- @Qualifier("findSalesmanVisitRealizationByIndex")
- BusinessFunction findSalesmanVisitRealizationByIndex;
- @Autowired
- @Qualifier("isSalesmanVisitRealizationExistsByIndex")
- BusinessFunction isSalesmanVisitRealizationExistsByIndex;
- @Override
- public String getDescription() {
- return "sebagai salesman bisa melakukan check out kunjungan";
- }
- @Override
- public Dto prepare(Dto inputDto, Dto original) throws Exception {
- //validate input
- ValidationUtil.valDtoContainsKey(inputDto, "salesmanVisitPlanId");
- ValidationUtil.valDtoContainsKey(inputDto, "checkOutTimeLocal");
- ValidationUtil.valDtoContainsKey(inputDto, "flagVisitStatus");
- ValidationUtil.valDtoContainsKey(inputDto, "checkOutStatus");
- ValidationUtil.valDtoContainsKey(inputDto, "longitude");
- ValidationUtil.valDtoContainsKey(inputDto, "latitude");
- ValidationUtil.valDtoContainsKey(inputDto, "remark");
- //define input
- Long salesmanVisitPlanId = inputDto.getLong("salesmanVisitPlanId");
- Long tenantLoginId = inputDto.getLong("tenantLoginId");
- Long userLoginId = inputDto.getLong("userLoginId");
- String datetime = inputDto.getString("datetime");
- //get salesman visit realization id (pk) --> use findalesmanVisitByIndex
- Dto filter = new Dto();
- filter.put("salesmanVisitPlanId", salesmanVisitPlanId);
- filter.put("tenantId", tenantLoginId);
- Dto updateDto = findSalesmanVisitRealizationByIndex.execute(filter);
- String checkOutTimeLocal = inputDto.getString("checkOutTimeLocal");
- String checkOutTimeServer = DateUtil.dateTimeNow();
- String flagVisitStatus = inputDto.getString("flagVisitStatus");
- String checkOutStatus = inputDto.getString("checkOutStatus");
- Double longitude = inputDto.getDouble("longitude");
- Double latitude = inputDto.getDouble("latitude");
- String remark = inputDto.getString("remark");
- //prepare input ke process
- updateDto.put("checkOutTimeLocal", checkOutTimeLocal);
- updateDto.put("checkOutTimeServer", checkOutTimeServer);
- updateDto.put("statusVisit", flagVisitStatus);
- updateDto.put("checkOutStatus", checkOutStatus);
- updateDto.put("checkOutLongitude", longitude);
- updateDto.put("checkOutLatitude", latitude);
- updateDto.put("checkOutRemark", remark);
- this.prepareUpdateAudit(updateDto,userLoginId,datetime);
- // inputDto.put("id", id);
- inputDto.put("updateDto", updateDto);
- return null;
- }
- @Override
- public Dto process(Dto inputDto, Dto original) throws Exception {
- Dto dataPrepare = inputDto.getDto("updateDto");
- log.info("ISI DATA : " + dataPrepare.toString());
- SalesmanVisitRealization salesmanVisitRealization = GsonUtil.fromDto(dataPrepare, SalesmanVisitRealization.class);
- salesmanVisitRealization = salesmanVisitRealizationDao.merge(salesmanVisitRealization.getId(), salesmanVisitRealization);
- return new Dto().put("salesmanVisitRealizationId",salesmanVisitRealization.getId());
- }
- }
Add Comment
Please, Sign In to add comment