| @@ -0,0 +1,53 @@ | |||||
| package com.ffii.tsms.modules.data.service | |||||
| import com.ffii.core.support.AbstractBaseEntityService | |||||
| import com.ffii.core.support.JdbcDao | |||||
| import com.ffii.tsms.modules.data.entity.Customer | |||||
| import com.ffii.tsms.modules.data.entity.CustomerType | |||||
| import com.ffii.tsms.modules.data.entity.CustomerRepository | |||||
| import com.ffii.tsms.modules.data.entity.CustomerTypeRepository | |||||
| import com.ffii.tsms.modules.data.web.models.SaveCustomerResponse | |||||
| import com.ffii.tsms.modules.project.web.models.SaveCustomerRequest | |||||
| import org.springframework.beans.BeanUtils | |||||
| import org.springframework.stereotype.Service | |||||
| import java.util.Optional | |||||
| @Service | |||||
| open class DashboardService( | |||||
| private val customerRepository: CustomerRepository, | |||||
| private val customerTypeRepository: CustomerTypeRepository, | |||||
| private val customerSubsidiaryService: CustomerSubsidiaryService, | |||||
| private val customerContactService: CustomerContactService, | |||||
| private val jdbcDao: JdbcDao | |||||
| ) { | |||||
| fun CustomerSubsidiary(args: Map<String, Any>): List<Map<String, Any>> { | |||||
| val sql = StringBuilder("select" | |||||
| + " c.id as customerId," | |||||
| + " c.name as customerName," | |||||
| + " c.code as customerCode," | |||||
| + " c.address as customerAddress," | |||||
| + " c.district as cutomerDistrict," | |||||
| + " c.brNo as customerBrNo," | |||||
| + " c.typeId as customerTypeId," | |||||
| + " s.id as subsidiaryId," | |||||
| + " s.name as subsidiaryName," | |||||
| + " s.code as subsidiaryCode," | |||||
| + " s.address as subsidiaryAddress," | |||||
| + " s.district as subsidiaryDistrict," | |||||
| + " s.brNo as subsidiaryBrNo," | |||||
| + " s.typeId as subsidiaryTypeId" | |||||
| + " from customer c" | |||||
| + " left join customer_subsidiary cs on c.id = cs.customerId" | |||||
| + " left join subsidiary s on cs.subsidiaryId = s.id" | |||||
| + " where c.deleted = 0" | |||||
| ) | |||||
| if (args != null) { | |||||
| if (args.containsKey("customerName")) | |||||
| sql.append(" AND c.name = :customerName"); | |||||
| if (args.containsKey("customerCode")) | |||||
| sql.append(" AND c.code = :customerCode"); | |||||
| } | |||||
| return jdbcDao.queryForList(sql.toString(), args) | |||||
| } | |||||
| } | |||||
| @@ -0,0 +1,52 @@ | |||||
| package com.ffii.tsms.modules.data.web | |||||
| import com.ffii.tsms.modules.data.entity.Customer | |||||
| import com.ffii.tsms.modules.data.entity.CustomerType | |||||
| import com.ffii.tsms.modules.data.service.CustomerContactService | |||||
| import com.ffii.tsms.modules.data.service.CustomerService | |||||
| import com.ffii.tsms.modules.data.service.CustomerSubsidiaryService | |||||
| import com.ffii.tsms.modules.data.service.DashboardService | |||||
| import com.ffii.tsms.modules.data.web.models.CustomerResponse | |||||
| import com.ffii.tsms.modules.data.web.models.SaveCustomerResponse | |||||
| import com.ffii.tsms.modules.project.web.models.SaveCustomerRequest | |||||
| import org.springframework.web.bind.annotation.GetMapping | |||||
| import org.springframework.web.bind.annotation.RequestMapping | |||||
| import org.springframework.web.bind.annotation.RestController | |||||
| import org.springframework.web.bind.annotation.RequestBody | |||||
| import org.springframework.web.bind.annotation.PostMapping | |||||
| import org.springframework.web.bind.annotation.PathVariable | |||||
| import jakarta.validation.Valid | |||||
| import org.springframework.http.HttpStatus | |||||
| import jakarta.servlet.http.HttpServletRequest | |||||
| import org.springframework.web.bind.annotation.DeleteMapping | |||||
| import org.springframework.web.bind.annotation.ResponseStatus | |||||
| import com.ffii.core.response.RecordsRes | |||||
| import com.ffii.core.utils.CriteriaArgsBuilder | |||||
| @RestController | |||||
| @RequestMapping("/dashboard") | |||||
| class DashboardController( | |||||
| private val customerService: CustomerService, | |||||
| private val customerSubsidiaryService: CustomerSubsidiaryService, | |||||
| private val customerContactService: CustomerContactService, | |||||
| private val dashboardService: DashboardService | |||||
| ) { | |||||
| @GetMapping("/searchCustomerSubsidiary") | |||||
| fun searchCustomerSubsidiary(request: HttpServletRequest?): List<Map<String, Any>> { | |||||
| val customerName = request?.getParameter("customerName") | |||||
| val customerCode = request?.getParameter("customerCode") | |||||
| val args = mutableMapOf<String, Any>() | |||||
| if (customerName != null) { | |||||
| args["customerName"] = customerName | |||||
| } | |||||
| if (customerCode != null) { | |||||
| args["customerCode"] = customerCode | |||||
| } | |||||
| return dashboardService.CustomerSubsidiary(args) | |||||
| // return dashboardService.CustomerSubsidiary( | |||||
| // CriteriaArgsBuilder.withRequest(request) | |||||
| // .build() | |||||
| // ) | |||||
| } | |||||
| } | |||||