Commit 3fc1522b authored by YONG-LIN SU's avatar YONG-LIN SU

Merge remote-tracking branch 'origin/1130109LK-P12'

parents 041d8677 91f34e7e
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<bytecodeTargetLevel target="11" /> <bytecodeTargetLevel target="17" />
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
<option name="testRunner" value="GRADLE" /> <option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" /> <option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleJvm" value="11" /> <option name="gradleJvm" value="jbr-17" />
<option name="modules"> <option name="modules">
<set> <set>
<option value="$PROJECT_DIR$" /> <option value="$PROJECT_DIR$" />
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="DesignSurface"> <component name="DesignSurface">
<option name="filePathToZoomLevelMap"> <option name="filePathToZoomLevelMap">
...@@ -71,7 +70,7 @@ ...@@ -71,7 +70,7 @@
</map> </map>
</option> </option>
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="11" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" /> <output url="file://$PROJECT_DIR$/build/classes" />
</component> </component>
<component name="ProjectType"> <component name="ProjectType">
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" /> <mapping directory="" vcs="Git" />
</component> </component>
</project> </project>
\ No newline at end of file
...@@ -43,8 +43,9 @@ public class CarPrinter_LKP34L{ ...@@ -43,8 +43,9 @@ public class CarPrinter_LKP34L{
// 紙張 黑色標記底部 至 黑色標記頂部 距離為 14.6 cm,減去 1.5 mm 為 印表機最大高度 14.45 cm // 紙張 黑色標記底部 至 黑色標記頂部 距離為 14.6 cm,減去 1.5 mm 為 印表機最大高度 14.45 cm
// 紙張 寬為 5.6 cm // 紙張 寬為 5.6 cm
// LK-P34L dpi 為 203,最大高度為 1155 px,最大寬度為 448px // LK-P34L dpi 為 203,最大高度為 1155 px,最大寬度為 448px
int nLineWidth = 448; // LK-P12 dpi 為 203,最大高度為 1155 px,最大寬度為 448px
cpclPrinter.setForm(102, 203, 203, 1155, nLineWidth,1); int nLineWidth = 448;//int nLineWidth = 448;
cpclPrinter.setForm(0, 203, 203, 1155, nLineWidth,1); //cpclPrinter.setForm(102, 203, 203, 1155, nLineWidth,1);
int paper_type = 1; // 0 -> Gas Paper, 1 -> Black Mark Paper, 2 -> Continuous Paper int paper_type = 1; // 0 -> Gas Paper, 1 -> Black Mark Paper, 2 -> Continuous Paper
cpclPrinter.setMedia(paper_type); cpclPrinter.setMedia(paper_type);
...@@ -61,23 +62,24 @@ public class CarPrinter_LKP34L{ ...@@ -61,23 +62,24 @@ public class CarPrinter_LKP34L{
// 列印 車號 // 列印 車號
String plateNumber = carCase.plateNumber; String plateNumber = carCase.plateNumber;
cpclPrinter.printAndroidFont(110,100, Typeface.SANS_SERIF, plateNumber, nLineWidth, 35); cpclPrinter.printAndroidFont(110,110, Typeface.SANS_SERIF, plateNumber, nLineWidth, 35);
// 列印 車格編號 // 列印 車格編號
String spaceWithRoad = carCase.space.id + " " + carCase.space.road.name; String spaceWithRoad = carCase.space.id + " " + carCase.space.road.name;
cpclPrinter.printAndroidFont(110,150, Typeface.SANS_SERIF, spaceWithRoad, nLineWidth, 35); cpclPrinter.printAndroidFont(110,160, Typeface.SANS_SERIF, spaceWithRoad, nLineWidth, 35);
// 列印 停車日期 // 列印 停車日期
Calendar parkingDateCalendar = Calendar.getInstance(); Calendar parkingDateCalendar = Calendar.getInstance();
parkingDateCalendar.setTime(carCase.caseTime); parkingDateCalendar.setTime(carCase.caseTime);
String rocParkingDate = Common.getDate(parkingDateCalendar, true); String rocParkingDate = Common.getDate(parkingDateCalendar, true);
String parkingDate = rocParkingDate.substring(0,3) + "年" + rocParkingDate.substring(3,5) + "月" + rocParkingDate.substring(5,7) + "日"; String parkingDate = rocParkingDate.substring(0,3) + "年" + rocParkingDate.substring(3,5) + "月" + rocParkingDate.substring(5,7) + "日";
cpclPrinter.printAndroidFont(110,200,Typeface.SANS_SERIF, parkingDate, nLineWidth, 35); cpclPrinter.printAndroidFont(110,210,Typeface.SANS_SERIF, parkingDate, nLineWidth, 35);
// 列印 billNumber2 Code 39 // 列印 billNumber2 Code 39
String billNumber2 = carCase.billingNumber2; String billNumber2 = carCase.billingNumber2;
cpclPrinter.setCPCLBarcode(7,0,0); cpclPrinter.setCPCLBarcode(7,0,0);
cpclPrinter.printCPCLBarcode(CPCLConst.LK_CPCL_0_ROTATION, CPCLConst.LK_CPCL_BCS_39,1,CPCLConst.LK_CPCL_BCS_1RATIO, 70, 0, 260, billNumber2, 0); //cpclPrinter.printCPCLBarcode(CPCLConst.LK_CPCL_0_ROTATION, CPCLConst.LK_CPCL_BCS_39,1,CPCLConst.LK_CPCL_BCS_1RATIO, 70, 0, 270, billNumber2, 0);
cpclPrinter.printCPCLBarcode(CPCLConst.LK_CPCL_0_ROTATION, CPCLConst.LK_CPCL_BCS_39,1,CPCLConst.LK_CPCL_BCS_1RATIO, 70, 0, 270, billNumber2, 0);//
// 列印 繳費期限 // 列印 繳費期限
Calendar terminateDateCalendar = Calendar.getInstance(); Calendar terminateDateCalendar = Calendar.getInstance();
...@@ -86,9 +88,9 @@ public class CarPrinter_LKP34L{ ...@@ -86,9 +88,9 @@ public class CarPrinter_LKP34L{
String terminateYear = rocTerminateDate.substring(0, 3); String terminateYear = rocTerminateDate.substring(0, 3);
String terminateMonth = rocTerminateDate.substring(3, 5); String terminateMonth = rocTerminateDate.substring(3, 5);
String terminateDay = rocTerminateDate.substring(5, 7); String terminateDay = rocTerminateDate.substring(5, 7);
cpclPrinter.printAndroidFont(103, 380, Typeface.SANS_SERIF, terminateYear, nLineWidth, 25); cpclPrinter.printAndroidFont(103, 390, Typeface.SANS_SERIF, terminateYear, nLineWidth, 25);//cpclPrinter.printAndroidFont(103, 380, Typeface.SANS_SERIF, terminateYear, nLineWidth, 25);
cpclPrinter.printAndroidFont(203, 380, Typeface.SANS_SERIF, terminateMonth, nLineWidth, 25); cpclPrinter.printAndroidFont(203, 390, Typeface.SANS_SERIF, terminateMonth, nLineWidth, 25);// cpclPrinter.printAndroidFont(203, 380, Typeface.SANS_SERIF, terminateYear, nLineWidth, 25);
cpclPrinter.printAndroidFont(303, 380, Typeface.SANS_SERIF, terminateDay, nLineWidth, 25); cpclPrinter.printAndroidFont(303, 390, Typeface.SANS_SERIF, terminateDay, nLineWidth, 25); // cpclPrinter.printAndroidFont(303, 380, Typeface.SANS_SERIF, terminateYear, nLineWidth, 25);
// 列印 停車時間 // 列印 停車時間
Calendar nowCalendar = (Calendar)parkingDateCalendar.clone(); Calendar nowCalendar = (Calendar)parkingDateCalendar.clone();
...@@ -96,15 +98,17 @@ public class CarPrinter_LKP34L{ ...@@ -96,15 +98,17 @@ public class CarPrinter_LKP34L{
boolean b60Min = false; boolean b60Min = false;
String parkingTime,parkingFee, userName; String parkingTime,parkingFee, userName;
int printYMovement = 50; int printYMovement = 50;// int printYMovement = 50;
int printY = 480; int printY = 490;// int printY = 480;
// 開單累積最多 4 次 // 開單累積最多 4 次
for (int i = 0; i < 4; i++){ for (int i = 0; i < 4; i++){
// TODO: 2022/8/18 超過上班時間,則停止列印 // TODO: 2022/8/18 超過上班時間,則停止列印
if (i == 0){ if (i == 0){
// 停車時間 // 停車時間
parkingTime = nHour+ ":" + nowCalendar.get(Calendar.MINUTE); String m = String.format("%02d", nowCalendar.get(Calendar.MINUTE));
String H = String.format("%02d",nHour);
parkingTime = H + ":" + m;
// 停車費 // 停車費
parkingFee = String.valueOf(carCase.getPricing()); parkingFee = String.valueOf(carCase.getPricing());
...@@ -114,8 +118,10 @@ public class CarPrinter_LKP34L{ ...@@ -114,8 +118,10 @@ public class CarPrinter_LKP34L{
printY+=printYMovement; printY+=printYMovement;
// 停車時間 // 停車時間
parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) ); String m = String.format("%02d", b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1));
String H = String.format("%02d",nHour + (b60Min ? 1 : 0));
//parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) );
parkingTime = H + ":" + m;
// 停車費 // 停車費
parkingFee = ""; parkingFee = "";
...@@ -131,16 +137,21 @@ public class CarPrinter_LKP34L{ ...@@ -131,16 +137,21 @@ public class CarPrinter_LKP34L{
{ {
// TODO: 2022/8/18 身心障礙 (府-2) 優惠處理 // TODO: 2022/8/18 身心障礙 (府-2) 優惠處理
if (i == 0){ if (i == 0){
String m = String.format("%02d", nowCalendar.get(Calendar.MINUTE));
String H = String.format("%02d",nHour);
// 停車時間 // 停車時間
parkingTime = nHour+ ":" + nowCalendar.get(Calendar.MINUTE); parkingTime = H + ":" + m;
//parkingTime = nHour+ ":" + nowCalendar.get(Calendar.MINUTE);
// 停車費 // 停車費
parkingFee = String.valueOf(carCase.getPricing()); parkingFee = String.valueOf(carCase.getPricing());
// 使用者名稱 // 使用者名稱
userName = carCase.user.name; userName = carCase.user.name;
}else if (i == 1 ){ }else if (i == 1 ){
// 停車時間 // 停車時間
parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) ); String m = String.format("%02d", b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1));
String H = String.format("%02d",nHour + (b60Min ? 1 : 0));
parkingTime = H + ":" + m;
//parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) );
// 停車費 // 停車費
parkingFee = String.valueOf(carCase.getPricing()); parkingFee = String.valueOf(carCase.getPricing());
...@@ -149,7 +160,10 @@ public class CarPrinter_LKP34L{ ...@@ -149,7 +160,10 @@ public class CarPrinter_LKP34L{
userName="________"; userName="________";
}else { }else {
// 停車時間 // 停車時間
parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) ); String m = String.format("%02d", b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1));
String H = String.format("%02d",nHour + (b60Min ? 1 : 0));
parkingTime = H + ":" + m;
//parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) );
// 停車費 // 停車費
parkingFee = ""; parkingFee = "";
...@@ -163,15 +177,21 @@ public class CarPrinter_LKP34L{ ...@@ -163,15 +177,21 @@ public class CarPrinter_LKP34L{
// TODO: 2022/8/18 身心障礙(社-4) 優惠處理 // TODO: 2022/8/18 身心障礙(社-4) 優惠處理
if (i == 0){ if (i == 0){
// 停車時間 // 停車時間
parkingTime = nHour+ ":" + nowCalendar.get(Calendar.MINUTE); String m = String.format("%02d", nowCalendar.get(Calendar.MINUTE));
String H = String.format("%02d",nHour);
// 停車時間
parkingTime = H + ":" + m;
//parkingTime = nHour+ ":" + nowCalendar.get(Calendar.MINUTE);
// 停車費 // 停車費
parkingFee = String.valueOf(carCase.getPricing()); parkingFee = String.valueOf(carCase.getPricing());
// 使用者名稱 // 使用者名稱
userName = carCase.user.name; userName = carCase.user.name;
}else { }else {
// 停車時間 // 停車時間
parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) ); String m = String.format("%02d", b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1));
String H = String.format("%02d",nHour + (b60Min ? 1 : 0));
parkingTime = H + ":" + m;
//parkingTime = ( nHour + (b60Min ? 1 : 0) )+ ":" + ( b60Min ? 0 : (nowCalendar.get(Calendar.MINUTE) + 1) );
// 停車費 // 停車費
parkingFee = String.valueOf(carCase.getPricing()); parkingFee = String.valueOf(carCase.getPricing());
...@@ -185,23 +205,25 @@ public class CarPrinter_LKP34L{ ...@@ -185,23 +205,25 @@ public class CarPrinter_LKP34L{
// 列印繳費金額 // 列印繳費金額
if (!parkingFee.trim().isEmpty()){ if (!parkingFee.trim().isEmpty()){
//cpclPrinter.printAndroidFont(-10, printY, Typeface.SANS_SERIF, parkingFee, nLineWidth, 30);
cpclPrinter.printAndroidFont(130, printY, Typeface.SANS_SERIF, parkingFee, nLineWidth, 30); cpclPrinter.printAndroidFont(130, printY, Typeface.SANS_SERIF, parkingFee, nLineWidth, 30);
} }
// 列印停車時間 // 列印停車時間
if (!parkingTime.trim().isEmpty()){ if (!parkingTime.trim().isEmpty()){
// cpclPrinter.printAndroidFont(-125, printY, Typeface.SANS_SERIF, parkingTime, nLineWidth, 30);
cpclPrinter.printAndroidFont(15, printY, Typeface.SANS_SERIF, parkingTime, nLineWidth, 30); cpclPrinter.printAndroidFont(15, printY, Typeface.SANS_SERIF, parkingTime, nLineWidth, 30);
} }
// 列印簽章 或 底線 // 列印簽章 或 底線
if (!userName.trim().isEmpty()){ if (!userName.trim().isEmpty()){
// cpclPrinter.printAndroidFont(100, printY, Typeface.SANS_SERIF, userName, nLineWidth, 30);
cpclPrinter.printAndroidFont(240, printY, Typeface.SANS_SERIF, userName, nLineWidth, 30); cpclPrinter.printAndroidFont(240, printY, Typeface.SANS_SERIF, userName, nLineWidth, 30);
} }
// 累加下一圈 // 累加下一圈
nowCalendar.add(Calendar.MINUTE, carCase.space.getAddMinutes()); nowCalendar.add(Calendar.MINUTE, carCase.space.getAddMinutes());
nHour = nowCalendar.get(Calendar.HOUR_OF_DAY); nHour = nowCalendar.get(Calendar.HOUR_OF_DAY);
b60Min = nowCalendar.get(Calendar.MINUTE) == 59; b60Min = nowCalendar.get(Calendar.MINUTE) == 59;
} }
......
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