From 0b746abd8340ec4e61acb7026751d60993b7a2bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E7=A3=8A?= <寮犵@LAPTOP-O3DO03BA>
Date: Tue, 5 Jun 2018 09:37:36 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BA=8C=E6=89=8B=E8=BD=A6=E8=AF=84?=
=?UTF-8?q?=E4=BC=B0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../LBEquipmentCarTempInfo.jsp | 30 ++
.../LBEquipmentCarTempList.jsp | 50 +++
WebContent/WEB-INF/etc/jbo/jbo_app.xml | 106 +++++
src_jbo/jbo/app/LB_EQUIPMENT_CAR_TEMP.java | 396 ++++++++++++++++++
4 files changed, 582 insertions(+)
create mode 100644 WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempInfo.jsp
create mode 100644 WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempList.jsp
create mode 100644 src_jbo/jbo/app/LB_EQUIPMENT_CAR_TEMP.java
diff --git a/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempInfo.jsp b/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempInfo.jsp
new file mode 100644
index 000000000..0e224f109
--- /dev/null
+++ b/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempInfo.jsp
@@ -0,0 +1,30 @@
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_info.jspf"%><%
+ /*
+ Author: undefined 2018-06-04
+ Content: 示例详情页面
+ History Log:
+ */
+ String sPrevUrl = CurPage.getParameter("PrevUrl");
+ if(sPrevUrl == null) sPrevUrl = "/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempList.jsp";
+
+ String sTempletNo = "LBEquipmentCarTempInfo";//--模板号--
+ ASObjectModel doTemp = new ASObjectModel(sTempletNo);
+ doTemp.setColTips("", "测试");
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage, doTemp,request);
+ dwTemp.Style = "2";//freeform
+ //dwTemp.ReadOnly = "-2";//只读模式
+ dwTemp.genHTMLObjectWindow(CurPage.getParameter("ID"));
+
+ String sButtons[][] = {
+ {"true","All","Button","保存","保存所有修改","as_save(0)","","","",""},
+ {String.valueOf(!com.amarsoft.are.lang.StringX.isSpace(sPrevUrl)),"All","Button","返回","返回列表","returnList()","","","",""}
+ };
+ sButtonPosition = "south";
+%><%@ include file="/Frame/resources/include/ui/include_info.jspf"%>
+
+<%@ include file="/Frame/resources/include/include_end.jspf"%>
\ No newline at end of file
diff --git a/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempList.jsp b/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempList.jsp
new file mode 100644
index 000000000..6597afc5a
--- /dev/null
+++ b/WebContent/Tenwa/Lease/App/Interface/VehicleEvaluation/LBEquipmentCarTempList.jsp
@@ -0,0 +1,50 @@
+<%@ page contentType="text/html; charset=GBK"%>
+<%@ include file="/Frame/resources/include/include_begin_list.jspf"%><%
+ /*
+ Author: undefined 2018-06-04
+ Content:
+ History Log:
+ */
+ ASObjectModel doTemp = new ASObjectModel("LBEquipmentCarTempList");
+ ASObjectWindow dwTemp = new ASObjectWindow(CurPage,doTemp,request);
+ dwTemp.Style="1"; //--设置为Grid风格--
+ dwTemp.ReadOnly = "1"; //只读模式
+ dwTemp.setPageSize(10);
+ dwTemp.genHTMLObjectWindow("");
+
+ //0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标,CSS层叠样式 10、风格
+ String sButtons[][] = {
+ {"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
+ {"true","","Button","详情","详情","viewAndEdit()","","","","btn_icon_detail",""},
+ {"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0)","","","","btn_icon_delete",""},
+ {"true","","Button","估值","估值"," vehicleAppraisement()","","","","btn_icon_check",""}
+ };
+%><%@include file="/Frame/resources/include/ui/include_list.jspf"%>
+
+<%@ include file="/Frame/resources/include/include_end.jspf"%>
\ No newline at end of file
diff --git a/WebContent/WEB-INF/etc/jbo/jbo_app.xml b/WebContent/WEB-INF/etc/jbo/jbo_app.xml
index 63ac8bb19..474843d14 100644
--- a/WebContent/WEB-INF/etc/jbo/jbo_app.xml
+++ b/WebContent/WEB-INF/etc/jbo/jbo_app.xml
@@ -4544,6 +4544,112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src_jbo/jbo/app/LB_EQUIPMENT_CAR_TEMP.java b/src_jbo/jbo/app/LB_EQUIPMENT_CAR_TEMP.java
new file mode 100644
index 000000000..f40426d5b
--- /dev/null
+++ b/src_jbo/jbo/app/LB_EQUIPMENT_CAR_TEMP.java
@@ -0,0 +1,396 @@
+package jbo.app;
+
+import java.lang.String;
+
+/**
+* 汽车租赁物临时表 - JBO命名常量类
+* Note: This file is generated by ADE tools, dont modify it.
+
+*/
+public interface LB_EQUIPMENT_CAR_TEMP{
+ /**
+ * 汽车租赁物临时表
+ * 代表本类映射的BizObjectClass
+ */
+ public static final String CLASS_NAME = "jbo.app.LB_EQUIPMENT_CAR_TEMP";
+ /**
+ * 标识 STRING(32)
+ */
+ public static final String ID = "ID";
+ /**
+ * 项目编号 STRING(32)
+ */
+ public static final String PROJECT_ID = "PROJECT_ID";
+ /**
+ * 合同编号 STRING(32)
+ */
+ public static final String CONTRACT_ID = "CONTRACT_ID";
+ /**
+ * 车辆类型 STRING(30)
+ */
+ public static final String DEVICE_TYPE = "DEVICE_TYPE";
+ /**
+ * 设备名称 STRING(200)
+ */
+ public static final String EQUIP_NAME = "EQUIP_NAME";
+ /**
+ * 车辆品牌 STRING(30)
+ */
+ public static final String BRAND = "BRAND";
+ /**
+ * 型号 STRING(30)
+ */
+ public static final String MODEL = "MODEL";
+ /**
+ * 数量 STRING(30)
+ */
+ public static final String EQUIP_NUM = "EQUIP_NUM";
+ /**
+ * 单价 STRING(30)
+ */
+ public static final String PRICE = "PRICE";
+ /**
+ * 单位 STRING(30)
+ */
+ public static final String UNIT = "UNIT";
+ /**
+ * 交易价格 STRING(30)
+ */
+ public static final String EQUIP_PRICE = "EQUIP_PRICE";
+ /**
+ * 设备原值 STRING(30)
+ */
+ public static final String TOTAL = "TOTAL";
+ /**
+ * 车辆指导价 STRING(30)
+ */
+ public static final String NOW_TOTAL = "NOW_TOTAL";
+ /**
+ * 供应商id STRING(32)
+ */
+ public static final String VNDR = "VNDR";
+ /**
+ * 供应商 STRING(200)
+ */
+ public static final String VNDR_NAME = "VNDR_NAME";
+ /**
+ * 制造商id STRING(32)
+ */
+ public static final String MANUFACTURER = "MANUFACTURER";
+ /**
+ * 生产商 STRING(200)
+ */
+ public static final String MANUFACTURER_NAME = "MANUFACTURER_NAME";
+ /**
+ * 设备序列号 STRING(30)
+ */
+ public static final String EQUIP_NUMBER = "EQUIP_NUMBER";
+ /**
+ * 交付地点 STRING(100)
+ */
+ public static final String EQUIP_DELIVERY_PLACE = "EQUIP_DELIVERY_PLACE";
+ /**
+ * 交付时间 STRING(30)
+ */
+ public static final String EQUIP_DELIVERY_DATE = "EQUIP_DELIVERY_DATE";
+ /**
+ * 设备设置地址 STRING(100)
+ */
+ public static final String EQUIP_PLACE = "EQUIP_PLACE";
+ /**
+ * 其他配置说明 STRING(1000)
+ */
+ public static final String MEMO = "MEMO";
+ /**
+ * 数据状态 STRING(32)
+ */
+ public static final String DATA_STATE = "DATA_STATE";
+ /**
+ * 是否在流程中 STRING(1000)
+ */
+ public static final String IS_FLOW = "IS_FLOW";
+ /**
+ * 状态 STRING(1000)
+ */
+ public static final String STATUS = "STATUS";
+ /**
+ * 流程编号 STRING(32)
+ */
+ public static final String FLOWUNID = "FLOWUNID";
+ /**
+ * 登记人 STRING(32)
+ */
+ public static final String INPUTUSERID = "INPUTUSERID";
+ /**
+ * 登记部门 STRING(32)
+ */
+ public static final String INPUTORGID = "INPUTORGID";
+ /**
+ * 登记时间 STRING(32)
+ */
+ public static final String INPUTTIME = "INPUTTIME";
+ /**
+ * 更新人 STRING(32)
+ */
+ public static final String UPDATEUSERID = "UPDATEUSERID";
+ /**
+ * 更新部门 STRING(32)
+ */
+ public static final String UPDATEORGID = "UPDATEORGID";
+ /**
+ * 更新时间 STRING(32)
+ */
+ public static final String UPDATETIME = "UPDATETIME";
+ /**
+ * 车架号 STRING(100)
+ */
+ public static final String FRAME_NUMBER = "FRAME_NUMBER";
+ /**
+ * 发动机号 STRING(100)
+ */
+ public static final String ENGINE_NUMBER = "ENGINE_NUMBER";
+ /**
+ * 车牌号 STRING(100)
+ */
+ public static final String PLATE_NUMBER = "PLATE_NUMBER";
+ /**
+ * 租赁物类型 STRING(32)
+ */
+ public static final String EQUIP_TYPE = "EQUIP_TYPE";
+ /**
+ * 收货人 STRING(30)
+ */
+ public static final String CONSIGNEE = "CONSIGNEE";
+ /**
+ * 收货人联系电话 STRING(30)
+ */
+ public static final String CONSIGNEE_TEL = "CONSIGNEE_TEL";
+ /**
+ * 设备交付情况 STRING(30)
+ */
+ public static final String IS_DELIVERY = "IS_DELIVERY";
+ /**
+ * 交付说明 STRING(1000)
+ */
+ public static final String REMARK = "REMARK";
+ /**
+ * 驱动形式 STRING(100)
+ */
+ public static final String DRIVE_TYPE = "DRIVE_TYPE";
+ /**
+ * 车辆颜色 STRING(32)
+ */
+ public static final String CAR_COLOUR = "CAR_COLOUR";
+ /**
+ * 排量 STRING(32)
+ */
+ public static final String DISPLACEMENT = "DISPLACEMENT";
+ /**
+ * 车牌号码 STRING(32)
+ */
+ public static final String LICENSE_PLATE_NUMBER = "LICENSE_PLATE_NUMBER";
+ /**
+ * 年检有效期 STRING(32)
+ */
+ public static final String EXPIRYDATE = "EXPIRYDATE";
+ /**
+ * 驾驶人姓名 STRING(32)
+ */
+ public static final String D_NAME = "D_NAME";
+ /**
+ * 驾驶人性别 STRING(32)
+ */
+ public static final String D_SEX = "D_SEX";
+ /**
+ * 驾驶人身份证号 STRING(32)
+ */
+ public static final String D_CERTID = "D_CERTID";
+ /**
+ * 驾驶人身份证地址 STRING(200)
+ */
+ public static final String D_CERT_ADDR = "D_CERT_ADDR";
+ /**
+ * 驾驶人身份证有效期 STRING(32)
+ */
+ public static final String D_CERT_VALID = "D_CERT_VALID";
+ /**
+ * 驾驶证 STRING(32)
+ */
+ public static final String D_DRIVE = "D_DRIVE";
+ /**
+ * 驾驶人手机号码 STRING(32)
+ */
+ public static final String D_TEL = "D_TEL";
+ /**
+ * 驾驶人常住地址 STRING(200)
+ */
+ public static final String D_ADDR = "D_ADDR";
+ /**
+ * 驾驶人学历 STRING(32)
+ */
+ public static final String D_EDU_LEVEL = "D_EDU_LEVEL";
+ /**
+ * 驾驶人公司名称 STRING(100)
+ */
+ public static final String D_WORK_NAME = "D_WORK_NAME";
+ /**
+ * 驾驶人公司地址 STRING(200)
+ */
+ public static final String D_WORK_ADDR = "D_WORK_ADDR";
+ /**
+ * 驾驶人当前工作工作年限 STRING(32)
+ */
+ public static final String D_WORK_YEAR = "D_WORK_YEAR";
+ /**
+ * 驾驶人月薪 DOUBLE(22)
+ */
+ public static final String D_SALARY = "D_SALARY";
+ /**
+ * 驾驶人ID STRING(32)
+ */
+ public static final String D_ID = "D_ID";
+ /**
+ * 车系 STRING(80)
+ */
+ public static final String car_series = "car_series";
+ /**
+ * 档位 STRING(80)
+ */
+ public static final String gears = "gears";
+ /**
+ * 评估价格 STRING(32)
+ */
+ public static final String evaluated_price = "evaluated_price";
+ /**
+ * 优秀最低车商收购价 STRING(32)
+ */
+ public static final String excellent_dealer_low_buy_price = "excellent_dealer_low_buy_price";
+ /**
+ * 优秀车商收车价 STRING(32)
+ */
+ public static final String excellent_dealer_buy_price = "excellent_dealer_buy_price";
+ /**
+ * 优秀最低个人交易价 STRING(32)
+ */
+ public static final String excellent_individual_low_sold_price = "excellent_individual_low_sold_price";
+ /**
+ * 优秀个人交易价 STRING(32)
+ */
+ public static final String excellent_individual_price = "excellent_individual_price";
+ /**
+ * 优秀最低车商零售价 STRING(32)
+ */
+ public static final String excellent_dealer_low_sold_price = "excellent_dealer_low_sold_price";
+ /**
+ * 优秀车商零售价 STRING(32)
+ */
+ public static final String excellent_dealer_price = "excellent_dealer_price";
+ /**
+ * 优秀最高车商零售价 STRING(32)
+ */
+ public static final String excellent_dealer_high_sold_price = "excellent_dealer_high_sold_price";
+ /**
+ * 良好最低车商收购 STRING(32)
+ */
+ public static final String good_dealer_low_buy_price = "good_dealer_low_buy_price";
+ /**
+ * 良好车商收车价 STRING(32)
+ */
+ public static final String good_dealer_buy_price = "good_dealer_buy_price";
+ /**
+ * 良好最低个人交易价 STRING(32)
+ */
+ public static final String good_individual_low_sold_price = "good_individual_low_sold_price";
+ /**
+ * 良好个人交易价 STRING(32)
+ */
+ public static final String good_individual_price = "good_individual_price";
+ /**
+ * 良好最低车商零售价 STRING(32)
+ */
+ public static final String good_dealer_low_sold_price = "good_dealer_low_sold_price";
+ /**
+ * 良好车商零售价 STRING(32)
+ */
+ public static final String good_dealer_price = "good_dealer_price";
+ /**
+ * 良好最高车商零售价 STRING(32)
+ */
+ public static final String good_dealer_high_sold_price = "good_dealer_high_sold_price";
+ /**
+ * 普通最低车商收购 STRING(32)
+ */
+ public static final String normal_dealer_low_buy_price = "normal_dealer_low_buy_price";
+ /**
+ * 普通车商收车价 STRING(32)
+ */
+ public static final String normal_dealer_buy_price = "normal_dealer_buy_price";
+ /**
+ * 普通最低个人交易价 STRING(32)
+ */
+ public static final String normal_individual_low_sold_price = "normal_individual_low_sold_price";
+ /**
+ * 普通个人交易价 STRING(32)
+ */
+ public static final String normal_individual_price = "normal_individual_price";
+ /**
+ * 普通最低车商零售价 STRING(32)
+ */
+ public static final String normal_dealer_low_sold_price = "normal_dealer_low_sold_price";
+ /**
+ * 普通车商零售价 STRING(32)
+ */
+ public static final String normal_dealer_price = "normal_dealer_price";
+ /**
+ * 普通最高车商零售价 STRING(32)
+ */
+ public static final String normal_dealer_high_sold_price = "normal_dealer_high_sold_price";
+ /**
+ * 排放标准 STRING(32)
+ */
+ public static final String discharge_standard = "discharge_standard";
+ /**
+ * 详细估值结果报告页面地址 STRING(100)
+ */
+ public static final String detail_report_url = "detail_report_url";
+ /**
+ * 查询编号 STRING(32)
+ */
+ public static final String taken = "taken";
+ /**
+ * 车型ID STRING(32)
+ */
+ public static final String modelId = "modelId";
+ /**
+ * 城市标识 STRING(32)
+ */
+ public static final String zone = "zone";
+ /**
+ * 车牌上牌日期 STRING(32)
+ */
+ public static final String regDate = "regDate";
+ /**
+ * 车辆行驶里程 STRING(32)
+ */
+ public static final String mile = "mile";
+ /**
+ * CITYID STRING(32)
+ */
+ public static final String CITYID = "CITYID";
+ /**
+ * CITYNAME STRING(100)
+ */
+ public static final String CITYNAME = "CITYNAME";
+ /**
+ * 保留字段1 STRING(100)
+ */
+ public static final String retainfield1 = "retainfield1";
+ /**
+ * 保留字段2 STRING(100)
+ */
+ public static final String retainfield2 = "retainfield2";
+ /**
+ * 保留字段3 STRING(100)
+ */
+ public static final String retainfield3 = "retainfield3";
+}
\ No newline at end of file
From d0c736ebfad4f881cc10ca27b7d8b3871412aada Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=BC=A0=E7=A3=8A?= <寮犵@LAPTOP-O3DO03BA>
Date: Tue, 5 Jun 2018 09:42:45 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E4=BA=8C=E6=89=8B=E8=BD=A6=E8=A1=A5?=
=?UTF-8?q?=E5=85=85?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../vehicleAssessmentController.java | 80 +++++++++++++++++++
.../lease/util/VehicleAppraisementUtil.java | 56 +++++++++++++
2 files changed, 136 insertions(+)
create mode 100644 src_tenwa/com/tenwa/lease/app/vehicleAssessment/vehicleAssessmentController.java
create mode 100644 src_tenwa/com/tenwa/lease/util/VehicleAppraisementUtil.java
diff --git a/src_tenwa/com/tenwa/lease/app/vehicleAssessment/vehicleAssessmentController.java b/src_tenwa/com/tenwa/lease/app/vehicleAssessment/vehicleAssessmentController.java
new file mode 100644
index 000000000..53feb967c
--- /dev/null
+++ b/src_tenwa/com/tenwa/lease/app/vehicleAssessment/vehicleAssessmentController.java
@@ -0,0 +1,80 @@
+package com.tenwa.lease.app.vehicleAssessment;
+/**
+ * 二手车评估
+ * @author 张磊
+ */
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+import org.apache.log4j.Logger;
+import jbo.app.LB_EQUIPMENT_CAR_TEMP;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.amarsoft.are.jbo.BizObject;
+import com.amarsoft.are.jbo.BizObjectManager;
+import com.amarsoft.are.jbo.JBOFactory;
+import com.amarsoft.are.jbo.JBOTransaction;
+import com.tenwa.lease.util.VehicleAppraisementUtil;
+
+public class vehicleAssessmentController {
+
+ private String id;
+
+ private Logger logger = Logger.getLogger(this.getClass());
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String vehicleAppraisement(JBOTransaction tx){
+ String result = null;
+ try {
+ BizObjectManager bomLSNT = JBOFactory.getBizObjectManager(LB_EQUIPMENT_CAR_TEMP.CLASS_NAME,tx);
+ BizObject boLSNT = bomLSNT.createQuery("ID=:ID").setParameter("ID",id).getSingleResult(false);
+ //获取车型ID
+ String modelId = boLSNT.getAttribute("modelId").toString();
+ //获取地区编号
+ String zone = boLSNT.getAttribute("zone").toString();
+ //因为从数据库获取到的上牌日期的格式不满足接口需求,所以要利用SimpleDateFormat进行变换
+ Date date = new SimpleDateFormat("yyyy/MM/dd").parse(boLSNT.getAttribute("regDate").toString());
+ String regDate = new SimpleDateFormat("yyyy-MM-dd").format(date);
+ //获取车辆行驶里程
+ String mile = boLSNT.getAttribute("mile").toString();
+ //得到Car300接口返回的Json数据
+ String responseResult = VehicleAppraisementUtil.getVehicleAppraisementResponse(modelId, zone, regDate, mile);
+ JSONObject object = JSONObject.parseObject(responseResult);
+ boLSNT.setAttributeValue("discharge_standard", object.get("discharge_standard").toString());
+ boLSNT.setAttributeValue("detail_report_url", object.get("detail_report_url").toString());
+ //提取出Json数据中的status属性(1:成功;0:失败)并判断,如果为0,则将出错原因返回到前台
+ String status = object.get("status").toString();
+ if(status == "0"){
+ result = object.getString("error_msg").toString();
+ return result;
+ }
+ //将Json字符串中的数组数据部分转换为Json数组
+ List list = JSONArray.parseArray((String)object.get("eval_prices"),ConcurrentHashMap.class);
+ //遍历Json数组并将对应字段的数据加入到数据库中
+ for(int i=0;i