Procházet zdrojové kódy

后端代码提交

mashengyi před 3 roky
rodič
revize
f84f2b5a65

+ 1 - 1
src/main/java/com/jkcredit/invoice/controller/localBussiness/CustomerController.java

@@ -315,7 +315,7 @@ public class CustomerController {
         if(StringUtils.isNotEmpty(customerRec.getServiceEndTime())  && !"null".equals(customerRec.getServiceEndTime())){
             String [] res =customerRec.getServiceEndTime().split(",");
             customerRec.setServiceEndTimeStart(res[0]);
-            customerRec.setServiceEndTimeEnd(res[1]);
+            customerRec.setServiceEndTimeEnd(res[1].replace("00:00:00","23:59:59"));
             ipage = customerRecService.findAllCustomerRec(page, customerRec);
         }else{
             Param param = paramService.getParamsByParamName("CUST_EARLY_WARNING");

+ 23 - 9
src/main/java/com/jkcredit/invoice/controller/localBussiness/NoCarController.java

@@ -80,7 +80,7 @@ public class NoCarController {
             if(!StringUtils.isEmpty(customerCarRec.getStartTime()) && !"null".equals(customerCarRec.getStartTime())){
                 String [] res = customerCarRec.getStartTime().split(",");
                 customerCarRec.setStartTime(res[0]);
-                customerCarRec.setEndTime(res[1]);
+                customerCarRec.setEndTime(res[1].replace("00:00:00","23:59:59"));
             }else{
                 customerCarRec.setStartTime(null);
             }
@@ -95,14 +95,14 @@ public class NoCarController {
         if(!StringUtils.isEmpty(noCarWayBill.getStartBegin()) && !"null".equals(noCarWayBill.getStartBegin())){
             String [] res = noCarWayBill.getStartBegin().split(",");
             noCarWayBill.setStartBegin(res[0]);
-            noCarWayBill.setStartEnd(res[1]);
+            noCarWayBill.setStartEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             noCarWayBill.setStartBegin(null);
         }
         if(!StringUtils.isEmpty(noCarWayBill.getEndBegin()) && !"null".equals(noCarWayBill.getEndBegin())){
             String [] res = noCarWayBill.getEndBegin().split(",");
             noCarWayBill.setEndBegin(res[0]);
-            noCarWayBill.setEndEnd(res[1]);
+            noCarWayBill.setEndEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             noCarWayBill.setEndBegin(null);
         }
@@ -249,12 +249,12 @@ public class NoCarController {
             if(!StringUtils.isEmpty(billInvoice.getInvoiceMakeTime()) && !"null".equals(billInvoice.getInvoiceMakeTime())){
                 String [] res =billInvoice.getInvoiceMakeTime().split(",");
                 billInvoice.setInvoiceMakeStart(res[0]);
-                billInvoice.setInvoiceMakeEnd(res[1]);
+                billInvoice.setInvoiceMakeEnd(res[1].replace("00:00:00","23:59:59"));
             }
             if(!StringUtils.isEmpty(billInvoice.getCalculateTime()) && !"null".equals(billInvoice.getCalculateTime())){
                 String [] res =billInvoice.getCalculateTime().split(",");
                 billInvoice.setCalculateTimeStart(res[0]);
-                billInvoice.setCalculateTimeEnd(res[1]);
+                billInvoice.setCalculateTimeEnd(res[1].replace("00:00:00","23:59:59"));
             }
             RespR respR = new RespR(nocarInvoiceService.findByPageAndInvoice(page, billInvoice));
             return respR;
@@ -421,6 +421,7 @@ public class NoCarController {
         }
     }
     public void buildDate(List<NoCarWayBill> list){
+        StringBuffer sb = new StringBuffer();
         DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         int i = 0;
         for(NoCarWayBill noCarWayBill:list){
@@ -433,19 +434,32 @@ public class NoCarController {
                 noCarWayBill.setTaxplayerCode(noCarWayBill.getTaxplayerCode().trim());
                 noCarWayBill.setBillNum(noCarWayBill.getBillNum().trim());
             }catch (Exception e){
+                sb.append(noCarWayBill.getBillNum()+"#");
                 log.info(noCarWayBill.getBillNum());
                 i++;
             }
 
         }
         if(i>0){
-            throw new RuntimeException("数据存在错误,请检查文件中数据,金额是否有空的,时间是否全是时间格式");
+            throw new RuntimeException(sb.toString()+"数据存在错误,请检查文件中数据,金额是否有空的,时间是否全是时间格式");
         }
     }
     public void buildDateEnd(List<NoCarWayBill> list){
         DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        int i = 0;
+        StringBuffer sb = new StringBuffer();
         for(NoCarWayBill noCarWayBill:list){
-            noCarWayBill.setPredictEndTime(format.format(noCarWayBill.getActEndTimeDate()));
+            try{
+                noCarWayBill.setPredictEndTime(format.format(noCarWayBill.getActEndTimeDate()));
+            }catch (Exception e){
+                sb.append(noCarWayBill.getBillNum()+"#");
+                log.info(noCarWayBill.getBillNum());
+                i++;
+            }
+
+        }
+        if(i>0){
+            throw new RuntimeException(sb.toString()+"数据存在错误,请检查文件中数据,金额是否有空的,时间是否全是时间格式");
         }
     }
     /**
@@ -550,14 +564,14 @@ public class NoCarController {
         if(!StringUtils.isEmpty(carCalculateInfor.getInvoiceMakeTime()) && !"null".equals(carCalculateInfor.getInvoiceMakeTime())){
             String [] res = carCalculateInfor.getInvoiceMakeTime().split(",");
             carCalculateInfor.setInvoiceMakeStart(res[0]);
-            carCalculateInfor.setInvoiceMakeEnd(res[1]);
+            carCalculateInfor.setInvoiceMakeEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             carCalculateInfor.setInvoiceMakeTime(null);
         }
         if(!StringUtils.isEmpty(carCalculateInfor.getCalculateTime()) && !"null".equals(carCalculateInfor.getCalculateTime())){
             String [] res = carCalculateInfor.getCalculateTime().split(",");
             carCalculateInfor.setCalculateStart(res[0]);
-            carCalculateInfor.setCalculateEnd(res[1]);
+            carCalculateInfor.setCalculateEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             carCalculateInfor.setCalculateTime(null);
         }

+ 3 - 3
src/main/java/com/jkcredit/invoice/controller/localBussiness/SelfCarController.java

@@ -103,14 +103,14 @@ public class SelfCarController {
         if(!StringUtils.isEmpty(selfCarTrade.getAclTimeBegin()) && !"null".equals(selfCarTrade.getAclTimeBegin())){
             String [] res = selfCarTrade.getAclTimeBegin().split(",");
             selfCarTrade.setAclTimeBegin(res[0]);
-            selfCarTrade.setAclTimeEnd(res[1]);
+            selfCarTrade.setAclTimeEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             selfCarTrade.setAclTimeBegin(null);
         }
         if(!StringUtils.isEmpty(selfCarTrade.getExTimeBegin()) && !"null".equals(selfCarTrade.getExTimeBegin())){
             String [] res = selfCarTrade.getExTimeBegin().split(",");
             selfCarTrade.setExTimeBegin(res[0]);
-            selfCarTrade.setExTimeEnd(res[1]);
+            selfCarTrade.setExTimeEnd(res[1].replace("00:00:00","23:59:59"));
         }else{
             selfCarTrade.setExTimeBegin(null);
         }
@@ -129,7 +129,7 @@ public class SelfCarController {
             if(!StringUtils.isEmpty(selfCarInvoice.getInvoiceMakeTime()) && !"null".equals(selfCarInvoice.getInvoiceMakeTime())){
                 String [] res =selfCarInvoice.getInvoiceMakeTime().split(",");
                 selfCarInvoice.setInvoiceMakeStart(res[0]);
-                selfCarInvoice.setInvoiceMakeEnd(res[1]);
+                selfCarInvoice.setInvoiceMakeEnd(res[1].replace("00:00:00","23:59:59"));
             }
             RespR respR = new RespR(selfCarInvoiceService.findByPageAndInvoice(page, selfCarInvoice));
             return respR;

+ 68 - 11
src/main/java/com/jkcredit/invoice/credit/custInterface/NoCarInterServiceImpl.java

@@ -1,6 +1,7 @@
 package com.jkcredit.invoice.credit.custInterface;
 
 import cn.com.taiji.sdk.model.comm.protocol.tts.trade.service.CardTradeModel;
+import cn.com.taiji.sdk.model.comm.protocol.tts.vehicle.VehicleQueryResponse;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.jkcredit.invoice.common.DataResult;
@@ -263,15 +264,22 @@ public class NoCarInterServiceImpl implements NoCarInterService {
             ){
                 return  result;
             }
-
-            CustomerCarRec customerCarRec1 = customerCarRecMapper.selectByCarNum(plateNumber);
-            if (null == customerCarRec1){
+            CustomerRec customerRec = new CustomerRec();
+            customerRec.setCustomerName(appKey);
+            customerRec.setCompanyReferencenum(taxplayerCode);
+            customerRec = customerRecMapper.selectByCustomerNameAndCompanyReference(customerRec);
+            if(customerRec == null){
+                result.setMsg("客户:"+appKey+";税号"+taxplayerCode+"未在平台备案成功,请先做备案");
                 return result;
             }
+           /* CustomerCarRec customerCarRec1 = customerCarRecMapper.selectByCarNum(plateNumber);
+            if (null == customerCarRec1){
+                return result;
+            }*/
 
             NoCarWayBill noCarWayBill = new NoCarWayBill();
             noCarWayBill.setCustomerName(appKey);
-            noCarWayBill.setCompanyName(customerCarRec1.getCompanyName());
+            noCarWayBill.setCompanyName(customerRec.getCompanyName());
             noCarWayBill.setPlateNum(plateNumber);
             noCarWayBill.setBillNum(num);
             noCarWayBill.setPlateColor(plateColor);
@@ -282,10 +290,34 @@ public class NoCarInterServiceImpl implements NoCarInterService {
             noCarWayBill.setFee(fee.longValue());
             noCarWayBill.setTitleType(titleType);
             noCarWayBill.setTaxplayerCode(taxplayerCode);
+            noCarWayBill.setHisFlag(0);
+
             NoCarWayBill noCarWayBillDb = noCarWaybillMapper.selectByBillNum(noCarWayBill.getBillNum());
 
             if(noCarWayBillDb!=null && (noCarWayBillDb.getBillwayStatus() == 1||noCarWayBillDb.getBillwayStatus() == 2 || noCarWayBillDb.getBillwayStatus() == 3 || noCarWayBillDb.getBillwayStatus() == 4)) {
-                noCarWaybillMapperImprt.updateBillway(-2, "失败,运单号重复", noCarWayBill);
+                result.setMsg("运单号重复");
+                return result;
+            }
+            List<CustomerCarRec> customerCarRecs = new ArrayList<>();
+            CustomerCarRec customerCarRec = new CustomerCarRec();
+            customerCarRec.setCompanyName(noCarWayBill.getCompanyName());
+            customerCarRec.setCarNum(noCarWayBill.getPlateNum());
+            customerCarRec.setCarColor(noCarWayBill.getPlateColor());
+            customerCarRec.setCustomerName(appKey);
+            customerCarRec.setInterType(0);
+            customerCarRec.setCompanyNum(customerRec.getCompanyNum());
+            customerCarRec.setBusinessType("2");
+            customerCarRec.setServiceOperation(1);//默认运营车辆
+            noCarWayBill.setTitleType(2);
+            //先查询上游是否已经备案
+            RespR<VehicleQueryResponse> respRquery = noCarService.customerCarRecQueryUpper(customerCarRec);
+            if(respRquery.getCode() == 1 || respRquery.getData() == null || respRquery.getData().getResult() == null || respRquery.getData().getResult().size()<=0){
+                customerCarRecs.add(customerCarRec);
+                RespR respR = noCarService.customerCarRec(customerCarRecs);
+                if(respR.getCode() ==1){
+                    result.setMsg("车牌号备案失败,失败原因:"+respR.getMsg());
+                    return result;
+                }
             }
             RespR rs = noCarService.noCarWaybillStart(noCarWayBill);
             long costtimeend = System.currentTimeMillis();
@@ -434,14 +466,18 @@ public class NoCarInterServiceImpl implements NoCarInterService {
                 return  result;
             }
 
-            CustomerCarRec customerCarRec1 = customerCarRecMapper.selectByCarNum(plateNumber);
-            if (null == customerCarRec1){
+            CustomerRec customerRec = new CustomerRec();
+            customerRec.setCustomerName(appKey);
+            customerRec.setCompanyReferencenum(taxplayerCode);
+            customerRec = customerRecMapper.selectByCustomerNameAndCompanyReference(customerRec);
+            if(customerRec == null){
+                result.setMsg("客户:"+appKey+";税号"+taxplayerCode+"未在平台备案成功,请先做备案");
                 return result;
             }
 
             NoCarWayBill noCarWayBill = new NoCarWayBill();
             noCarWayBill.setCustomerName(appKey);
-            noCarWayBill.setCompanyName(customerCarRec1.getCompanyName());
+            noCarWayBill.setCompanyName(customerRec.getCompanyName());
             noCarWayBill.setPlateNum(plateNumber);
             noCarWayBill.setBillNum(num);
             noCarWayBill.setPlateColor(plateColor);
@@ -457,10 +493,31 @@ public class NoCarInterServiceImpl implements NoCarInterService {
             NoCarWayBill noCarWayBillDb = noCarWaybillMapper.selectByBillNum(noCarWayBill.getBillNum());
 
             if(noCarWayBillDb!=null && (noCarWayBillDb.getBillwayStatus() == 1||noCarWayBillDb.getBillwayStatus() == 2 || noCarWayBillDb.getBillwayStatus() == 3 || noCarWayBillDb.getBillwayStatus() == 4)) {
-                noCarWaybillMapperImprt.updateBillway(-2, "失败,运单号重复", noCarWayBill);
+                result.setMsg("运单号重复");
+                return result;
             }
-
-                RespR rs = noCarService.noCarHisWaybillStart(noCarWayBill);
+            List<CustomerCarRec> customerCarRecs = new ArrayList<>();
+            CustomerCarRec customerCarRec = new CustomerCarRec();
+            customerCarRec.setCompanyName(noCarWayBill.getCompanyName());
+            customerCarRec.setCarNum(noCarWayBill.getPlateNum());
+            customerCarRec.setCarColor(noCarWayBill.getPlateColor());
+            customerCarRec.setCustomerName(appKey);
+            customerCarRec.setInterType(0);
+            customerCarRec.setCompanyNum(customerRec.getCompanyNum());
+            customerCarRec.setBusinessType("2");
+            customerCarRec.setServiceOperation(1);//默认运营车辆
+            noCarWayBill.setTitleType(2);
+            //先查询上游是否已经备案
+            RespR<VehicleQueryResponse> respRquery = noCarService.customerCarRecQueryUpper(customerCarRec);
+            if(respRquery.getCode() == 1 || respRquery.getData() == null || respRquery.getData().getResult() == null || respRquery.getData().getResult().size()<=0){
+                customerCarRecs.add(customerCarRec);
+                RespR respR = noCarService.customerCarRec(customerCarRecs);
+                if(respR.getCode() ==1){
+                    result.setMsg("车牌号备案失败,失败原因:"+respR.getMsg());
+                    return result;
+                }
+            }
+            RespR rs = noCarService.noCarHisWaybillStart(noCarWayBill);
             long costtimeend = System.currentTimeMillis();
             log.info("[-NoCarInterServiceImpl.noCarHisWaybillStart-] result is "
                     + rs.toString() + ", request is " + data + " ,costtime="

+ 2 - 2
src/main/java/com/jkcredit/invoice/service/customer/impl/CustomerServiceImpl.java

@@ -73,10 +73,10 @@ public class CustomerServiceImpl extends ServiceImpl<CustomerMapper,Customer> im
         }
         Customer customer = customerMapper.selectByCustomerName(customerRecharge.getCustomerName());
         Double currentMoney = MathUtil.add(customer.getAccountBalance(),customerRecharge.getRechargeMony());
-        if(currentMoney.compareTo(0.0) < 0){
+        /*if(currentMoney.compareTo(0.0) < 0){
             log.error("充值失败:CustomerServiceImpl.customRecharge:" + currentMoney);
             return false;
-        }
+        }*/
         customer.setAccountBalance(currentMoney);
         customerMapper.updateByPrimaryKeySelective(customer);
         customerRecharge.setRechargeTime(DateUtil.getCurrentDateStr());

+ 11 - 29
src/main/java/com/jkcredit/invoice/service/lowerService/impl/NoCarServiceImpl.java

@@ -292,10 +292,6 @@ public class NoCarServiceImpl implements NoCarService{
         if(customerRec == null || customerRec.getRecStatus()!=1){
             return new RespR(false,"客户未备案或备案失败");
         }
-        CustomerCarRec customerCarRec = customerCarRecMapper.selectByCarNum(noCarWayBill.getPlateNum());
-        if(customerCarRec == null || customerCarRec.getRecStatus() !=1 ){
-            return new RespR(false,"未正常备案的车辆");
-        }
         noCarWayBill.setCompanyNum(customerRec.getCompanyNum());
         noCarWayBill.setCompanyAdress(customerRec.getCompanyAdress());
         noCarWayBill.setCompanyTel(customerRec.getCompanyPhone());
@@ -308,19 +304,15 @@ public class NoCarServiceImpl implements NoCarService{
         log.info("运单结束开始:NoCarServiceImpl.noCarWaybillEnd{}",noCarWayBill);
         //查询运单号为开始指令
         NoCarWayBill noCarWayBill1 = noCarWaybillMapper.selectByBillNum(noCarWayBill.getBillNum());
-        if(noCarWayBill1 == null || noCarWayBill1.getBillwayStatus() !=1 || noCarWayBill.getHisFlag() ==1 ){
+
+        if(noCarWayBill1 == null || noCarWayBill1.getBillwayStatus() !=1 || noCarWayBill1.getHisFlag() ==1 ){
             log.info("运单结束失败:NoCarServiceImpl.noCarWaybillEnd{},msg{}",noCarWayBill,"当前运单状态无法结束,请检查当前指令状态");
-            if(noCarWayBill1 == null){
-                noCarWayBill.setBillwayStatus(-2);
-            }
-            noCarWayBill.setFailReason("当前运单状态无法结束,请检查当前指令状态");
-            insertOrUpdateBill(noCarWayBill);
-            return new RespR(false,"当前运单状态无法结束");
+            return new RespR(false,"当前运单状态无法结束,请检查当前指令状态");
         }
         noCarWayBill1.setDestAddr(noCarWayBill.getDestAddr());
         noCarWayBill1.setPredictEndTime(noCarWayBill.getPredictEndTime());
         noCarWayBill1.setBatchNumEnd(noCarWayBill.getBatchNumEnd());
-        if(DateUtil.getDistanceHours(noCarWayBill.getStartTime(),DateUtil.StringToDate(noCarWayBill.getPredictEndTime()))<-96){
+        if(DateUtil.getDistanceHours(noCarWayBill1.getStartTime(),DateUtil.StringToDate(noCarWayBill1.getPredictEndTime()))<-96){
             //noCarWayBill1.setBillwayStatus(4);
             noCarWayBill1.setFailReason("失败,承运时长超96小时");
             noCarWaybillMapper.updateByBillNum(noCarWayBill1);
@@ -369,6 +361,7 @@ public class NoCarServiceImpl implements NoCarService{
         }
         if(DateUtil.getDistanceHours(noCarWayBill.getStartTime(),DateUtil.StringToDate(noCarWayBill.getPredictEndTime()))<-96){
             log.info("运单结束失败:NoCarServiceImpl.noCarWaybillStart{},msg{}",noCarWayBill,"运单已经超时,请拆分");
+            noCarWaybillMapper.updateByBillNum(noCarWayBill1);
             return new RespR(false,"失败,承运时长超96小时");
         }
 
@@ -382,6 +375,8 @@ public class NoCarServiceImpl implements NoCarService{
 
         if(responseRespR.getCode() == 1){
             log.info("历史运单开始上传失败:NoCarServiceImpl.noCarHisWaybillStart{},msg{}",noCarWayBill,responseRespR.getMsg());
+            noCarWayBill1.setFailReason(responseRespR.getMsg());
+            noCarWaybillMapper.updateByBillNum(noCarWayBill1);
             return new RespR(false,responseRespR.getMsg());
         }else{
             noCarWayBill.setIntfaceStartTime(DateUtil.getCurrentDateStr());
@@ -420,27 +415,14 @@ public class NoCarServiceImpl implements NoCarService{
         //查询运单号为开始指令
         NoCarWayBill noCarWayBill1 = noCarWaybillMapper.selectByBillNum(noCarWayBill.getBillNum());
         if(noCarWayBill1 == null || noCarWayBill1.getBillwayStatus() !=1 || noCarWayBill.getHisFlag() ==0 ){
-            log.info("运单结束失败:NoCarServiceImpl.noCarWaybillEnd{},msg{}",noCarWayBill,"当前运单状态无法结束");
-            if(noCarWayBill1 == null){
-                noCarWayBill1.setBillwayStatus(-2);
-            }
-            noCarWayBill1.setFailReason("当前运单状态无法结束,请检查当前指令状态");
-            insertOrUpdateBill(noCarWayBill1);
-            return new RespR(false,"当前运单状态无法结束");
+            log.info("运单结束失败:NoCarServiceImpl.noCarWaybillEnd{},msg{}",noCarWayBill,"当前运单状态无法结束,请检查当前指令状态");
+            return new RespR(false,"当前运单状态无法结束,请检查当前指令状态");
         }
         noCarWayBill1.setDestAddr(noCarWayBill.getDestAddr());
         noCarWayBill1.setPredictEndTime(noCarWayBill.getPredictEndTime());
         if(DateUtil.getDistanceHours(noCarWayBill.getStartTime(),DateUtil.StringToDate(noCarWayBill.getPredictEndTime()))<-96){
-            noCarWayBill1.setBillwayStatus(-3);
-            noCarWayBill1.setFailReason("运单已经超时,请拆分");
-            noCarWaybillMapper.updateByBillNum(noCarWayBill1);
             log.info("历史运单结束上传失败:NoCarServiceImpl.noCarHisWaybillEnd{},msg{}",noCarWayBill,"运单已经超时,请拆分");
-            return new RespR(false,"运单已经超时,请拆分");
-        }
-
-        if(noCarWayBill1 == null || noCarWayBill1.getBillwayStatus() !=1 || noCarWayBill1.getHisFlag() ==0 ){
-            log.info("历史运单结束上传失败:NoCarServiceImpl.noCarHisWaybillEnd{},msg{}",noCarWayBill,"当前运单状态无法结束");
-            return new RespR(false,"当前运单状态无法结束");
+            return new RespR(false,"失败,承运时长超96小时");
         }
         WaybillEndRequest waybillEndRequest = new WaybillEndRequest();
         String companyNum = paramService.getParamsByParamName("REQUEST_COMPANY_NUM").getParamValue();
@@ -460,7 +442,7 @@ public class NoCarServiceImpl implements NoCarService{
             noCarWayBill.setBillwayStatus(4);
             noCarWaybillMapper.updateByBillNum(noCarWayBill1);
             log.info("历史运单结束上传失败:NoCarServiceImpl.noCarHisWaybillEnd{},msg{}",noCarWayBill1,"运单已经超时,请拆分");
-            return new RespR(false,"运单已经超时,请拆分");
+            return new RespR(false,"运单已经超时");
         }
         noCarWayBill1.setInterfaceEndTime(DateUtil.getCurrentDateStr());
         noCarWayBill1.setBillwayStatus(2);

+ 1 - 1
src/main/resources/mapper/customer/CustomerRecMapper.xml

@@ -114,7 +114,7 @@
     select
     <include refid="Base_Column_List" />
     from t_customer_rec
-    where customerName = #{customerName,jdbcType=VARCHAR} AND company_referenceNum =  #{companyReferencenum,jdbcType=VARCHAR}
+    where customerName = #{customerName,jdbcType=VARCHAR} AND company_referenceNum =  #{companyReferencenum,jdbcType=VARCHAR} and rec_status =1
   </select>
   <select id="selectByCustomerNameAndCompanyConcat" resultMap="BaseResultMap" parameterType="com.jkcredit.invoice.model.entity.customer.CustomerRec" >
     select