Commit adb702b0 by 张建升

代码同步

parent d9bcad5e
......@@ -24,6 +24,7 @@ public class DishDetailBean {
private boolean deletes;// 非必须 删除 false 未删除 true 删除
private String foodBasicUnit;// string 非必须 食材基本单位
private List<DeputyUnitBean> foodUnits;
private boolean show=true;
public DishDetailBean(PurchaseFoodBean foodBean , DishNode dishNode ) {
// this.id = foodBean.get; ///此时的 id 一定是null deletes必是f
......@@ -40,5 +41,6 @@ public class DishDetailBean {
this.foodNo = foodBean.getFoodNo();
this.type = 0;
this.foodUnits = foodBean.getFoodUnits();
this.show = true;
}
}
......@@ -35,11 +35,9 @@ public interface DishesContract {
void loadDishesFail();
/**
* 加載/修改菜品食材信息
*
* @param buyIngredientsBeans 顯示的食材
* 食材綁定成功
*/
void loadFood(List<BuyIngredientsBean> buyIngredientsBeans);
void bindDishFoods(DishNode dishNode);
void selectDishGroupByIndex(int position);
......
......@@ -94,12 +94,6 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
}
@Override
public void onComplete() {
super.onComplete();
LogUtil.e("ZJS"," onComplete ");
}
@Override
public void onError(@NotNull Throwable t) {
super.onError(t);
mRootView.loadDishGroupFail();
......@@ -140,7 +134,7 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
}
public void bindDishFoods(List<DishDetailBean> dishDetailBeans ) {
public void bindDishFoods( final DishNode dishNode,List<DishDetailBean> dishDetailBeans ) {
mModel.bindDishes(RequestBody.create(MediaType.parse("application/json"), JsonUtils.toJson(dishDetailBeans)))//發送請求
.subscribeOn(Schedulers.io())//切換到io異步線程
.doOnSubscribe(disposable -> mRootView.showLoading(AppConstant.GET_INFO_LOADING))//顯示加載提示框
......@@ -154,7 +148,12 @@ public class DishesPresenter extends BasePresenter<DishesContract.Model, DishesC
public void onNext(BaseResult bindResult) {//數據處理
if (bindResult.isSuccess()) {
LogUtil.e("ZJS"," 菜品食材綁定成功 bindResult"+bindResult.toString());
DishDetailResultBean dishDetailResultBean=new DishDetailResultBean();
dishDetailResultBean.setData(dishDetailBeans);
dishNode.setDetailBean(dishDetailResultBean);
mRootView.showMessage("菜品食材綁定成功");
mRootView.bindDishFoods(dishNode);
} else if (TextUtil.isNotEmptyOrNullOrUndefined(bindResult.getErrMsg())) {
mRootView.showMessage(bindResult.getErrMsg());
} else {
......
......@@ -2,16 +2,12 @@ package com.gingersoft.supply_chain.mvp.ui.adapter.dishes;
import android.content.Context;
import androidx.core.content.ContextCompat;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.gingersoft.gsa.cloud.common.utils.CollectionUtils;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.supply_chain.R;
import com.gingersoft.supply_chain.mvp.bean.DeputyUnitBean;
import com.gingersoft.supply_chain.mvp.bean.DishDetailBean;
import com.gingersoft.supply_chain.mvp.bean.PurchaseWarehousingOrderDetailsVO;
import org.jetbrains.annotations.NotNull;
......@@ -23,14 +19,9 @@ import java.util.List;
*/
public class DishDetailAdapter extends BaseQuickAdapter<DishDetailBean, BaseViewHolder> {
private Context context;
private int[] colors = new int[]{R.color.color_f9, R.color.white};
public DishDetailAdapter(Context context, List<DishDetailBean> foods) {
super(R.layout.item_dishes_foods,foods);
this.context = context;
addChildClickViewIds(R.id.tv_dishes_unit,R.id.tv_dishes_del);
// TODO: 2021/7/25 扶單位處理
}
......@@ -38,6 +29,13 @@ public class DishDetailAdapter extends BaseQuickAdapter<DishDetailBean, BaseView
protected void convert(@NotNull BaseViewHolder viewHolder, DishDetailBean item) {
viewHolder.setText(R.id.tv_dishes_name, item.getFoodName());//食材名字
viewHolder.setText(R.id.tv_dishes_unit, item.getBasicUnitName());//配置的單位
if (item.isShow()) {
// viewHolder.itemView.setVisibility(View.VISIBLE);
// viewHolder.setTextColor(R.id.tv_dishes_name, ArmsUtils.getColor(context, R.color.color_18));
} else {
// viewHolder.itemView.setVisibility(View.GONE);
// viewHolder.setTextColor(R.id.tv_dishes_name, ArmsUtils.getColor(context, R.color.switcher_off_color));
}
// viewHolder.setText(R.id.tv_dishes_unit, item.getUnitName());
List<DeputyUnitBean> deputyUnitBeans= item.getFoodUnits();//副單位
......
......@@ -115,7 +115,9 @@ public class DishNode extends BaseExpandNode {
", isParent=" + isParent +
", seqNo=" + seqNo +
", foodName='" + foodName + '\'' +
", isSelect=" + isSelect +
", childNode=" + childNode +
", detailBean=" + detailBean +
'}';
}
......
......@@ -16,7 +16,7 @@ import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.supply_chain.R;
import com.gingersoft.supply_chain.R2;
import com.gingersoft.supply_chain.di.component.DaggerDishesComponent;
import com.gingersoft.supply_chain.mvp.bean.BuyIngredientsBean;
import com.gingersoft.supply_chain.mvp.bean.DeputyUnitBean;
import com.gingersoft.supply_chain.mvp.bean.DishDetailBean;
import com.gingersoft.supply_chain.mvp.bean.DishDetailResultBean;
import com.gingersoft.supply_chain.mvp.bean.PurchaseFoodBean;
......@@ -27,7 +27,9 @@ import com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishNode;
import com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishesGroupNode;
import com.gingersoft.supply_chain.mvp.ui.adapter.dishes.DishesTreeAdapter;
import com.gingersoft.supply_chain.mvp.ui.fragment.food.OtherFunctionFragment;
import com.gingersoft.supply_chain.mvp.ui.widget.ChooseUnitPopup;
import com.jess.arms.di.component.AppComponent;
import com.lxj.xpopup.XPopup;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.ArrayList;
......@@ -86,22 +88,57 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
List<DishDetailBean> foods=dishesResultBean.getData();
if (dishDetailAdapter == null) {
dishDetailAdapter = new DishDetailAdapter(requireContext(), new ArrayList<>());
// addChildClickViewIds(R.id.tv_dishes_unit,R.id.tv_dishes_del);
dishDetailAdapter.setOnItemChildClickListener((adapter, view, position) -> {
LogUtil.e("zjs","position="+position+" curSelectDishNode "+(curSelectDishNode==null));
if (curSelectDishNode != null) {
DishDetailBean detailBean=dishDetailAdapter.getItem(position);
int id = view.getId();
if (id == R.id.tv_dishes_del) {
detailBean.setShow(false);
dishDetailAdapter.notifyItemChanged(position);
} else if (id == R.id.tv_dishes_unit) {
List<DeputyUnitBean> foodUnits= detailBean.getFoodUnits();
if (CollectionUtils.isNotNullOrEmpty(foodUnits)) {
List<String> units = new ArrayList<>();
for (int i = 0; i < foodUnits.size(); i++) {
units.add(foodUnits.get(i).getDeputyUnit());
}
if (units.size() > 1) {
ChooseUnitPopup popup = new ChooseUnitPopup(requireContext()).setStringData(units).setOnSelectListener((pos, text) -> {
//將用戶之前輸入的值,修改到新選擇的單位匯中
String unitName= detailBean.getBasicUnitName();
DeputyUnitBean deputyUnitBean = foodUnits.get(pos);
LogUtil.e("zjs"," unitName="+unitName+" deputyUnitBean="+deputyUnitBean.toString());
String selectUnitName=deputyUnitBean.getDeputyUnit();
if (!unitName.equals(selectUnitName)) {
detailBean.setBasicUnitName(selectUnitName);
dishDetailAdapter.notifyItemChanged(position);
}
});
new XPopup.Builder(getContext())
.hasShadowBg(false)
.atView(view) // 依附于所点击的View,内部会自动判断在上方或者下方显示
.asCustom(popup)
.show();
}
}
}
}
});
rvDishes.setLayoutManager(new LinearLayoutManager(requireContext(), LinearLayoutManager.VERTICAL, false));
dishDetailAdapter.addFooterView(getFooterView(CollectionUtils.isNotNullOrEmpty(foods)));
rvDishes.setAdapter(dishDetailAdapter);
LogUtil.e("ZJS", " initDishDetail==");
}
if (CollectionUtils.isNullOrEmpty(foods)) {
if (CollectionUtils.isNotNullOrEmpty(foods)) {
dishDetailAdapter.setList(foods);
}else {
dishDetailAdapter.setList(new ArrayList<>());
}
LogUtil.e("ZJS"," dishDetailAdapter count=="+dishDetailAdapter.getItemCount());
int count=dishDetailAdapter.getItemCount();
int size=dishDetailAdapter.getData().size();
getFooterView(size>0);
LogUtil.e("ZJS"," dishDetailAdapter count== " +count+" size="+size);
LogUtil.e("ZJS"," dishDetailAdapter== " +" size="+size);
}
private View getFooterView(boolean showDone) {
......@@ -114,7 +151,7 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
if (curSelectDishNode != null) {
List<DishDetailBean> detailBeans= dishDetailAdapter.getData();
if (CollectionUtils.isNotNullOrEmpty(detailBeans)) {
mPresenter.bindDishFoods(detailBeans);
mPresenter.bindDishFoods(curSelectDishNode ,detailBeans);
}
}
......@@ -153,12 +190,16 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
dishesTreeAdapter.notifyItemChanged(lastPost);
dishesTreeAdapter.notifyItemChanged(position);
DishDetailResultBean detailBean= curDishNode.getDetailBean();
LogUtil.e("ZJS"," detailBean="+(detailBean==null));
mPresenter.getDishesDetailData(curDishNode);
if (detailBean == null) {
mPresenter.getDishesDetailData(curDishNode);
} else {
LogUtil.e("ZJS", " detailBean= " + detailBean.toString());
loadDishesInfo(curDishNode, detailBean);
}
}
}
LogUtil.e("ZJS"," onItemChildClick position="+position+" 父节点="+ppos +" getFoodName"+ curDishNode.getFoodName());
}
});
......@@ -189,8 +230,8 @@ public class DishesFragment extends BaseSupplyChainFragment<DishesPresenter> imp
}
@Override
public void loadFood(List<BuyIngredientsBean> buyIngredientsBeans) {
public void bindDishFoods(DishNode dishNode) {
LogUtil.e("zjs"," 绑定车工 "+dishNode.toString());
}
@Override
......
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