|
|
@@ -30,6 +30,7 @@ import com.uas.applocation.UasLocationHelper;
|
|
|
import com.uas.appworks.R;
|
|
|
import com.uas.appworks.adapter.CustomerVisitBillAdapter;
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
@@ -59,16 +60,27 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
|
|
|
@Override
|
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
|
if (item.getItemId() == R.id.saveAndSubmit) {
|
|
|
- if (address != null && address.getLatLng() != null) {
|
|
|
- Map<String, Object> map = new HashMap<>();
|
|
|
- map.put("company", address.getName());
|
|
|
- map.put("companyAddress", address.getAddress());
|
|
|
- map.put("visitTime", DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS));
|
|
|
- map.put("latitude", address.getLatLng().latitude);
|
|
|
- map.put("longitude", address.getLatLng().longitude);
|
|
|
- saveOutAddress(map);
|
|
|
+ String mp_cuname = "";
|
|
|
+ String mp_address = "";
|
|
|
+ List<BillGroupModel.BillModel> showBillModels = mBillAdapter.getShowBillModels();
|
|
|
+ for (BillGroupModel.BillModel billModel : showBillModels) {
|
|
|
+ if ("mp_address".equals(billModel.getField())) {
|
|
|
+ mp_address = billModel.getValue();
|
|
|
+ }
|
|
|
+ if (StringUtil.hasOneEqual(billModel.getField(), "mp_cuname", "mp_xmmc_user")) {
|
|
|
+ mp_cuname = billModel.getValue();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!StringUtil.isEmpty(mp_cuname) || !StringUtil.isEmpty(mp_address)) {
|
|
|
+ if (address == null) {
|
|
|
+ address = new SelectAimModel();
|
|
|
+ }
|
|
|
+ address.setName(mp_cuname);
|
|
|
+ address.setAddress(mp_address);
|
|
|
}
|
|
|
- mBillPresenter.saveAndSubmit(mBillAdapter.getBillGroupModels());
|
|
|
+
|
|
|
+ loadLatLng(StringUtil.isEmpty(mp_address) ? mp_cuname : mp_address);
|
|
|
} else if (item.getItemId() == com.modular.apputils.R.id.list) {
|
|
|
toDataFormList();
|
|
|
}
|
|
|
@@ -177,16 +189,6 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
|
|
|
@Override
|
|
|
protected void handlerSelectDbFind(JSONObject object, int groupId) {
|
|
|
super.handlerSelectDbFind(object, groupId);
|
|
|
- String mp_cuname = JSONUtil.getText(object, "mp_cuname");
|
|
|
- String mp_address = JSONUtil.getText(object, "mp_address");
|
|
|
- if (!StringUtil.isEmpty(mp_cuname) || !StringUtil.isEmpty(mp_address)) {
|
|
|
- if (address == null) {
|
|
|
- address = new SelectAimModel();
|
|
|
- }
|
|
|
- address.setName(mp_cuname);
|
|
|
- address.setAddress(mp_address);
|
|
|
- loadLatLng(StringUtil.isEmpty(mp_address) ? mp_cuname : mp_address);
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -265,7 +267,7 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
|
|
|
&& mTagMap.get("visitTime") != null
|
|
|
&& mTagMap.get("longitude") != null
|
|
|
&& mTagMap.get("latitude") != null
|
|
|
- ) {
|
|
|
+ ) {
|
|
|
saveOutAddress(mTagMap);
|
|
|
hasSubmit = true;
|
|
|
mBillGroupModel.setTagMap(null);
|
|
|
@@ -349,6 +351,34 @@ public class CustomerVisitBillInputActivity extends BillInputActivity {
|
|
|
LatLng latLng = new LatLng(lat, lng);
|
|
|
address.setLatLng(latLng);
|
|
|
}
|
|
|
+
|
|
|
+ List<BillGroupModel> billGroupModels = mBillAdapter.getBillGroupModels();
|
|
|
+ if (address != null && address.getLatLng() != null) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ map.put("company", address.getName());
|
|
|
+ map.put("companyAddress", address.getAddress());
|
|
|
+ map.put("visitTime", DateFormatUtil.long2Str(DateFormatUtil.YMD_HMS));
|
|
|
+ map.put("latitude", address.getLatLng().latitude);
|
|
|
+ map.put("longitude", address.getLatLng().longitude);
|
|
|
+ saveOutAddress(map);
|
|
|
+
|
|
|
+ BillGroupModel latLngGroupModel = new BillGroupModel();
|
|
|
+ latLngGroupModel.setForm(true);
|
|
|
+
|
|
|
+ BillGroupModel.BillModel latBillModel = new BillGroupModel.BillModel();
|
|
|
+ latBillModel.setField("mp_latitude");
|
|
|
+ latBillModel.setDisplay(address.getLatLng().latitude + "");
|
|
|
+ BillGroupModel.BillModel lngBillModel = new BillGroupModel.BillModel();
|
|
|
+ lngBillModel.setField("mp_longitude");
|
|
|
+ lngBillModel.setDisplay(address.getLatLng().longitude + "");
|
|
|
+
|
|
|
+ latLngGroupModel.addHide(latBillModel);
|
|
|
+ latLngGroupModel.addHide(lngBillModel);
|
|
|
+
|
|
|
+ billGroupModels.add(latLngGroupModel);
|
|
|
+ }
|
|
|
+
|
|
|
+ mBillPresenter.saveAndSubmit(billGroupModels);
|
|
|
break;
|
|
|
case 13:
|
|
|
saveAddress();
|