Evra70

Untitled

May 22nd, 2020
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.82 KB | None | 0 0
  1. package org.jleaf.erp.sls.bo.tasksales;
  2.  
  3. import org.jleaf.core.BusinessFunction;
  4. import org.jleaf.core.BusinessTransaction;
  5. import org.jleaf.core.DefaultBusinessTransaction;
  6. import org.jleaf.core.Dto;
  7. import org.jleaf.core.annotation.ErrorList;
  8. import org.jleaf.core.annotation.Info;
  9. import org.jleaf.core.annotation.InfoIn;
  10. import org.jleaf.core.annotation.InfoOut;
  11. import org.jleaf.erp.sls.dao.SalesmanVisitRealizationDao;
  12. import org.jleaf.erp.sls.entity.SalesmanVisitRealization;
  13. import org.jleaf.util.DateUtil;
  14. import org.jleaf.util.GsonUtil;
  15. import org.jleaf.util.ValidationUtil;
  16. import org.slf4j.Logger;
  17. import org.slf4j.LoggerFactory;
  18. import org.springframework.beans.factory.annotation.Autowired;
  19. import org.springframework.beans.factory.annotation.Qualifier;
  20. import org.springframework.stereotype.Service;
  21.  
  22.  
  23. /**
  24.  * Edit Salesman Check Out Visit
  25.  * @author Danielli Prasetyo Pangestu, May 8, 2020
  26.  * @version 1.0.0
  27.  */
  28.  
  29.  
  30. @Service
  31. @InfoIn(value={
  32.         @Info(name = "tenantLoginId", description = "Tenant Login Id", type = Long.class),
  33.         @Info(name = "userLoginId", description = "User Login Id", type = Long.class),
  34.         @Info(name = "roleLoginId", description = "Role Login Id", type = Long.class),
  35.         @Info(name = "datetime", description = "Datetime", type = String.class),
  36.        
  37.         @Info(name = "salesmanVisitPlanId", description = "Salesman Visit Plan Id", type = Long.class),
  38.         @Info(name = "checkOutTimeLocal", description = "Check Out Time Local", type = String.class),
  39.         @Info(name = "flagVisitStatus", description = "Flag Visit Status", type = String.class),
  40.         @Info(name = "checkOutStatus", description = "Check Out Status", type = String.class),
  41.         @Info(name = "longitude", description = "Longitude", type = Double.class),
  42.         @Info(name = "latitude", description = "Latitude", type = Double.class),
  43.         @Info(name = "remark", description = "Remark", type = String.class)        
  44. })
  45. @InfoOut(value={
  46.         @Info(name = "salesmanVisitPlanId", description = "Salesman Visit Plan Id", type = Long.class)
  47. })
  48. @ErrorList(errorKeys={})
  49. public class EditSalesmanCheckOutVisit extends DefaultBusinessTransaction implements BusinessTransaction{
  50.     private static final Logger log = LoggerFactory.getLogger(EditSalesmanCheckOutVisit.class);
  51.    
  52.     @Autowired
  53.     SalesmanVisitRealizationDao salesmanVisitRealizationDao;
  54.    
  55.     @Autowired
  56.     @Qualifier("findSalesmanVisitRealizationByIndex")
  57.     BusinessFunction findSalesmanVisitRealizationByIndex;
  58.    
  59.     @Autowired
  60.     @Qualifier("isSalesmanVisitRealizationExistsByIndex")
  61.     BusinessFunction isSalesmanVisitRealizationExistsByIndex;
  62.    
  63.     @Override
  64.     public String getDescription() {
  65.         return "sebagai salesman bisa melakukan check out kunjungan";
  66.     }
  67.        
  68.     @Override
  69.     public Dto prepare(Dto inputDto, Dto original) throws Exception {
  70.  
  71.         //validate input
  72.         ValidationUtil.valDtoContainsKey(inputDto, "salesmanVisitPlanId");
  73.         ValidationUtil.valDtoContainsKey(inputDto, "checkOutTimeLocal");
  74.         ValidationUtil.valDtoContainsKey(inputDto, "flagVisitStatus");
  75.         ValidationUtil.valDtoContainsKey(inputDto, "checkOutStatus");
  76.         ValidationUtil.valDtoContainsKey(inputDto, "longitude");
  77.         ValidationUtil.valDtoContainsKey(inputDto, "latitude");
  78.         ValidationUtil.valDtoContainsKey(inputDto, "remark");        
  79.        
  80.         //define input
  81.        
  82.         Long salesmanVisitPlanId = inputDto.getLong("salesmanVisitPlanId");
  83.         Long tenantLoginId = inputDto.getLong("tenantLoginId");
  84.         Long userLoginId = inputDto.getLong("userLoginId");
  85.         String datetime = inputDto.getString("datetime");
  86.             //get salesman visit realization id (pk) --> use findalesmanVisitByIndex    
  87.         Dto filter = new Dto();
  88.         filter.put("salesmanVisitPlanId", salesmanVisitPlanId);
  89.         filter.put("tenantId", tenantLoginId);    
  90.        
  91.         Dto updateDto = findSalesmanVisitRealizationByIndex.execute(filter);        
  92.        
  93.         String checkOutTimeLocal = inputDto.getString("checkOutTimeLocal");        
  94.         String checkOutTimeServer = DateUtil.dateTimeNow();        
  95.         String flagVisitStatus = inputDto.getString("flagVisitStatus");        
  96.         String checkOutStatus = inputDto.getString("checkOutStatus");        
  97.         Double longitude = inputDto.getDouble("longitude");        
  98.         Double latitude = inputDto.getDouble("latitude");                
  99.         String remark = inputDto.getString("remark");
  100.        
  101.         //prepare input ke process                                
  102.         updateDto.put("checkOutTimeLocal", checkOutTimeLocal);
  103.         updateDto.put("checkOutTimeServer", checkOutTimeServer);
  104.         updateDto.put("statusVisit", flagVisitStatus);
  105.         updateDto.put("checkOutStatus", checkOutStatus);
  106.         updateDto.put("checkOutLongitude", longitude);
  107.         updateDto.put("checkOutLatitude", latitude);
  108.         updateDto.put("checkOutRemark", remark);            
  109.        
  110.         this.prepareUpdateAudit(updateDto,userLoginId,datetime);        
  111.        
  112. //        inputDto.put("id", id);
  113.         inputDto.put("updateDto", updateDto);
  114.        
  115.         return null;
  116.     }
  117.  
  118.     @Override
  119.     public Dto process(Dto inputDto, Dto original) throws Exception {
  120.        
  121.         Dto dataPrepare = inputDto.getDto("updateDto");
  122.         log.info("ISI DATA : " + dataPrepare.toString());
  123.        
  124.         SalesmanVisitRealization salesmanVisitRealization = GsonUtil.fromDto(dataPrepare, SalesmanVisitRealization.class);
  125.         salesmanVisitRealization = salesmanVisitRealizationDao.merge(salesmanVisitRealization.getId(), salesmanVisitRealization);        
  126.        
  127.         return new Dto().put("salesmanVisitRealizationId",salesmanVisitRealization.getId());
  128.     }
  129.  
  130.  
  131. }
Add Comment
Please, Sign In to add comment