写了一早的代码感觉很有成就感,大家一块看看;
package org.ilp.utils.poi;
import java.beans.Transient;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.persistence.Column;
import javax.persistence.Table;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFDateUtil;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.ilp.entity.sale.detail.SaleDetailEntity;
import com.google.common.collect.Lists;
/**
* Poi处理Excel
* @author pengbaowei
*
*/
public class PoiUtil {
public static void main(String[] args) {
SaleDetailEntity entity=new SaleDetailEntity();
Class<?> clazz=entity.getClass();
File file=new File("D:\\销售订单模板.xls");
List<?> readExcel = readExcel(clazz, file);
for (Object object : readExcel) {
SaleDetailEntity entity1=(SaleDetailEntity)object;
System.out.println(entity1.getProofDate());
}
}
public static List<?> readExcel(Class<?> clazz,File file){
List<Object> list=Lists.newArrayList();
try {
InputStream is = new FileInputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook(is);
HSSFSheet sheet = workbook.getSheetAt(0);
//表头字段数组
String[][] headerTable = null;
//获取行数量
int rowNum = sheet.getLastRowNum();
for (int i = 0; i <=rowNum; i++) {
//取出第一个sheet
HSSFRow firstrRow = sheet.getRow(0);
//获取一行中有多少个单元格
int collNum = firstrRow.getPhysicalNumberOfCells();
//第一行为表头
if(i==0&&collNum>0){
headerTable=new String[1][collNum];
for (int j = 0; j < collNum; j++) {
HSSFCell cell = firstrRow.getCell((short) j);
String stringCellValue = (String)getStringCellValue(cell);
headerTable[0][j]=stringCellValue.toUpperCase();
}
} else if(collNum>0){
HSSFRow row = sheet.getRow(i);
Map<String, String> map = getHaveAnnotation(clazz);
if( map.containsKey("tableName")){//表存在
Object obj = clazz.newInstance();
for(int l =0;l<headerTable[0].length; l++){
String columnName=headerTable[0][l];
if(map.containsKey(columnName)){
String columnNameAndMethod=map.get(columnName);
String methodName = columnNameAndMethod.split(";")[1];
//找到该方法所对应的字段类型【传参用】
String firstChar = methodName.substring(3,4).toLowerCase();
String lastChar = methodName.substring(4, methodName.length());
Field field = clazz.getDeclaredField(firstChar+lastChar);
Class<?> type = field.getType();
String name = type.getName();
String setMethodName = methodName.replace("get", "set");
Method declaredMethod = clazz.getDeclaredMethod(setMethodName, getExecutableMethodParameterType(name));
declaredMethod.invoke(obj,getStringCellValue(row.getCell(l)) );
}
}
list.add(obj);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
private static Class<?> getExecutableMethodParameterType(String type){
//jdk7 switch开始支持String类型
Class<?> clazz=null;
switch (type) {
case "java.lang.String":
clazz=String.class;
break;
case "java.util.Date":
clazz=Date.class;
break;
case "java.math.BigDecimal":
clazz=BigDecimal.class;
break;
//后续添加类型
default:
break;
}
return clazz;
}
private static Object getStringCellValue(HSSFCell cell){
Object strCell ="";
switch(cell.getCellType()){
case HSSFCell.CELL_TYPE_STRING: //字符串型
strCell = cell.getStringCellValue();
break ;
case HSSFCell.CELL_TYPE_NUMERIC: //数字类型
strCell=new BigDecimal(String.valueOf(cell.getNumericCellValue()).toString());
break;
case HSSFCell.CELL_TYPE_BOOLEAN: //布尔型
strCell = String.valueOf(cell.getBooleanCellValue());
break ;
case HSSFCell.CELL_TYPE_BLANK: //空类型
strCell ="" ;
break ;
case HSSFCell.CELL_TYPE_FORMULA: //公式类型
if(HSSFDateUtil.isCellDateFormatted(cell)){
strCell = HSSFDateUtil.getJavaDate(cell.getNumericCellValue());
}
break ;
default:
strCell ="" ;
break ;
}
if(strCell.equals("")|| strCell == null){
strCell ="" ;
}
return strCell;
}
private static Map<String,String> getHaveAnnotation(Class<?> clazz){
Map<String,String> map=new HashMap<String,String>();
//判断类上有没有@Table注解
if(clazz.isAnnotationPresent(Table.class)){
Table annotation = clazz.getAnnotation(Table.class);
if(!annotation.name().equals("")){
//将表名保存到map中
map.put("tableName", annotation.name());
List<Method> methodList = Arrays.asList(clazz.getDeclaredMethods());
for(Method method : methodList){
//判断是否有注解@Column并且不存在@Transient注解
if(method.isAnnotationPresent(Column.class)&&!method.isAnnotationPresent(Transient.class)){
//得到字段的名称
String name = method.getAnnotation(Column.class).name().toUpperCase();
if(!"".equals(name)){
//得到方法名
String methodName = method.getName();
map.put(name,name+";"+methodName);
}
}
}
}
}
return map;
}
}
package org.ilp.entity.sale.detail;
import java.math.BigDecimal;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.Digits;
import javax.validation.constraints.Past;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;
import com.alibaba.fastjson.annotation.JSONField;
/**
* @Title: Entity
* @Description: 销售明细
* @author
* @date 2017-04-20 15:32:25
* @version V1.0
*
*/
@Entity
@Table(name = "sale_detail", schema = "")
@DynamicUpdate(true)
@DynamicInsert(true)
@SuppressWarnings("serial")
public class SaleDetailEntity implements java.io.Serializable {
/**id*/
private java.lang.String id;
/**机构id*/
@NotEmpty(message="机构编码不能为空")
@Length(max=20,message="机构id长度不能为空")
private java.lang.String orgId;
/**销售单号 前加org_id*/
@NotEmpty(message="销售单号不能为空")
@Length(max=20,message="销售单号 前加org_id长度不能大于20")
private java.lang.String proofId;
/**原单号(erp传过来)*/
@Length(max=200,message="原单号长度不能大于200")
private java.lang.String srcProofId;
/**原行号*/
@Length(max=20,message="原行号长度不能大于20")
private java.lang.String srcLineId;
/**出库类型,销售出库、调拨出库、退厂出库、取样出库、销售退票*/
@Length(max=10,message="出库类型长度不能大于10")
private java.lang.String saleType;
/**开票日期、时间*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@Past(message="开票日期、时间为时间类型")
private java.util.Date proofDate;
/**客户编号*/
@Length(max=20,message="客户编号长度不能大于20")
private java.lang.String customerId;
/**商品系统编号*/
@Length(max=20,message="客户编号长度不能大于20")
private java.lang.String goodsId;
/**批次*/
@Length(max=20,message="批次长度不能大于20")
private java.lang.String lotNo;
/**批号*/
@Length(max=20,message="批号长度不能大于20")
private java.lang.String batchNo;
/**效期*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
private java.util.Date validDate;
/**生产日期*/
@Length(max=20,message="生产日期不能大于20")
private java.lang.String productDate;
/**销售数量*/
@Digits(integer=22,fraction=4,message="销售数量的整数位22,小数位4")
private BigDecimal quantity;
/**销售单价*/
@Digits(integer=22,fraction=4,message="销售单价的整数位22,小数位4")
private BigDecimal price;
/**销售金额*/
@Digits(integer=22,fraction=4,message="销售金额的整数位22,小数位4")
private BigDecimal goodsAmount;
/**批发单价*/
@Digits(integer=22,fraction=4,message="批发单价的整数位22,小数位4")
private BigDecimal wsPrice;
/**零售单价*/
@Digits(integer=22,fraction=4,message="零售单价的整数位22,小数位4")
private BigDecimal rtPrice;
/**销售扣率*/
@Digits(integer=22,fraction=4,message="销售扣率的整数位22,小数位4")
private BigDecimal discount;
/**销售实价*/
@Digits(integer=22,fraction=4,message="销售实价的整数位22,小数位4")
private BigDecimal realPrice;
/**物流中心编码*/
@Length(max=10,message="物流中心编码长度不能大于10")
private java.lang.String warehostId;
/**结算方式*/
@Length(max=20,message="结算方式长度不能大于20")
private java.lang.String billStyle;
/**开票人*/
@Length(max=20,message="开票人长度不能大于20")
private java.lang.String proofHuman;
/**经办人*/
@Length(max=20,message="经办人长度不能大于20")
private java.lang.String doMan;
/**复核人*/
@Length(max=20,message="复核人长度不能大于20")
private java.lang.String chkMan;
/**税金*/
@Digits(integer=22,fraction=2,message="税金的整数位22,小数位2")
private BigDecimal tax;
/**税率*/
@Digits(integer=22,fraction=2,message="税率为数值类型")
private BigDecimal taxPer;
/**去税金额*/
@Digits(integer=22,fraction=2,message="去税金额的整数位22,小数位2")
private BigDecimal amountTax;
/**收款日期*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@Past(message="收款日期为时间类型")
private java.util.Date getDate;
/**开票种类(待确认)*/
@Length(max=60,message="开票种类(待确认)的长度不能大于60")
private java.lang.String proofStyle;
/**client_style*/
@Length(max=10,message="client_style的长度不能大于10")
private java.lang.String clientStyle;
/**备注*/
@Length(max=200,message="备注的长度不能大于200")
private java.lang.String memo;
/**票据等级*/
@Length(max=10,message="票据等级的长度不能大于10")
private java.lang.String billLevel;
/**出货时间*/
@Length(max=34,message="发货时间长度不能大于34")
private String sendTime;
/**分公司编号*/
@Length(max=10,message="分公司编号的长度不能大于10")
private java.lang.String companyId;
/**电子监管码*/
@Length(max=60,message="电子监管码的长度不能大于60")
private java.lang.String drugSuperviseSn;
/**进价*/
@Digits(integer=18,fraction=6,message="进价的整数位18,小数位6")
private BigDecimal buyPrice;
/**付款类型*/
@Length(max=10,message="付款类型的长度不能大于10")
private java.lang.String paymentType;
/**状态*/
@Length(max=10,message="状态的长度不能大于10")
private java.lang.String state;
/**质量标识*/
@Length(max=10,message="质量标识的长度不能大于10")
private java.lang.String qualityFlag;
/**账务标识*/
@Length(max=10,message="账务标识的长度不能大于10")
private java.lang.String accountFlag;
/**备用1*/
@Length(max=200,message="备用1的长度不能大于200")
private java.lang.String memoFile1;
/**备用2*/
@Length(max=200,message="备用2的长度不能大于200")
private java.lang.String memoFile2;
/**备用3*/
@Length(max=200,message="备用3的长度不能大于200")
private java.lang.String memoFile3;
/**拼单标识*/
@Digits(integer=38,fraction=4,message="拼单标识的整数部分为38")
private BigDecimal monomark;
/**事业部编码*/
@Length(max=10,message="事业部编码的长度不能大于10")
private java.lang.String departId2;
/**货主id*/
@Length(max=20,message="事货主id的长度不能大于20")
private java.lang.String ownerId;
/**是否删除*/
private java.lang.String isdeleted;
/**创建人机构序列 对应om_organization 中的 orgseq*/
@Length(max=512,message="创建人机构序列 的长度不能大于512")
private java.lang.String createOrgseq;
/**创建人机构 对应om_organization中的orgid*/
@Length(max=2,message="创建人机构 对应om_organization中的orgid的长度不能大于2")
private java.lang.String createRole;
/**仓库类型*/
@Length(max=10,message="仓库类型的长度不能大于10")
private java.lang.String warehouseType;
/**addId*/
@Length(max=20,message="addId的长度不能大于20")
private java.lang.String addId;
/**商品编码*/
@Length(max=20,message="商品编码的长度不能大于20")
private java.lang.String goodssysId;
/**公司编码*/
@Length(max=20,message="公司编码的长度不能大于20")
private java.lang.String customersysId;
/**线路*/
@Length(max=30,message="线路的长度不能大于30")
private java.lang.String haulingtrack;
/**药检报告*/
@Length(max=10,message="药检报告的长度的为10")
private java.lang.String yaojianFlag;
/**goodsPcKillbac*/
@Length(max=50,message="goodsPcKillbac的长度不能大于50")
private java.lang.String goodsPcKillbac;
/**proofLines*/
@Digits(integer=22,fraction=2,message="proofLines为数值类型")
private BigDecimal proofLines;
/**赠品状态 y 有赠品n无赠品*/
@Length(max=10,message="*赠品状态的长度不能大于10")
private java.lang.String largessFlage;
/**发票号*/
private java.lang.String receiptNo;
/**1直送2转运*/
@DecimalMax(value="5",message="1直送2转运为5")
private java.lang.String distlevel;
/**发票方式*/
@Length(max=200,message="发票方式的长度为200")
private java.lang.String billType;
/**是否扫描发票,0不需要,1需要*/
@Digits(integer=38,fraction=4,message="税率整数位38")
private BigDecimal billFlag;
/**1.如果指定批号需要传此批号的对应的采购单号和行号 src_proof_id||src_line_id 2.如果不知道批号传空值*/
@Length(max=200,message="指定批号需要传此批号的对应的采购单号和行号 的长度为200")
private java.lang.String billSrcproofid;
/**首营品种打印,0不打印,1打印*/
@Digits(integer=38,fraction=4,message="首营品种打印整数位38")
private BigDecimal goodsFlag;
/**toLineId*/
private java.lang.String toLineId;
/**送货类型1正常,2,送货到家,3分包到家*/
@Length(max=5,message="送货类型长度不能大于5")
private java.lang.String transType;
/**updState*/
@Length(max=20,message="updState的长度不能大于20")
private java.lang.String updState;
/**updDate*/
@JSONField(format = "yyyy-MM-dd HH:mm:ss")
@Past(message="更新时间为时间类型")
private java.util.Date updDate;
/**
*方法: 取得java.lang.String
*@return: java.lang.String id
*/
@Id
@GeneratedValue(generator = "paymentableGenerator")
@GenericGenerator(name = "paymentableGenerator", strategy = "uuid")
@Column(name ="ID",nullable=false,length=20)
public java.lang.String getId(){
return this.id;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String id
*/
public void setId(java.lang.String id){
this.id = id;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 机构id
*/
@Column(name ="ORG_ID",nullable=false,length=20)
public java.lang.String getOrgId(){
return this.orgId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 机构id
*/
public void setOrgId(java.lang.String orgId){
this.orgId = orgId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 销售单号 前加org_id
*/
@Column(name ="PROOF_ID",nullable=true,length=20)
public java.lang.String getProofId(){
return this.proofId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 销售单号 前加org_id
*/
public void setProofId(java.lang.String proofId){
this.proofId = proofId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 原单号(erp传过来)
*/
@Column(name ="SRC_PROOF_ID",nullable=false,length=20)
public java.lang.String getSrcProofId(){
return this.srcProofId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 原单号(erp传过来)
*/
public void setSrcProofId(java.lang.String srcProofId){
this.srcProofId = srcProofId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 原行号
*/
@Column(name ="SRC_LINE_ID",nullable=false,length=20)
public java.lang.String getSrcLineId(){
return this.srcLineId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 原行号
*/
public void setSrcLineId(java.lang.String srcLineId){
this.srcLineId = srcLineId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 出库类型,销售出库、调拨出库、退厂出库、取样出库、销售退票
*/
@Column(name ="SALE_TYPE",nullable=false,length=10)
public java.lang.String getSaleType(){
return this.saleType;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 出库类型,销售出库、调拨出库、退厂出库、取样出库、销售退票
*/
public void setSaleType(java.lang.String saleType){
this.saleType = saleType;
}
/**
*方法: 取得java.util.Date
*@return: java.util.Date 开票日期、时间
*/
@Column(name ="PROOF_DATE",nullable=false)
public java.util.Date getProofDate(){
return this.proofDate;
}
/**
*方法: 设置java.util.Date
*@param: java.util.Date 开票日期、时间
*/
public void setProofDate(java.util.Date proofDate){
this.proofDate = proofDate;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 客户编号
*/
@Column(name ="CUSTOMER_ID",nullable=false,length=20)
public java.lang.String getCustomerId(){
return this.customerId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 客户编号
*/
public void setCustomerId(java.lang.String customerId){
this.customerId = customerId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 商品系统编号
*/
@Column(name ="GOODS_ID",nullable=false,length=20)
public java.lang.String getGoodsId(){
return this.goodsId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 商品系统编号
*/
public void setGoodsId(java.lang.String goodsId){
this.goodsId = goodsId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 批次
*/
@Column(name ="LOT_NO",nullable=false,length=50)
public java.lang.String getLotNo(){
return this.lotNo;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 批次
*/
public void setLotNo(java.lang.String lotNo){
this.lotNo = lotNo;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 批号
*/
@Column(name ="BATCH_NO",nullable=false,length=50)
public java.lang.String getBatchNo(){
return this.batchNo;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 批号
*/
public void setBatchNo(java.lang.String batchNo){
this.batchNo = batchNo;
}
/**
*方法: 取得java.util.Date
*@return: java.util.Date 效期
*/
@Column(name ="VALID_DATE",nullable=false)
public java.util.Date getValidDate(){
return this.validDate;
}
/**
*方法: 设置java.util.Date
*@param: java.util.Date 效期
*/
public void setValidDate(java.util.Date validDate){
this.validDate = validDate;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 生产日期
*/
@Column(name ="PRODUCT_DATE",nullable=false,length=20)
public java.lang.String getProductDate(){
return this.productDate;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 生产日期
*/
public void setProductDate(java.lang.String productDate){
this.productDate = productDate;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 销售数量
*/
@Column(name ="QUANTITY",nullable=false,precision=26,scale=4)
public BigDecimal getQuantity(){
return this.quantity;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 销售数量
*/
public void setQuantity(BigDecimal quantity){
this.quantity = quantity;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 销售单价
*/
@Column(name ="PRICE",nullable=false,precision=22,scale=4)
public BigDecimal getPrice(){
return this.price;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 销售单价
*/
public void setPrice(BigDecimal price){
this.price = price;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 销售金额
*/
@Column(name ="GOODS_AMOUNT",nullable=false,precision=22,scale=2)
public BigDecimal getGoodsAmount(){
return this.goodsAmount;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 销售金额
*/
public void setGoodsAmount(BigDecimal goodsAmount){
this.goodsAmount = goodsAmount;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 批发单价
*/
@Column(name ="WS_PRICE",nullable=false,precision=22,scale=4)
public BigDecimal getWsPrice(){
return this.wsPrice;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 批发单价
*/
public void setWsPrice(BigDecimal wsPrice){
this.wsPrice = wsPrice;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 零售单价
*/
@Column(name ="RT_PRICE",nullable=false,precision=22,scale=4)
public BigDecimal getRtPrice(){
return this.rtPrice;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 零售单价
*/
public void setRtPrice(BigDecimal rtPrice){
this.rtPrice = rtPrice;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 销售扣率
*/
@Column(name ="DISCOUNT",nullable=false,precision=22,scale=4)
public BigDecimal getDiscount(){
return this.discount;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 销售扣率
*/
public void setDiscount(BigDecimal discount){
this.discount = discount;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 销售实价
*/
@Column(name ="REAL_PRICE",nullable=false,precision=22,scale=4)
public BigDecimal getRealPrice(){
return this.realPrice;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 销售实价
*/
public void setRealPrice(BigDecimal realPrice){
this.realPrice = realPrice;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 物流中心编码
*/
@Column(name ="WAREHOST_ID",nullable=false,length=10)
public java.lang.String getWarehostId(){
return this.warehostId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 物流中心编码
*/
public void setWarehostId(java.lang.String warehostId){
this.warehostId = warehostId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 结算方式
*/
@Column(name ="BILL_STYLE",nullable=false,length=10)
public java.lang.String getBillStyle(){
return this.billStyle;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 结算方式
*/
public void setBillStyle(java.lang.String billStyle){
this.billStyle = billStyle;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 开票人
*/
@Column(name ="PROOF_HUMAN",nullable=false,length=20)
public java.lang.String getProofHuman(){
return this.proofHuman;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 开票人
*/
public void setProofHuman(java.lang.String proofHuman){
this.proofHuman = proofHuman;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 经办人
*/
@Column(name ="DO_MAN",nullable=false,length=20)
public java.lang.String getDoMan(){
return this.doMan;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 经办人
*/
public void setDoMan(java.lang.String doMan){
this.doMan = doMan;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 复核人
*/
@Column(name ="CHK_MAN",nullable=false,length=20)
public java.lang.String getChkMan(){
return this.chkMan;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 复核人
*/
public void setChkMan(java.lang.String chkMan){
this.chkMan = chkMan;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 税金
*/
@Column(name ="TAX",nullable=false,precision=22,scale=2)
public BigDecimal getTax(){
return this.tax;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 税金
*/
public void setTax(BigDecimal tax){
this.tax = tax;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 税率
*/
@Column(name ="TAX_PER",nullable=false,precision=5,scale=0)
public BigDecimal getTaxPer(){
return this.taxPer;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 税率
*/
public void setTaxPer(BigDecimal taxPer){
this.taxPer = taxPer;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 去税金额
*/
@Column(name ="AMOUNT_TAX",nullable=false,precision=22,scale=2)
public BigDecimal getAmountTax(){
return this.amountTax;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 去税金额
*/
public void setAmountTax(BigDecimal amountTax){
this.amountTax = amountTax;
}
/**
*方法: 取得java.util.Date
*@return: java.util.Date 收款日期
*/
@Column(name ="GET_DATE",nullable=false)
public java.util.Date getGetDate(){
return this.getDate;
}
/**
*方法: 设置java.util.Date
*@param: java.util.Date 收款日期
*/
public void setGetDate(java.util.Date getDate){
this.getDate = getDate;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 开票种类(待确认)
*/
@Column(name ="PROOF_STYLE",nullable=false,length=60)
public java.lang.String getProofStyle(){
return this.proofStyle;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 开票种类(待确认)
*/
public void setProofStyle(java.lang.String proofStyle){
this.proofStyle = proofStyle;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String client_style
*/
@Column(name ="CLIENT_STYLE",nullable=false,length=10)
public java.lang.String getClientStyle(){
return this.clientStyle;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String client_style
*/
public void setClientStyle(java.lang.String clientStyle){
this.clientStyle = clientStyle;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 备注
*/
@Column(name ="MEMO",nullable=false,length=200)
public java.lang.String getMemo(){
return this.memo;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 备注
*/
public void setMemo(java.lang.String memo){
this.memo = memo;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 票据等级
*/
@Column(name ="BILL_LEVEL",nullable=false,length=10)
public java.lang.String getBillLevel(){
return this.billLevel;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 票据等级
*/
public void setBillLevel(java.lang.String billLevel){
this.billLevel = billLevel;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 出货时间
*/
@Column(name ="SEND_TIME")
public String getSendTime(){
return this.sendTime;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 出货时间
*/
public void setSendTime(String sendTime){
this.sendTime = sendTime;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 分公司编号
*/
@Column(name ="COMPANY_ID",nullable=false,length=10)
public java.lang.String getCompanyId(){
return this.companyId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 分公司编号
*/
public void setCompanyId(java.lang.String companyId){
this.companyId = companyId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 电子监管码
*/
@Column(name ="DRUG_SUPERVISE_SN",nullable=false,length=60)
public java.lang.String getDrugSuperviseSn(){
return this.drugSuperviseSn;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 电子监管码
*/
public void setDrugSuperviseSn(java.lang.String drugSuperviseSn){
this.drugSuperviseSn = drugSuperviseSn;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 进价
*/
@Column(name ="BUY_PRICE",nullable=false,precision=18,scale=4)
public BigDecimal getBuyPrice(){
return this.buyPrice;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 进价
*/
public void setBuyPrice(BigDecimal buyPrice){
this.buyPrice = buyPrice;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 付款类型
*/
@Column(name ="PAYMENT_TYPE",nullable=false,length=10)
public java.lang.String getPaymentType(){
return this.paymentType;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 付款类型
*/
public void setPaymentType(java.lang.String paymentType){
this.paymentType = paymentType;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 状态
*/
@Column(name ="STATE",nullable=false,length=10)
public java.lang.String getState(){
return this.state;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 状态
*/
public void setState(java.lang.String state){
this.state = state;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 质量标识
*/
@Column(name ="QUALITY_FLAG",nullable=false,length=10)
public java.lang.String getQualityFlag(){
return this.qualityFlag;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 质量标识
*/
public void setQualityFlag(java.lang.String qualityFlag){
this.qualityFlag = qualityFlag;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 账务标识
*/
@Column(name ="ACCOUNT_FLAG",nullable=false,length=10)
public java.lang.String getAccountFlag(){
return this.accountFlag;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 账务标识
*/
public void setAccountFlag(java.lang.String accountFlag){
this.accountFlag = accountFlag;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 备用1
*/
@Column(name ="MEMO_FILE1",nullable=false,length=200)
public java.lang.String getMemoFile1(){
return this.memoFile1;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 备用1
*/
public void setMemoFile1(java.lang.String memoFile1){
this.memoFile1 = memoFile1;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 备用2
*/
@Column(name ="MEMO_FILE2",nullable=false,length=200)
public java.lang.String getMemoFile2(){
return this.memoFile2;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 备用2
*/
public void setMemoFile2(java.lang.String memoFile2){
this.memoFile2 = memoFile2;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 备用3
*/
@Column(name ="MEMO_FILE3",nullable=false,length=200)
public java.lang.String getMemoFile3(){
return this.memoFile3;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 备用3
*/
public void setMemoFile3(java.lang.String memoFile3){
this.memoFile3 = memoFile3;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 拼单标识
*/
@Column(name ="MONOMARK",nullable=false,precision=10,scale=0)
public BigDecimal getMonomark(){
return this.monomark;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 拼单标识
*/
public void setMonomark(BigDecimal monomark){
this.monomark = monomark;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 事业部编码
*/
@Column(name ="DEPART_ID2",nullable=false,length=10)
public java.lang.String getDepartId2(){
return this.departId2;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 事业部编码
*/
public void setDepartId2(java.lang.String departId2){
this.departId2 = departId2;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 货主id
*/
@Column(name ="OWNER_ID",nullable=false,length=20)
public java.lang.String getOwnerId(){
return this.ownerId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 货主id
*/
public void setOwnerId(java.lang.String ownerId){
this.ownerId = ownerId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 是否删除
*/
@Column(name ="ISDELETED",nullable=false,length=1)
public java.lang.String getIsdeleted(){
return this.isdeleted;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 是否删除
*/
public void setIsdeleted(java.lang.String isdeleted){
this.isdeleted = isdeleted;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 创建人机构序列 对应om_organization 中的 orgseq
*/
@Column(name ="CREATE_ORGSEQ",nullable=false,length=512)
public java.lang.String getCreateOrgseq(){
return this.createOrgseq;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 创建人机构序列 对应om_organization 中的 orgseq
*/
public void setCreateOrgseq(java.lang.String createOrgseq){
this.createOrgseq = createOrgseq;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 创建人机构 对应om_organization中的orgid
*/
@Column(name ="CREATE_ROLE",nullable=false,length=50)
public java.lang.String getCreateRole(){
return this.createRole;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 创建人机构 对应om_organization中的orgid
*/
public void setCreateRole(java.lang.String createRole){
this.createRole = createRole;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 仓库类型
*/
@Column(name ="WAREHOUSE_TYPE",nullable=false,length=10)
public java.lang.String getWarehouseType(){
return this.warehouseType;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 仓库类型
*/
public void setWarehouseType(java.lang.String warehouseType){
this.warehouseType = warehouseType;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String addId
*/
@Column(name ="ADD_ID",nullable=false,length=20)
public java.lang.String getAddId(){
return this.addId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String addId
*/
public void setAddId(java.lang.String addId){
this.addId = addId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 商品编码
*/
@Column(name ="GOODSSYS_ID",nullable=false,length=20)
public java.lang.String getGoodssysId(){
return this.goodssysId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 商品编码
*/
public void setGoodssysId(java.lang.String goodssysId){
this.goodssysId = goodssysId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 公司编码
*/
@Column(name ="CUSTOMERSYS_ID",nullable=false,length=20)
public java.lang.String getCustomersysId(){
return this.customersysId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 公司编码
*/
public void setCustomersysId(java.lang.String customersysId){
this.customersysId = customersysId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 线路
*/
@Column(name ="HAULINGTRACK",nullable=false,length=30)
public java.lang.String getHaulingtrack(){
return this.haulingtrack;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 线路
*/
public void setHaulingtrack(java.lang.String haulingtrack){
this.haulingtrack = haulingtrack;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 药检报告
*/
@Column(name ="YAOJIAN_FLAG",nullable=false,length=10)
public java.lang.String getYaojianFlag(){
return this.yaojianFlag;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 药检报告
*/
public void setYaojianFlag(java.lang.String yaojianFlag){
this.yaojianFlag = yaojianFlag;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String goodsPcKillbac
*/
@Column(name ="GOODS_PC_KILLBAC",nullable=false,length=50)
public java.lang.String getGoodsPcKillbac(){
return this.goodsPcKillbac;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String goodsPcKillbac
*/
public void setGoodsPcKillbac(java.lang.String goodsPcKillbac){
this.goodsPcKillbac = goodsPcKillbac;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal proofLines
*/
@Column(name ="PROOF_LINES",nullable=false,precision=10,scale=0)
public BigDecimal getProofLines(){
return this.proofLines;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal proofLines
*/
public void setProofLines(BigDecimal proofLines){
this.proofLines = proofLines;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 赠品状态 y 有赠品n无赠品
*/
@Column(name ="LARGESS_FLAGE",nullable=false,length=50)
public java.lang.String getLargessFlage(){
return this.largessFlage;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 赠品状态 y 有赠品n无赠品
*/
public void setLargessFlage(java.lang.String largessFlage){
this.largessFlage = largessFlage;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 发票号
*/
@Column(name ="RECEIPT_NO",nullable=false,length=20)
public java.lang.String getReceiptNo(){
return this.receiptNo;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 发票号
*/
public void setReceiptNo(java.lang.String receiptNo){
this.receiptNo = receiptNo;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 1直送2转运
*/
@Column(name ="DISTLEVEL",nullable=false,length=20)
public java.lang.String getDistlevel(){
return this.distlevel;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 1直送2转运
*/
public void setDistlevel(java.lang.String distlevel){
this.distlevel = distlevel;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 发票方式
*/
@Column(name ="BILL_TYPE",nullable=false,length=20)
public java.lang.String getBillType(){
return this.billType;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 发票方式
*/
public void setBillType(java.lang.String billType){
this.billType = billType;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 是否扫描发票,0不需要,1需要
*/
@Column(name ="BILL_FLAG",nullable=false,precision=10,scale=0)
public BigDecimal getBillFlag(){
return this.billFlag;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 是否扫描发票,0不需要,1需要
*/
public void setBillFlag(BigDecimal billFlag){
this.billFlag = billFlag;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 1.如果指定批号需要传此批号的对应的采购单号和行号 src_proof_id||src_line_id 2.如果不知道批号传空值
*/
@Column(name ="BILL_SRCPROOFID",nullable=false,length=200)
public java.lang.String getBillSrcproofid(){
return this.billSrcproofid;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 1.如果指定批号需要传此批号的对应的采购单号和行号 src_proof_id||src_line_id 2.如果不知道批号传空值
*/
public void setBillSrcproofid(java.lang.String billSrcproofid){
this.billSrcproofid = billSrcproofid;
}
/**
*方法: 取得BigDecimal
*@return: BigDecimal 首营品种打印,0不打印,1打印
*/
@Column(name ="GOODS_FLAG",nullable=false,precision=10,scale=0)
public BigDecimal getGoodsFlag(){
return this.goodsFlag;
}
/**
*方法: 设置BigDecimal
*@param: BigDecimal 首营品种打印,0不打印,1打印
*/
public void setGoodsFlag(BigDecimal goodsFlag){
this.goodsFlag = goodsFlag;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String toLineId
*/
@Column(name ="TO_LINE_ID",nullable=false,length=15)
public java.lang.String getToLineId(){
return this.toLineId;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String toLineId
*/
public void setToLineId(java.lang.String toLineId){
this.toLineId = toLineId;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String 送货类型1正常,2,送货到家,3分包到家
*/
@Column(name ="TRANS_TYPE",nullable=false,length=5)
public java.lang.String getTransType(){
return this.transType;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String 送货类型1正常,2,送货到家,3分包到家
*/
public void setTransType(java.lang.String transType){
this.transType = transType;
}
/**
*方法: 取得java.lang.String
*@return: java.lang.String updState
*/
@Column(name ="UPD_STATE",nullable=false,length=10)
public java.lang.String getUpdState(){
return this.updState;
}
/**
*方法: 设置java.lang.String
*@param: java.lang.String updState
*/
public void setUpdState(java.lang.String updState){
this.updState = updState;
}
/**
*方法: 取得java.util.Date
*@return: java.util.Date updDate
*/
@Column(name ="UPD_DATE",nullable=false)
public java.util.Date getUpdDate(){
return this.updDate;
}
/**
*方法: 设置java.util.Date
*@param: java.util.Date updDate
*/
public void setUpdDate(java.util.Date updDate){
this.updDate = updDate;
}
}