Compare commits
6
Commits
cac5f79a40
..
jaeeun
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5ac3011085 | ||
|
|
055a2bed6d | ||
|
|
fa473e8728 | ||
|
|
eb9b91cb7c | ||
|
|
1de5589ef2 | ||
|
|
2e56108a3b |
@@ -12,7 +12,7 @@ public class ChgrResponseDto {
|
|||||||
private String chgrId;
|
private String chgrId;
|
||||||
private String chgrNm;
|
private String chgrNm;
|
||||||
private String speedTp;
|
private String speedTp;
|
||||||
private String chgrTp;
|
private String chgrType;
|
||||||
private double gpsXpos;
|
private double gpsXpos;
|
||||||
private double gpsYpos;
|
private double gpsYpos;
|
||||||
private String locInfo;
|
private String locInfo;
|
||||||
@@ -29,7 +29,7 @@ public class ChgrResponseDto {
|
|||||||
chgr.setStNm(this.stNm);
|
chgr.setStNm(this.stNm);
|
||||||
chgr.setChgrNm(this.chgrNm);
|
chgr.setChgrNm(this.chgrNm);
|
||||||
chgr.setSpeedTp(this.speedTp);
|
chgr.setSpeedTp(this.speedTp);
|
||||||
chgr.setChgrTp(this.chgrTp);
|
chgr.setChgrTp(this.chgrType);
|
||||||
return chgr;
|
return chgr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ public class ChgrHist extends BaseStEntity {
|
|||||||
@Column(name = "CHGR_ID", nullable = false)
|
@Column(name = "CHGR_ID", nullable = false)
|
||||||
private String chgrId; // 충전기 id
|
private String chgrId; // 충전기 id
|
||||||
|
|
||||||
|
@Column(name = "CH_ID")
|
||||||
|
private Integer chId;
|
||||||
|
|
||||||
@Column(name = "ST_ID", nullable = false)
|
@Column(name = "ST_ID", nullable = false)
|
||||||
private String stId; // 충전소 id
|
private String stId; // 충전소 id
|
||||||
|
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ public class ChgrHistController extends BaseController<ChgrHist,Integer,ChgrHist
|
|||||||
|
|
||||||
@GetMapping("list")
|
@GetMapping("list")
|
||||||
public String list() throws IllegalAccessException {
|
public String list() throws IllegalAccessException {
|
||||||
|
chgrHistService.getChgrHist();
|
||||||
return path+"list";
|
return path+"list";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,4 +5,5 @@ import org.springframework.stereotype.Repository;
|
|||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface ChgrHistRepository extends BaseRecStRepository<ChgrHist,Integer> {
|
public interface ChgrHistRepository extends BaseRecStRepository<ChgrHist,Integer> {
|
||||||
|
boolean existsByChgrIdAndChIdAndRechgEDt(String chgrId, Integer chId,String rechgEDt);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ public class ChgrHistResponseDto {
|
|||||||
chgrHist.setRechgAmt(this.rechgAmt);
|
chgrHist.setRechgAmt(this.rechgAmt);
|
||||||
chgrHist.setPayFnsh(this.payFnsh);
|
chgrHist.setPayFnsh(this.payFnsh);
|
||||||
chgrHist.setRechGwh(this.rechgWh);
|
chgrHist.setRechGwh(this.rechgWh);
|
||||||
|
chgrHist.setChId(this.chId);
|
||||||
return chgrHist;
|
return chgrHist;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -30,7 +30,7 @@ public class ChgrHistService extends BaseService<ChgrHist, Integer, ChgrHistRepo
|
|||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Scheduled(cron = "0 */10 * * * *")
|
@Scheduled(cron = "0 */10 * * * *")
|
||||||
public void getChgrHist() throws IllegalAccessException {
|
public void getChgrHist() {
|
||||||
|
|
||||||
String startDt = LocalDate.now().toString();
|
String startDt = LocalDate.now().toString();
|
||||||
ApiResponse<List<ChgrHistResponseDto>> response = apiClient.fetchChgrHist(startDt, "50");
|
ApiResponse<List<ChgrHistResponseDto>> response = apiClient.fetchChgrHist(startDt, "50");
|
||||||
@@ -50,15 +50,18 @@ public class ChgrHistService extends BaseService<ChgrHist, Integer, ChgrHistRepo
|
|||||||
.map(ChgrHistResponseDto::toEntity)
|
.map(ChgrHistResponseDto::toEntity)
|
||||||
.toList();
|
.toList();
|
||||||
|
|
||||||
|
int insertCount = 0;
|
||||||
for (ChgrHist h : entityList) {
|
for (ChgrHist h : entityList) {
|
||||||
Integer id = BaseService.getId(h);
|
|
||||||
|
|
||||||
if (id != null && super.repository.existsById(id)) {
|
boolean isExist = ((ChgrHistRepository) super.repository).existsByChgrIdAndChIdAndRechgEDt(h.getChgrId(), h.getChId(),h.getRechgEDt());
|
||||||
super.update(h);
|
|
||||||
} else {
|
if (!isExist) {
|
||||||
super.insert(h);
|
super.insert(h);
|
||||||
|
insertCount++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log.info("충전이력 수집 완료: API 응답 {}건 중 신규 저장 {}건", entityList.size(), insertCount);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -79,8 +79,13 @@ public class ProviderService extends BaseService<Provider, String, ProviderRepos
|
|||||||
@Override
|
@Override
|
||||||
protected Specification<Provider> getSpecification(Provider srch) {
|
protected Specification<Provider> getSpecification(Provider srch) {
|
||||||
if (srch == null) return null;
|
if (srch == null) return null;
|
||||||
|
|
||||||
Specification<Provider> rst = null;
|
Specification<Provider> rst = null;
|
||||||
rst = addWhere(rst, srch.getProviderNm(), ProviderSpecification.providerNm(srch.getProviderNm()));
|
rst = addWhere(rst, srch.getProviderNm(), ProviderSpecification.providerNm(srch.getProviderNm()));
|
||||||
|
rst = addWhere(rst, srch.getBizTaxId(), ProviderSpecification.bizTaxId(srch.getBizTaxId()));
|
||||||
|
rst = addWhere(rst, srch.getCeo(), ProviderSpecification.ceo(srch.getCeo()));
|
||||||
|
rst = addWhere(rst, srch.getTel(), ProviderSpecification.tel(srch.getTel()));
|
||||||
|
rst = addWhere(rst, srch.getFax(), ProviderSpecification.fax(srch.getFax()));
|
||||||
return rst;
|
return rst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,28 @@
|
|||||||
package net.jwsi.jcms.vpp.provider;
|
package net.jwsi.jcms.vpp.provider;
|
||||||
|
|
||||||
|
import net.jwsi.jcms.utils.StrUtil;
|
||||||
|
import net.jwsi.jcms.vpp.rechgingList.RechgingList;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
|
|
||||||
public class ProviderSpecification {
|
public class ProviderSpecification {
|
||||||
|
|
||||||
public static Specification<Provider> providerNm(String providerNm) {
|
public static Specification<Provider> providerNm(String providerNm) {
|
||||||
return (root, query, criteriaBuilder) -> criteriaBuilder.like(root.get("providerNm"), "%"+providerNm+"%");
|
return (root, query, cb) -> cb.like(root.get("providerNm"), StrUtil.sqlLikeParam(providerNm));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Specification<Provider> bizTaxId(String bizTaxId) {
|
||||||
|
return (root, query, cb) -> cb.like(root.get("bizTaxId"), StrUtil.sqlLikeParam(bizTaxId));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Specification<Provider> ceo(String ceo) {
|
||||||
|
return (root, query, cb) -> cb.like(root.get("ceo"), StrUtil.sqlLikeParam(ceo));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Specification<Provider> tel(String tel) {
|
||||||
|
return (root, query, cb) -> cb.like(root.get("tel"), StrUtil.sqlLikeParam(tel));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Specification<Provider> fax(String fax) {
|
||||||
|
return (root, query, cb) -> cb.like(root.get("fax"), StrUtil.sqlLikeParam(fax));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,8 +48,32 @@ public class RatePlanService extends BaseService<RatePlan, Integer, RatePlanRepo
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<RatePlanResponseDto> dtoList = response.getData();
|
List<RatePlanResponseDto> dtoList = response.getData();
|
||||||
if (dtoList == null || dtoList.isEmpty()) {
|
if (dtoList == null) {
|
||||||
log.info("가져온 요금제 데이터가 없습니다.");
|
dtoList = new ArrayList<>();
|
||||||
|
}
|
||||||
|
Set<Integer> validApiIds = dtoList.stream()
|
||||||
|
.map(RatePlanResponseDto::getRatePlanId)
|
||||||
|
.collect(Collectors.toSet());
|
||||||
|
|
||||||
|
List<RatePlan> localRatePlans = ratePlanRepository.findAll();
|
||||||
|
|
||||||
|
int deleteCount = 0;
|
||||||
|
for (RatePlan localPlan : localRatePlans) {
|
||||||
|
if (!validApiIds.contains(localPlan.getRatePlanId())) {
|
||||||
|
Integer idToDelete = localPlan.getRatePlanId();
|
||||||
|
|
||||||
|
ratePlanDetailTimeRepository.deleteByRatePlanId(idToDelete);
|
||||||
|
chargerRatePlanRepository.deleteByRatePlanId(idToDelete);
|
||||||
|
|
||||||
|
ratePlanRepository.deleteById(idToDelete);
|
||||||
|
|
||||||
|
deleteCount++;
|
||||||
|
log.info("운영 DB에서 삭제된 요금제를 로컬 DB에서 제거했습니다. - ID: {}", idToDelete);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (dtoList.isEmpty()) {
|
||||||
|
log.info("가져온 요금제 데이터가 없습니다. (로컬 동기화 및 삭제 완료. 삭제 건수: {})", deleteCount);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -104,8 +128,8 @@ public class RatePlanService extends BaseService<RatePlan, Integer, RatePlanRepo
|
|||||||
chargerRatePlanRepository.saveAll(allChargerRatePlans);
|
chargerRatePlanRepository.saveAll(allChargerRatePlans);
|
||||||
}
|
}
|
||||||
|
|
||||||
log.info("요금제 동기화 완료: 마스터 {}건, 상세단가 {}건, 충전기매핑 {}건",
|
log.info("요금제 동기화 완료: 마스터 추가/수정 {}건, 삭제 {}건, 상세단가 {}건, 충전기매핑 {}건",
|
||||||
ratePlanEntities.size(), allDetailTimes.size(), allChargerRatePlans.size());
|
ratePlanEntities.size(), deleteCount, allDetailTimes.size(), allChargerRatePlans.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
public RatePlanResponseDto getRatePlanDetail(Integer ratePlanId) {
|
public RatePlanResponseDto getRatePlanDetail(Integer ratePlanId) {
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ public class RechgingListService extends BaseService<RechgingList, Long, Rechgin
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@Scheduled(cron = "0 0 0 * * *")
|
@Scheduled(cron = "0 0/15 * * * *")
|
||||||
public void getRechgingList() {
|
public void getRechgingList() {
|
||||||
ApiResponse<List<RechgingListDto>> response = apiClient.fetchRechgingList();
|
ApiResponse<List<RechgingListDto>> response = apiClient.fetchRechgingList();
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ public class RechgingListService extends BaseService<RechgingList, Long, Rechgin
|
|||||||
rst = addWhere(rst, srch.getMemAuthInputNo(), RechgingListSpecification.memAuthInputNo(srch.getMemAuthInputNo()));
|
rst = addWhere(rst, srch.getMemAuthInputNo(), RechgingListSpecification.memAuthInputNo(srch.getMemAuthInputNo()));
|
||||||
rst = addWhere(rst, srch.getCreditPPayTrxNo(), RechgingListSpecification.creditPPayTrxNo(srch.getCreditPPayTrxNo()));
|
rst = addWhere(rst, srch.getCreditPPayTrxNo(), RechgingListSpecification.creditPPayTrxNo(srch.getCreditPPayTrxNo()));
|
||||||
rst = addWhere(rst, srch.getCreditPPayTrxDt(), RechgingListSpecification.creditPPayTrxDt(srch.getCreditPPayTrxDt()));
|
rst = addWhere(rst, srch.getCreditPPayTrxDt(), RechgingListSpecification.creditPPayTrxDt(srch.getCreditPPayTrxDt()));
|
||||||
rst = addWhere(rst, srch.getRechgSdt(), RechgingListSpecification.rechgSdt(srch.getRechgSdt()));
|
rst = addWhere(rst, srch.getRechgSdt(), RechgingListSpecification.rechgSdtBetween(srch.getRechgSdt()));
|
||||||
rst = addWhere(rst, srch.getPayType(), RechgingListSpecification.payType(srch.getPayType()));
|
rst = addWhere(rst, srch.getPayType(), RechgingListSpecification.payType(srch.getPayType()));
|
||||||
return rst;
|
return rst;
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package net.jwsi.jcms.vpp.rechgingList;
|
|||||||
import net.jwsi.jcms.base.BaseSpecification;
|
import net.jwsi.jcms.base.BaseSpecification;
|
||||||
import net.jwsi.jcms.utils.StrUtil;
|
import net.jwsi.jcms.utils.StrUtil;
|
||||||
import org.springframework.data.jpa.domain.Specification;
|
import org.springframework.data.jpa.domain.Specification;
|
||||||
|
import org.springframework.util.StringUtils;
|
||||||
|
|
||||||
public class RechgingListSpecification extends BaseSpecification {
|
public class RechgingListSpecification extends BaseSpecification {
|
||||||
|
|
||||||
@@ -34,10 +35,22 @@ public class RechgingListSpecification extends BaseSpecification {
|
|||||||
return (root, query, cb) -> cb.like(root.get("creditPPayTrxDt"), StrUtil.sqlLikeParam(creditPPayTrxDt));
|
return (root, query, cb) -> cb.like(root.get("creditPPayTrxDt"), StrUtil.sqlLikeParam(creditPPayTrxDt));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Specification<RechgingList> rechgSdt(String rechgSdt) {
|
public static Specification<RechgingList> rechgSdtBetween(String rechgSdt) {
|
||||||
return (root, query, cb) -> cb.like(root.get("rechgSdt"), StrUtil.sqlLikeParam(rechgSdt));
|
return (root, query, cb) -> {
|
||||||
|
// 날짜 파라미터가 없으면 검색 조건에서 제외 (null 반환)
|
||||||
|
if (!StringUtils.hasText(rechgSdt)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 예: "2026-07-31" -> "2026-07-31 00:00:00" ~ "2026-07-31 23:59:59"
|
||||||
|
String startDateTime = rechgSdt.trim() + " 00:00:00";
|
||||||
|
String endDateTime = rechgSdt.trim() + " 23:59:59";
|
||||||
|
|
||||||
|
return cb.between(root.get("rechgSdt"), startDateTime, endDateTime);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public static Specification<RechgingList> payType(String payType) {
|
public static Specification<RechgingList> payType(String payType) {
|
||||||
return (root, query, cb) -> cb.like(root.get("payType"), StrUtil.sqlLikeParam(payType));
|
return (root, query, cb) -> cb.like(root.get("payType"), StrUtil.sqlLikeParam(payType));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ spring:
|
|||||||
datasource:
|
datasource:
|
||||||
jcms-db:
|
jcms-db:
|
||||||
driver-class-name: org.mariadb.jdbc.Driver
|
driver-class-name: org.mariadb.jdbc.Driver
|
||||||
jdbc-url: jdbc:mariadb://localhost:3306/jcmsdb
|
jdbc-url: jdbc:mariadb://192.168.62.37:3306/jcmsdb
|
||||||
username: root
|
username: root
|
||||||
password: jcms
|
password: jcms
|
||||||
|
|
||||||
|
|||||||
@@ -60,15 +60,18 @@
|
|||||||
if (strUtil.isNotEmpty($('#rechgEDtLike').val())) {d.rechgEDt = $('#rechgEDtLike').val();}
|
if (strUtil.isNotEmpty($('#rechgEDtLike').val())) {d.rechgEDt = $('#rechgEDtLike').val();}
|
||||||
if (strUtil.isNotEmpty($('#rechgTimeLike').val())) {d.rechgTime = $('#rechgTimeLike').val();}
|
if (strUtil.isNotEmpty($('#rechgTimeLike').val())) {d.rechgTime = $('#rechgTimeLike').val();}
|
||||||
if (strUtil.isNotEmpty($('#payFnshLike').val())) {d.payFnsh = $('#payFnshLike').val();}
|
if (strUtil.isNotEmpty($('#payFnshLike').val())) {d.payFnsh = $('#payFnshLike').val();}
|
||||||
|
if (strUtil.isNotEmpty($('#chIdLike').val())) {d.chId = $('#chIdLike').val();}
|
||||||
|
|
||||||
return d;
|
return d;
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
order: [[0, 'desc']],
|
order: [[4, 'desc']],
|
||||||
columns: [
|
columns: [
|
||||||
{title: "충전소 아이디", name: "ST_ID", data: "stId", className, orderable: false},
|
{title: "충전소 아이디", name: "ST_ID", data: "stId", className, orderable: false},
|
||||||
{title: "충전기 아이디", name: "CHGR_ID", data: "chgrId", className, orderable: false},
|
{title: "충전기 아이디", name: "CHGR_ID", data: "chgrId", className, orderable: false},
|
||||||
{title: "결제구분", name: "PAY_TP", data: "payTp", className, orderable: false},
|
{title: "결제구분", name: "PAY_TP", data: "payTp", className, orderable: false},
|
||||||
{title: "충전기타입 코드", name: "CHGR_TP", data: "plugTp", className, orderable: false},
|
{title: "채널", name: "CH_ID", data: "chId", className, orderable: false},
|
||||||
|
{title: "충전기타입 코드", name: "PLUG_TP", data: "plugTp", className, orderable: false},
|
||||||
{title: "충전 시작일시", name: "RECHG_S_DT", data: "rechgSDt", className, orderable: false},
|
{title: "충전 시작일시", name: "RECHG_S_DT", data: "rechgSDt", className, orderable: false},
|
||||||
{title: "충전 종료일시", name: "RECHG_E_DT", data: "rechgEDt", className, orderable: false},
|
{title: "충전 종료일시", name: "RECHG_E_DT", data: "rechgEDt", className, orderable: false},
|
||||||
{title: "충전시간", name: "RECHG_TIME", data: "rechgTime", className, orderable: false},
|
{title: "충전시간", name: "RECHG_TIME", data: "rechgTime", className, orderable: false},
|
||||||
@@ -134,6 +137,17 @@
|
|||||||
minLen: 0,
|
minLen: 0,
|
||||||
maxLen: 50,
|
maxLen: 50,
|
||||||
}),
|
}),
|
||||||
|
new ModalInput({
|
||||||
|
inputType: ModalInputType.text,
|
||||||
|
inputId: "chId",
|
||||||
|
inputName: "chId",
|
||||||
|
inputLabel: "채널",
|
||||||
|
inputPlaceholder: "채널",
|
||||||
|
isReq: false,
|
||||||
|
isEnable: true,
|
||||||
|
minLen: 0,
|
||||||
|
maxLen: 50,
|
||||||
|
}),
|
||||||
new ModalInput({
|
new ModalInput({
|
||||||
inputType: ModalInputType.textarea,
|
inputType: ModalInputType.textarea,
|
||||||
inputId: "payTp",
|
inputId: "payTp",
|
||||||
|
|||||||
@@ -30,12 +30,12 @@
|
|||||||
<input type="text" id="chgrIdLike" name="chgrIdLike" class="form-control" placeholder="충전기 ID 입력" maxlength="50">
|
<input type="text" id="chgrIdLike" name="chgrIdLike" class="form-control" placeholder="충전기 ID 입력" maxlength="50">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
<!-- <div class="col-lg-4 col-sm-6 col-xs-12 pb-1">-->
|
||||||
<div class="input-group">
|
<!-- <div class="input-group">-->
|
||||||
<span class="input-group-text" style="width:300px">플러그 타입</span>
|
<!-- <span class="input-group-text" style="width:300px">플러그 타입</span>-->
|
||||||
<input type="text" id="plugTypeLike" name="plugTypeLike" class="form-control" placeholder="플러그 타입 입력" maxlength="50">
|
<!-- <input type="text" id="plugTypeLike" name="plugTypeLike" class="form-control" placeholder="플러그 타입 입력" maxlength="50">-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text" style="width:300px">회원카드번호</span>
|
<span class="input-group-text" style="width:300px">회원카드번호</span>
|
||||||
@@ -48,16 +48,16 @@
|
|||||||
<input type="text" id="creditPPayTrxNoLike" name="creditPPayTrxNoLike" class="form-control" placeholder="신용카드 승인번호 입력" maxlength="50">
|
<input type="text" id="creditPPayTrxNoLike" name="creditPPayTrxNoLike" class="form-control" placeholder="신용카드 승인번호 입력" maxlength="50">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
<!-- <div class="col-lg-4 col-sm-6 col-xs-12 pb-1">-->
|
||||||
<div class="input-group">
|
<!-- <div class="input-group">-->
|
||||||
<span class="input-group-text" style="width:300px">신용카드 승인일시</span>
|
<!-- <span class="input-group-text" style="width:300px">신용카드 승인일시</span>-->
|
||||||
<input type="text" id="creditPPayTrxDtLike" name="creditPPayTrxDtLike" class="form-control" placeholder="신용카드 승인일시 입력" maxlength="50">
|
<!-- <input type="text" id="creditPPayTrxDtLike" name="creditPPayTrxDtLike" class="form-control" placeholder="신용카드 승인일시 입력" maxlength="50">-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<span class="input-group-text" style="width:300px">충전 시작일시</span>
|
<span class="input-group-text" style="width:300px">충전 시작일시</span>
|
||||||
<input type="text" id="rechgSdtLike" name="rechgSdtLike" class="form-control" placeholder="충전 시작일시 입력" maxlength="50">
|
<input type="date" id="rechgSdtLike" name="rechgSdtLike" class="form-control" placeholder="충전 시작일시 입력" maxlength="50">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="col-lg-4 col-sm-6 col-xs-12 pb-1">-->
|
<!-- <div class="col-lg-4 col-sm-6 col-xs-12 pb-1">-->
|
||||||
@@ -66,12 +66,17 @@
|
|||||||
<!-- <input type="text" id="rechgRemainTimeLike" name="rechgRemainTimeLike" class="form-control" placeholder="충전 잔여 시간 입력" maxlength="50">-->
|
<!-- <input type="text" id="rechgRemainTimeLike" name="rechgRemainTimeLike" class="form-control" placeholder="충전 잔여 시간 입력" maxlength="50">-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<!-- </div>-->
|
<!-- </div>-->
|
||||||
<div class="col-lg-4 col-sm-6 col-xs-12 pb-1">
|
<!-- <div class="col-lg-4 col-sm-6 col-xs-12 pb-1">-->
|
||||||
<div class="input-group">
|
<!-- <div class="input-group">-->
|
||||||
<span class="input-group-text" style="width:300px">결제타입</span>
|
<!-- <span class="input-group-text" style="width:300px">결제타입</span>-->
|
||||||
<input type="text" id="payTypeLike" name="payTypeLike" class="form-control" placeholder="결제타입 입력" maxlength="50">
|
<!-- <select id="payType" name="payType" class="form-select">-->
|
||||||
</div>
|
<!-- <option value="">전체</option>-->
|
||||||
</div>
|
<!-- <option value="회원카드">회원카드</option>-->
|
||||||
|
<!-- <option value="신용카드">신용카드</option>-->
|
||||||
|
<!-- <option value="무과금">무과금</option>-->
|
||||||
|
<!-- </select>-->
|
||||||
|
<!-- </div>-->
|
||||||
|
<!-- </div>-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="searchBoxFooter">
|
<div id="searchBoxFooter">
|
||||||
|
|||||||
Reference in New Issue
Block a user