From cabb78cffcadb64f9170a73ef9bd4d2113156a89 Mon Sep 17 00:00:00 2001 From: jjLv <1981429112@qq.com> Date: Tue, 16 Sep 2025 10:38:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canteen/adapter/DocumentOutAdapter.java | 6 +- .../canteen/adapter/EnterDetailAdapter.java | 7 +- .../bonus/canteen/adapter/GoodsAdapter.java | 4 +- .../canteen/adapter/OutDetailAdapter.java | 4 +- .../com/bonus/canteen/entity/GoodsBean.java | 97 ++++++++++--------- .../fragment/EnterAndOutRecordsFragment.java | 2 +- .../InspectionWarehousingFragment.java | 41 ++++---- .../fragment/EnterWarehouseFragment.java | 2 +- .../InspectionWarehousingOutFragment.java | 23 ++--- .../fragment/OutWarehouseFragment.java | 6 +- .../DocumentSelectionFragment.java | 7 +- .../ProductSelectionFragment.java | 10 +- .../bonus/canteen/utils/OkHttpService.java | 2 +- .../com/bonus/canteen/utils/StringHelper.java | 9 ++ .../com/bonus/canteen/utils/WorkConfig.java | 8 +- .../main/res/layout/activity_good_item.xml | 1 + 16 files changed, 120 insertions(+), 109 deletions(-) diff --git a/app/src/main/java/com/bonus/canteen/adapter/DocumentOutAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/DocumentOutAdapter.java index 66244dc..6edbd56 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/DocumentOutAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/DocumentOutAdapter.java @@ -149,14 +149,14 @@ public class DocumentOutAdapter extends BaseAdapter { GoodsBean goodsBean = new GoodsBean(); goodsBean.setMaterialId(documentOutDetailBean.getMaterialId()); goodsBean.setMaterialName(documentOutDetailBean.getMaterialName()); - goodsBean.setMaterialTotalNum(documentOutDetailBean.getFetchNum()); - goodsBean.setTotalQualifiedNum(documentOutDetailBean.getFetchNum()); + goodsBean.setMaterialTotalNum(new BigDecimal(documentOutDetailBean.getFetchNum())); + goodsBean.setTotalQualifiedNum(new BigDecimal(documentOutDetailBean.getFetchNum())); goodsBean.setInventoryId(documentOutDetailBean.getInventoryId()); goodsBean.setUnitName(documentOutDetailBean.getUnitName()); goodsBean.setUnitId(documentOutDetailBean.getUnitId()); goodsBean.setMaterialTypeName(documentOutDetailBean.getMaterialTypeName()); goodsBean.setMaterialCode(documentOutDetailBean.getMaterialCode()); - goodsBean.setOutCount(documentOutDetailBean.getOutCount()); + goodsBean.setOutCount(new BigDecimal(documentOutDetailBean.getOutCount())); goodsBean.setFetchDetailId(documentOutDetailBean.getFetchDetailId()); goodsBeanList.add(goodsBean); }); diff --git a/app/src/main/java/com/bonus/canteen/adapter/EnterDetailAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/EnterDetailAdapter.java index a81b4e4..d67d889 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/EnterDetailAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/EnterDetailAdapter.java @@ -38,6 +38,7 @@ import com.bonus.canteen.utils.WorkConfig; import org.easydarwin.easypusher.R; +import java.math.BigDecimal; import java.util.List; public class EnterDetailAdapter extends BaseAdapter { @@ -103,9 +104,9 @@ public class EnterDetailAdapter extends BaseAdapter { holder.name.setText(bean.getMaterialName()); holder.type.setText(bean.getMaterialTypeName()); holder.unit.setText(bean.getUnitName()); - holder.price.setText(bean.getUnitPrice()); - holder.inspectedGoodsNum.setText(bean.getInventoryNum()); - holder.subTotal.setText(bean.getTotalPrice()); + holder.price.setText(bean.getUnitPrice().divide(BigDecimal.valueOf(100)) + ""); + holder.inspectedGoodsNum.setText(bean.getIntoNum() + ""); + holder.subTotal.setText(bean.getTotalPrice().divide(BigDecimal.valueOf(100)) + ""); return convertView; } private class ViewHolder { diff --git a/app/src/main/java/com/bonus/canteen/adapter/GoodsAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/GoodsAdapter.java index dfecf87..f336f6e 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/GoodsAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/GoodsAdapter.java @@ -99,7 +99,7 @@ public class GoodsAdapter extends BaseAdapter { holder.code.setText(bean.getMaterialCode()); holder.type.setText(bean.getMaterialTypeName()); holder.unit.setText(bean.getUnitName()); - holder.num.setText(StringHelper.isEmptyAndNull(bean.getMaterialTotalNum()) ? "0" : bean.getMaterialTotalNum()); + holder.num.setText(StringHelper.isEmptyAndNullOrZero(bean.getMaterialTotalNum()) ? "0" : bean.getMaterialTotalNum() + ""); String url = bean.getImgUrl(); if (!StringHelper.isEmptyAndNull(bean.getImgUrl()) && !url.contains("http")) { url = WorkConfig.getFileUrl() + bean.getImgUrl(); @@ -124,7 +124,7 @@ public class GoodsAdapter extends BaseAdapter { if (StringHelper.isEmptyAndNull(bean.getIsSelect()) || !bean.getIsSelect().equals("1")) { //判断当前库存是否大于0 if (pageType.equals("out")){ - if (StringHelper.isEmptyAndNull(bean.getMaterialTotalNum()) || new BigDecimal(bean.getMaterialTotalNum()).compareTo(BigDecimal.valueOf(0)) <= 0) { + if (StringHelper.isEmptyAndNullOrZero(bean.getMaterialTotalNum()) || bean.getMaterialTotalNum().compareTo(BigDecimal.valueOf(0)) <= 0) { ProductSelectionFragment tempFragment = productSelectionFragment.get(); if(tempFragment != null && !tempFragment.isDetached()){ tempFragment.showToast("当前商品库存不足,无法选择!"); diff --git a/app/src/main/java/com/bonus/canteen/adapter/OutDetailAdapter.java b/app/src/main/java/com/bonus/canteen/adapter/OutDetailAdapter.java index 0b168fe..2338678 100644 --- a/app/src/main/java/com/bonus/canteen/adapter/OutDetailAdapter.java +++ b/app/src/main/java/com/bonus/canteen/adapter/OutDetailAdapter.java @@ -96,8 +96,8 @@ public class OutDetailAdapter extends BaseAdapter { holder.name.setText(bean.getMaterialName()); holder.type.setText(bean.getMaterialTypeName()); holder.unit.setText(bean.getUnitName()); - holder.num.setText(bean.getInventoryNum()); - holder.collectedNum.setText(bean.getFetchNum()); + holder.num.setText(bean.getInventoryNum() + ""); + holder.collectedNum.setText(bean.getFetchNum() + ""); return convertView; } private class ViewHolder { diff --git a/app/src/main/java/com/bonus/canteen/entity/GoodsBean.java b/app/src/main/java/com/bonus/canteen/entity/GoodsBean.java index d2b92cb..792117c 100644 --- a/app/src/main/java/com/bonus/canteen/entity/GoodsBean.java +++ b/app/src/main/java/com/bonus/canteen/entity/GoodsBean.java @@ -23,6 +23,7 @@ import com.bonus.canteen.utils.StringHelper; import com.google.gson.annotations.SerializedName; import java.io.Serializable; +import java.math.BigDecimal; public class GoodsBean implements Serializable { @SerializedName("materialId") @@ -39,35 +40,35 @@ public class GoodsBean implements Serializable { @SerializedName("unitName") private String unitName; @SerializedName(value = "unitPrice", alternate = {"singlePrice"}) - private String unitPrice; + private BigDecimal unitPrice; private String imgUrl; @SerializedName(value = "materialTotalNum", alternate = {"orderNum","materialNum"}) - private String materialTotalNum; + private BigDecimal materialTotalNum; private String isSelect; private String inventoryId; private String fetchDetailId; private String supplierId; private String supplierName; - private String totalPrice; - private String purNum; - private String deliveryNum; - private String fetchNum; - private String unqualifiedNum; - private String totalQualifiedNum; - private String inventoryNum; + private BigDecimal totalPrice; + private BigDecimal purNum; + private BigDecimal deliveryNum; + private BigDecimal fetchNum; + private BigDecimal unqualifiedNum; + private BigDecimal totalQualifiedNum; + private BigDecimal inventoryNum; private String warehouseId; private String expireTime; private String productDate; private String weight; private String takePhoto; - private String intoNum; - private String outNum; - private String outCount; + private BigDecimal intoNum; + private BigDecimal outNum; + private BigDecimal outCount; private String ifFillInventory; @SuppressLint("DefaultLocale") - public String getTotalQualifiedNum() { - return StringHelper.isEmptyAndNullOrZero(totalQualifiedNum) ? "0" : String.format("%.2f", Double.parseDouble(totalQualifiedNum)); + public BigDecimal getTotalQualifiedNum() { + return StringHelper.isEmptyAndNullOrZero(totalQualifiedNum) ? new BigDecimal("0") : totalQualifiedNum; } public String getWarehouseId() { @@ -95,51 +96,51 @@ public class GoodsBean implements Serializable { } @SuppressLint("DefaultLocale") - public String getIntoNum() { - return StringHelper.isEmptyAndNullOrZero(intoNum) ? "0" : String.format("%.2f", Double.parseDouble(intoNum)); + public BigDecimal getIntoNum() { + return StringHelper.isEmptyAndNullOrZero(intoNum) ? new BigDecimal("0") : intoNum; } - public void setIntoNum(String intoNum) { + public void setIntoNum(BigDecimal intoNum) { this.intoNum = intoNum; } - public void setTotalQualifiedNum(String totalQualifiedNum) { + public void setTotalQualifiedNum(BigDecimal totalQualifiedNum) { this.totalQualifiedNum = totalQualifiedNum; } @SuppressLint("DefaultLocale") - public String getFetchNum() { - return StringHelper.isEmptyAndNullOrZero(fetchNum) ? "0" : String.format("%.2f", Double.parseDouble(fetchNum)); + public BigDecimal getFetchNum() { + return StringHelper.isEmptyAndNullOrZero(fetchNum) ? new BigDecimal("0") : fetchNum; } @SuppressLint("DefaultLocale") - public String getDeliveryNum() { - return StringHelper.isEmptyAndNullOrZero(deliveryNum) ? "0" : String.format("%.2f", Double.parseDouble(deliveryNum)); + public BigDecimal getDeliveryNum() { + return StringHelper.isEmptyAndNullOrZero(deliveryNum) ? new BigDecimal("0") : deliveryNum; } - public void setDeliveryNum(String deliveryNum) { + public void setDeliveryNum(BigDecimal deliveryNum) { this.deliveryNum = deliveryNum; } @SuppressLint("DefaultLocale") - public String getOutNum() { - return StringHelper.isEmptyAndNullOrZero(outNum) ? "0" : String.format("%.2f", Double.parseDouble(outNum)); + public BigDecimal getOutNum() { + return StringHelper.isEmptyAndNullOrZero(outNum) ? new BigDecimal("0") : outNum; } - public void setOutNum(String outNum) { + public void setOutNum(BigDecimal outNum) { this.outNum = outNum; } @SuppressLint("DefaultLocale") - public String getOutCount() { - return StringHelper.isEmptyAndNullOrZero(outCount) ? "0" : String.format("%.2f", Double.parseDouble(outCount)); + public BigDecimal getOutCount() { + return StringHelper.isEmptyAndNullOrZero(outCount) ? new BigDecimal("0") : outCount; } - public void setOutCount(String outCount) { + public void setOutCount(BigDecimal outCount) { this.outCount = outCount; } - public void setFetchNum(String fetchNum) { + public void setFetchNum(BigDecimal fetchNum) { this.fetchNum = fetchNum; } @@ -200,11 +201,11 @@ public class GoodsBean implements Serializable { } @SuppressLint("DefaultLocale") - public String getUnitPrice() { - return StringHelper.isEmptyAndNullOrZero(unitPrice) ? "0" : String.format("%.2f", Double.parseDouble(unitPrice)); + public BigDecimal getUnitPrice() { + return StringHelper.isEmptyAndNullOrZero(unitPrice) ? new BigDecimal("0") : unitPrice; } - public void setUnitPrice(String unitPrice) { + public void setUnitPrice(BigDecimal unitPrice) { this.unitPrice = unitPrice; } @@ -217,11 +218,11 @@ public class GoodsBean implements Serializable { } @SuppressLint("DefaultLocale") - public String getMaterialTotalNum() { - return StringHelper.isEmptyAndNullOrZero(materialTotalNum) ? "0" : String.format("%.2f", Double.parseDouble(materialTotalNum)); + public BigDecimal getMaterialTotalNum() { + return StringHelper.isEmptyAndNullOrZero(materialTotalNum) ? new BigDecimal("0") : materialTotalNum; } - public void setMaterialTotalNum(String materialTotalNum) { + public void setMaterialTotalNum(BigDecimal materialTotalNum) { this.materialTotalNum = materialTotalNum; } @@ -258,38 +259,38 @@ public class GoodsBean implements Serializable { } @SuppressLint("DefaultLocale") - public String getTotalPrice() { - return StringHelper.isEmptyAndNullOrZero(totalPrice) ? "0" : String.format("%.2f", Double.parseDouble(totalPrice)); + public BigDecimal getTotalPrice() { + return StringHelper.isEmptyAndNullOrZero(totalPrice) ? new BigDecimal("0") : totalPrice; } - public void setTotalPrice(String totalPrice) { + public void setTotalPrice(BigDecimal totalPrice) { this.totalPrice = totalPrice; } @SuppressLint("DefaultLocale") - public String getPurNum() { - return StringHelper.isEmptyAndNullOrZero(purNum) ? "0" : String.format("%.2f", Double.parseDouble(purNum)); + public BigDecimal getPurNum() { + return StringHelper.isEmptyAndNullOrZero(purNum) ? new BigDecimal("0") : purNum; } - public void setPurNum(String purNum) { + public void setPurNum(BigDecimal purNum) { this.purNum = purNum; } @SuppressLint("DefaultLocale") - public String getUnqualifiedNum() { - return StringHelper.isEmptyAndNullOrZero(unqualifiedNum) ? "0" : String.format("%.2f", Double.parseDouble(unqualifiedNum)); + public BigDecimal getUnqualifiedNum() { + return StringHelper.isEmptyAndNullOrZero(unqualifiedNum) ? new BigDecimal("0") : unqualifiedNum; } - public void setUnqualifiedNum(String unqualifiedNum) { + public void setUnqualifiedNum(BigDecimal unqualifiedNum) { this.unqualifiedNum = unqualifiedNum; } @SuppressLint("DefaultLocale") - public String getInventoryNum() { - return StringHelper.isEmptyAndNullOrZero(inventoryNum) ? "0" : String.format("%.2f", Double.parseDouble(inventoryNum)); + public BigDecimal getInventoryNum() { + return StringHelper.isEmptyAndNullOrZero(inventoryNum) ? new BigDecimal("0") : inventoryNum; } - public void setInventoryNum(String inventoryNum) { + public void setInventoryNum(BigDecimal inventoryNum) { this.inventoryNum = inventoryNum; } diff --git a/app/src/main/java/com/bonus/canteen/fragment/EnterAndOutRecordsFragment.java b/app/src/main/java/com/bonus/canteen/fragment/EnterAndOutRecordsFragment.java index 03d9f34..b0f3994 100644 --- a/app/src/main/java/com/bonus/canteen/fragment/EnterAndOutRecordsFragment.java +++ b/app/src/main/java/com/bonus/canteen/fragment/EnterAndOutRecordsFragment.java @@ -60,7 +60,7 @@ import okhttp3.MediaType; import okhttp3.Request; import okhttp3.RequestBody; -@Page(name = "出入库记录", anim = CoreAnim.none) + public class EnterAndOutRecordsFragment extends BaseFragment { public final OkHttpService service = new OkHttpService(); private EasyIndicator mEasyIndicator; diff --git a/app/src/main/java/com/bonus/canteen/fragment/EnterFragment/InspectionWarehousingFragment.java b/app/src/main/java/com/bonus/canteen/fragment/EnterFragment/InspectionWarehousingFragment.java index 87d6f24..91b0b1e 100644 --- a/app/src/main/java/com/bonus/canteen/fragment/EnterFragment/InspectionWarehousingFragment.java +++ b/app/src/main/java/com/bonus/canteen/fragment/EnterFragment/InspectionWarehousingFragment.java @@ -118,6 +118,7 @@ import java.math.RoundingMode; import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; +import java.util.Calendar; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; @@ -186,6 +187,7 @@ public class InspectionWarehousingFragment extends BaseFragment Log.i("pvTime", "onTimeSelectChanged")) .setTitleText("日期选择") .setType(true, true, true, false, false, false) + .setRangDate(Calendar.getInstance(), null) // 设置最小日期为今天 .build(); } @@ -198,6 +200,7 @@ public class InspectionWarehousingFragment extends BaseFragment Log.i("pvTime", "onTimeSelectChanged")) .setTitleText("日期选择") .setType(true, true, true, false, false, false) + .setRangDate(null, Calendar.getInstance()) // 设置最大日期为今天 .build(); } @@ -334,8 +337,8 @@ public class InspectionWarehousingFragment extends BaseFragment= originalNum.doubleValue()) { @@ -892,7 +895,7 @@ public class InspectionWarehousingFragment extends BaseFragment= originalNum.doubleValue()) { @@ -984,7 +987,7 @@ public class InspectionWarehousingFragment extends BaseFragment selectedGoods) { List filteredGoods = new ArrayList<>(selectedGoods.stream() - .filter(goods -> !StringHelper.isEmptyAndNull(goods.getFetchNum()) && Double.parseDouble(goods.getFetchNum()) > 0) + .filter(goods -> !StringHelper.isEmptyAndNullOrZero(goods.getFetchNum()) && goods.getFetchNum().compareTo(BigDecimal.ZERO) > 0) .collect(Collectors.toMap(GoodsBean::getMaterialCode, goods -> goods, (g1, g2) -> g1)) .values()); if (filteredGoods.isEmpty()) { @@ -589,7 +589,8 @@ public class InspectionWarehousingOutFragment extends BaseFragment outWarehouseDetailsBeans = new ArrayList<>(); for (GoodsBean goods : selectedGoods) { totalNum = totalNum.add(new BigDecimal(goods.getWeight())); - if (!StringHelper.isEmptyAndNull(goods.getUnitPrice())) { - totalPrice = totalPrice.add(new BigDecimal(goods.getTotalPrice())); + if (!StringHelper.isEmptyAndNullOrZero(goods.getUnitPrice())) { + totalPrice = totalPrice.add(goods.getTotalPrice()); } outWarehouseDetailsBeans.add(new OutWarehouseDetailsBean( goods.getWeight(), - goods.getTotalPrice(), + goods.getTotalPrice() + "", goods.getImgUrl() )); } diff --git a/app/src/main/java/com/bonus/canteen/fragment/commonFragment/DocumentSelectionFragment.java b/app/src/main/java/com/bonus/canteen/fragment/commonFragment/DocumentSelectionFragment.java index c908f3e..41f1f6b 100644 --- a/app/src/main/java/com/bonus/canteen/fragment/commonFragment/DocumentSelectionFragment.java +++ b/app/src/main/java/com/bonus/canteen/fragment/commonFragment/DocumentSelectionFragment.java @@ -257,8 +257,7 @@ public class DocumentSelectionFragment extends BaseFragment goodsList = documentBean.getGoodsList(); BigDecimal intoNum = goodsList.stream() - .map(goods -> new BigDecimal(goods.getIntoNum())) + .map(GoodsBean::getIntoNum) .reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal inspectionNum = goodsList.stream() - .map(goods -> new BigDecimal(goods.getTotalQualifiedNum())) + .map(GoodsBean::getTotalQualifiedNum) .reduce(BigDecimal.ZERO, BigDecimal::add); if (inspectionNum.compareTo(intoNum) == 0) { requireActivity().runOnUiThread(() -> { diff --git a/app/src/main/java/com/bonus/canteen/fragment/commonFragment/ProductSelectionFragment.java b/app/src/main/java/com/bonus/canteen/fragment/commonFragment/ProductSelectionFragment.java index ea6e5a8..d8339da 100644 --- a/app/src/main/java/com/bonus/canteen/fragment/commonFragment/ProductSelectionFragment.java +++ b/app/src/main/java/com/bonus/canteen/fragment/commonFragment/ProductSelectionFragment.java @@ -134,14 +134,10 @@ public class ProductSelectionFragment extends BaseFragment