Commit 825466bc authored by hywang's avatar hywang

增加打印二维码

parent cbac1838
......@@ -57,6 +57,15 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
*/
private String personInCharge;
/** 产品追溯唯一标识 */
private String productId;
/** 标签被打印的次数 */
private int printCount;
/** 二维码被扫描的次数 */
private int scanCount;
/** 创建者 */
private String createBy;
......@@ -83,15 +92,18 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
buyFactory = in.readString();
buyDate = in.readString();
personInCharge = in.readString();
productId = in.readString();
printCount = in.readInt();
scanCount = in.readInt();
createBy = in.readString();
createTime = in.readString();
status = in.readInt();
}
@Generated(hash = 73546827)
@Generated(hash = 814397298)
public VillusBuyEntity(Long id, String buyBatch, String revision, String buyWeight,
String buyFactory, String buyDate, String personInCharge, String createBy,
String createTime, int status) {
String buyFactory, String buyDate, String personInCharge, String productId,
int printCount, int scanCount, String createBy, String createTime, int status) {
this.id = id;
this.buyBatch = buyBatch;
this.revision = revision;
......@@ -99,6 +111,9 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
this.buyFactory = buyFactory;
this.buyDate = buyDate;
this.personInCharge = personInCharge;
this.productId = productId;
this.printCount = printCount;
this.scanCount = scanCount;
this.createBy = createBy;
this.createTime = createTime;
this.status = status;
......@@ -118,6 +133,9 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
dest.writeString(buyFactory);
dest.writeString(buyDate);
dest.writeString(personInCharge);
dest.writeString(productId);
dest.writeInt(printCount);
dest.writeInt(scanCount);
dest.writeString(createBy);
dest.writeString(createTime);
dest.writeInt(status);
......@@ -196,6 +214,30 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
this.personInCharge = personInCharge;
}
public String getProductId() {
return productId;
}
public void setProductId(String productId) {
this.productId = productId;
}
public int getPrintCount() {
return printCount;
}
public void setPrintCount(int printCount) {
this.printCount = printCount;
}
public int getScanCount() {
return scanCount;
}
public void setScanCount(int scanCount) {
this.scanCount = scanCount;
}
public String getCreateBy() {
return createBy;
}
......@@ -230,9 +272,13 @@ public class VillusBuyEntity extends BaseObservable implements Parcelable {
", buyFactory='" + buyFactory + '\'' +
", buyDate='" + buyDate + '\'' +
", personInCharge='" + personInCharge + '\'' +
", productId='" + productId + '\'' +
", printCount='" + printCount + '\'' +
", scanCount='" + scanCount + '\'' +
", createBy='" + createBy + '\'' +
", createTime='" + createTime + '\'' +
", status='" + status + '\'' +
'}';
}
}
......@@ -82,7 +82,7 @@ public class RetrofitClient {
if (TextUtils.isEmpty(url)) {
if (Configs.isAddPort) {
url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl) +":"+
SPUtils.getInstance().getString(Configs.SP_APP_PORT, "80");
SPUtils.getInstance().getString(Configs.SP_APP_PORT, port);
}else {
url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, baseUrl);
}
......
......@@ -26,6 +26,7 @@ import com.phlx.wool.ui.base.BackBarVM;
import com.phlx.wool.ui.setting.SettingActivity;
import com.phlx.wool.ui.villus.VillusBuyActivity;
import com.phlx.wool.util.PrintLabel;
import com.phlx.wool.util.StringUtil;
import com.phlx.wool.widget.ItemData;
import com.printer.sdk.PrinterInstance;
......@@ -57,7 +58,7 @@ public class VillusBuyVM extends BackBarVM<Repository> {
public VillusBuyEntity entity;
public List<IKeyAndValue> superiorPertainItemData;
public List<IKeyAndValue> pertainItemData;
private List<String> lists = new ArrayList<>();
private List<String> lists ;
private List<VillusBuyEntity> uploadData;
......@@ -181,6 +182,8 @@ public class VillusBuyVM extends BackBarVM<Repository> {
entity.setCreateBy(SPUtils.getInstance().getString(Configs.SP_NAME));
entity.setCreateTime(dateFormat.format(new Date()));
entity.setStatus(1);
entity.setProductId(StringUtil.to32String(IdUtil.createSnowflake(3, 1).nextId()));
entity.setPrintCount(0);
uploadData.add(entity);
KLog.e(uploadData.size() + uploadData.toString());
......
......@@ -5,6 +5,9 @@ import com.phlx.wool.data.Repository;
import com.phlx.wool.db.DbUtil;
import com.phlx.wool.entity.DivisionEntity;
import com.phlx.wool.entity.VillusBuyEntity;
import com.phlx.wool.net.RetrofitClient;
import com.printer.sdk.Barcode;
import com.printer.sdk.PrinterConstants;
import com.printer.sdk.PrinterInstance;
import java.text.SimpleDateFormat;
......@@ -13,6 +16,8 @@ import java.util.List;
import com.printer.sdk.PrinterConstants.Command;
import me.goldze.mvvmhabit.utils.SPUtils;
public class PrintLabel {
//写绒毛购买打印内容
......@@ -52,6 +57,13 @@ public class PrintLabel {
myPrinter.printText("日期:" + vbe.getBuyDate() + "\r\n");
myPrinter.printText("负责人:" + vbe.getPersonInCharge() + "\r\n");
myPrinter.printText(" " + "\r\n");
PrinterInstance.mPrinter.setPrinter(Command.ALIGN, Command.ALIGN_CENTER);
String url = "http://" + SPUtils.getInstance().getString(Configs.SP_APP_IP, RetrofitClient.baseUrl) + ":" +
SPUtils.getInstance().getString(Configs.SP_APP_PORT, RetrofitClient.port)
+ "/xlgl/qrYr/" + vbe.getProductId();
Barcode barcode2 = new Barcode(PrinterConstants.BarcodeType.QRCODE, 2, 3, 6, url);
PrinterInstance.mPrinter.printBarCode(barcode2);
myPrinter.setPrinter(Command.ALIGN, Command.ALIGN_RIGHT);
myPrinter.setLeftMargin(0);
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
......
package com.phlx.wool.util;
import java.math.BigDecimal;
import java.math.BigInteger;
/**
* <pre>
* author : lei
......@@ -11,6 +14,9 @@ package com.phlx.wool.util;
*/
public class StringUtil {
private static String s36bit_const = "0123456789abcdefghijklmnopqrstuvwxyz";
/**
* 判断字符串是否为null或全为空白字符
*
......@@ -27,4 +33,16 @@ public class StringUtil {
}
return true;
}
public static String to32String(long i) {
BigDecimal divide = new BigDecimal(32);
BigDecimal decimal = new BigDecimal(i);
String res = "";
while (BigDecimal.ZERO.compareTo(decimal) != 0){
BigDecimal[] divRes = decimal.divideAndRemainder(divide);
decimal = divRes[0];
res = s36bit_const.charAt(divRes[1].intValue()) + res;
}
return res;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment