Commit 7296d6e9 authored by YONG-LIN SU's avatar YONG-LIN SU

1. 修正車格搜尋邏輯

2. 修正列印按鈕觸發儲存邏輯
parent f235a6ec
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<deviceKey>
<Key>
<type value="SERIAL_NUMBER" />
<value value="577125220043" />
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-08-05T13:23:48.147304600Z" />
</component>
</project>
\ No newline at end of file
......@@ -128,7 +128,7 @@ public class T02StartActivity extends AppCompatActivity {
}
private void eventBinding() {
dataBinding.btnParkingSpace.setOnClickListener(v -> btnParkingSpaceOnClicked());
dataBinding.btnVehicleType.setOnClickListener(v -> btnVehicleTypeOnClicked());
dataBinding.btnTimeNow.setOnClickListener(v -> btnTimeNowOnClicked());
dataBinding.btnPlateNumber.setOnClickListener(v -> btnPlateNumberOnClicked());
......@@ -141,6 +141,9 @@ public class T02StartActivity extends AppCompatActivity {
dataBinding.btnInventory.setOnClickListener(v -> btnInventoryOnClicked());
dataBinding.btnMonthlyReport.setOnClickListener(v -> btnMonthlyReportOnClicked());
dataBinding.btnPrint.setOnClickListener(v -> btnPrintOnClicked());
// 搜尋是否有相關車格資料
dataBinding.btnParkingSpace.setOnClickListener(v -> btnParkingSpaceOnClicked());
dataBinding.btnSearchingParkingSpace.setOnClickListener(v -> btnSearchingParkingSpaceOnClicked());
dataBinding.btnStartBack.setOnClickListener(v -> {
......@@ -169,8 +172,9 @@ public class T02StartActivity extends AppCompatActivity {
t02StartViewModel.setSpace(selectedSpace);
// 自動下一階段
autoNext(t01SettingViewModel.getAutoNext(), Stage.SPACE);
// 搜尋該案件
btnSearchingParkingSpaceOnClicked();
}
});
......@@ -255,6 +259,8 @@ public class T02StartActivity extends AppCompatActivity {
if ( result.getData() == null){
// 無相關資料
Toast.makeText(this, "沒有相關檔案,請開單", Toast.LENGTH_SHORT).show();
// 自動下一階段
autoNext(t01SettingViewModel.getAutoNext(), Stage.SPACE);
}else {
// 跳至選擇的該案件
String selectedBillingNumber2 = result.getData().getStringExtra("BillingNumber2");
......@@ -266,6 +272,9 @@ public class T02StartActivity extends AppCompatActivity {
Toast.makeText(this, "指標索引錯誤", Toast.LENGTH_SHORT).show();
}
}
}else {
// 自動下一階段
autoNext(t01SettingViewModel.getAutoNext(), Stage.SPACE);
}
});
}
......@@ -422,7 +431,7 @@ public class T02StartActivity extends AppCompatActivity {
} else {
// 資料完整
// 儲存
t02StartViewModel.saveCurrentCase();
t02StartViewModel.saveCurrentCase(true);
}
}
......@@ -637,14 +646,18 @@ public class T02StartActivity extends AppCompatActivity {
private void btnPrintOnClicked(){
Case tempCase = t02StartViewModel.getCurrentCase().getValue();
if (tempCase.caseStatus != CaseStatus.LIST){
Toast.makeText(this, "請先確認資料後再列印", Toast.LENGTH_SHORT).show();
return;
}
if (blueToothViewModel.getBlueToothStatus().getValue() != BlueToothViewModel.BlueToothStatus.CONNECT_SUCCESS){
Toast.makeText(this, "請先連結藍芽印表機裝置", Toast.LENGTH_SHORT).show();
return;
}
if (tempCase.caseStatus != CaseStatus.LIST){
// TODO: 2022/8/8 檢查是否完整,完整的話寫入DB後列印
if (t02StartViewModel.caseDataConfirm()) {
t02StartViewModel.saveCurrentCase(false);
}else {
Toast.makeText(this, "請先確認資料後再列印", Toast.LENGTH_SHORT).show();
}
}
blueToothViewModel.printCase(tempCase);
......
......@@ -233,7 +233,10 @@ public class T02StartViewModel extends AndroidViewModel {
return newCase;
}
public void saveCurrentCase(){
/**
* @param isFinish2New 是否,保存後跳至新單
*/
public void saveCurrentCase(boolean isFinish2New){
// TODO: 2022/7/29 case資料寫入db
Case tempCase = currentCase.getValue();
switch (tempCase.caseStatus){
......@@ -255,7 +258,9 @@ public class T02StartViewModel extends AndroidViewModel {
Common.writeTXT(getApplication(), tempCase.uploadPath, tempCase.getUploadFileName(), tempCase.getDetailString());
// 跳至新單
currentCase.postValue(newCase());
if (isFinish2New){
currentCase.postValue(newCase());
}
// 加入清單
cases.add(tempCase);
......@@ -353,7 +358,7 @@ public class T02StartViewModel extends AndroidViewModel {
// 更新當前案件
if (tempCase.caseStatus == CaseStatus.LIST || tempCase.caseStatus == CaseStatus.CHANGED){
tempCase.caseStatus = CaseStatus.CHANGED;
saveCurrentCase();
saveCurrentCase(false);
}else {
currentCase.setValue(tempCase);
}
......@@ -587,7 +592,7 @@ public class T02StartViewModel extends AndroidViewModel {
currentCase.setValue(tempCase);
// 寫入DB
saveCurrentCase();
saveCurrentCase(false);
}
public void setLocation(Location location) {
......@@ -612,7 +617,7 @@ public class T02StartViewModel extends AndroidViewModel {
if (tempCase.caseStatus != CaseStatus.LOCK){
tempCase.caseStatus = CaseStatus.LOCK;
currentCase.setValue(tempCase);
saveCurrentCase();
saveCurrentCase(false);
}
}
......@@ -621,7 +626,7 @@ public class T02StartViewModel extends AndroidViewModel {
if (tempCase.caseStatus == CaseStatus.LOCK){
tempCase.caseStatus = CaseStatus.CHANGED;
currentCase.setValue(tempCase);
saveCurrentCase();
saveCurrentCase(false);
}
}
......
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<codeStyleSettings language="XML">
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
</code_scheme>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="PLATFORM" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="https://maven.google.com" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\m2repository" />
<option name="name" value="D:\Android_SDK\extras\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/m2repository/" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\google\m2repository" />
<option name="name" value="D:\Android_SDK\extras\google\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/google/m2repository/" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\android\m2repository" />
<option name="name" value="D:\Android_SDK\extras\android\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/android/m2repository/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<option name="id" value="Android" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>
\ No newline at end of file
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<codeStyleSettings language="XML">
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
</code_scheme>
</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
<option name="testRunner" value="PLATFORM" />
<option name="testRunner" value="GRADLE" />
<option name="distributionType" value="DEFAULT_WRAPPED" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="modules">
<set>
<option value="$PROJECT_DIR$" />
<option value="$PROJECT_DIR$/app" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
</GradleProjectSettings>
</option>
</component>
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RemoteRepositoriesConfiguration">
<remote-repository>
<option name="id" value="central" />
<option name="name" value="Maven Central repository" />
<option name="url" value="https://repo1.maven.org/maven2" />
</remote-repository>
<remote-repository>
<option name="id" value="jboss.community" />
<option name="name" value="JBoss Community repository" />
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
</remote-repository>
<remote-repository>
<option name="id" value="BintrayJCenter" />
<option name="name" value="BintrayJCenter" />
<option name="url" value="https://jcenter.bintray.com/" />
</remote-repository>
<remote-repository>
<option name="id" value="maven" />
<option name="name" value="maven" />
<option name="url" value="https://maven.google.com" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\m2repository" />
<option name="name" value="D:\Android_SDK\extras\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/m2repository/" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\google\m2repository" />
<option name="name" value="D:\Android_SDK\extras\google\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/google/m2repository/" />
</remote-repository>
<remote-repository>
<option name="id" value="D:\Android_SDK\extras\android\m2repository" />
<option name="name" value="D:\Android_SDK\extras\android\m2repository" />
<option name="url" value="file:/D:/Android_SDK/extras/android/m2repository/" />
</remote-repository>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="NullableNotNullManager">
<option name="myDefaultNullable" value="android.support.annotation.Nullable" />
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
<list size="12">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
<item index="3" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="4" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
<item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
<item index="7" class="java.lang.String" itemvalue="android.annotation.Nullable" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
<item index="10" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
<item index="11" class="java.lang.String" itemvalue="com.android.annotations.Nullable" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
<list size="11">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
<item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
<item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
<item index="6" class="java.lang.String" itemvalue="android.annotation.NonNull" />
<item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
<item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
<item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
<item index="10" class="java.lang.String" itemvalue="com.android.annotations.NonNull" />
</list>
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RunConfigurationProducerService">
<option name="ignoredProducers">
<set>
<option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
<option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
</set>
</option>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Encoding">
<file url="PROJECT" charset="UTF-8" />
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/../../../../../.." vcs="Git" />
</component>
</project>
\ No newline at end of file
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