ezhizao_zx 1 жил өмнө
parent
commit
624a80518f

+ 147 - 6
src/main/java/cn/ezhizao/project/business/controller/OutsourceBalanceController.java

@@ -17,6 +17,7 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
 /**
@@ -55,6 +56,10 @@ public class OutsourceBalanceController extends BaseController {
     private IBom30101Service bom30101Service;
     @Resource
     private IInc10100Service inc10100Service;
+    @Resource
+    private IBizOutsourcedOrderDetailProcessService bizOutsourcedOrderDetailProcessService;
+    @Resource
+    private IBizMaterialBaseService bizMaterialBaseInfoService;
 
     /**
      * 拉取 Sfc10100 表数据到 machine_center表
@@ -110,6 +115,54 @@ public class OutsourceBalanceController extends BaseController {
         return false;
     }
 
+    private boolean pullP2Inv10100() {
+        BizPullP2Time pullDetail = new BizPullP2Time();
+        // 加工中心
+        pullDetail.setType("material_base_info");
+        List<BizPullP2Time> pullDetails = pullP2TimeService.getList(pullDetail);
+        BizPullP2Time lastPullDetail = null;
+        if (pullDetails.size() > 0) {
+            int lastIndex = pullDetails.size() - 1;
+            lastPullDetail = pullDetails.get(lastIndex);
+        }
+        QueryWrapper<Inv10100> queryWrapper = new QueryWrapper<>();
+        if (lastPullDetail != null) {
+            Date newCondition = lastPullDetail.getPullTime();
+            /*
+             * 这里应该根据新系统中记录的最大的拉取日期
+             * modate:P2中的修改日期,为了避免重复拉取,需要做条件判断。modate必须大于上一次拉取时间
+             */
+            queryWrapper.apply("modate IS NOT NULL AND modate > {0}", newCondition);
+        }
+        List<Inv10100> inv10100List = inv10100Service.getList(queryWrapper);
+        List<BizMaterialBase> machineCenters = bizMaterialBaseInfoService.query().list();
+        List<BizMaterialBase> insertMachineCenter = new ArrayList<>();
+        List<BizMaterialBase> updateMachineCenter = new ArrayList<>();
+
+        inv10100List.forEach(l -> {
+            // 判断之前是否有这个材料
+            if (machineCenters.stream().anyMatch(v -> v.getMaterialCode().equals(l.getPart().trim()))) {
+                // 已插入材料
+                BizMaterialBase oldItem = machineCenters.stream().filter(v -> v.getMaterialCode().equals(l.getPart().trim())).findFirst().orElse(null);
+                oldItem.setByInv10100(l);
+                updateMachineCenter.add(oldItem);
+            } else {
+                BizMaterialBase newItem = new BizMaterialBase(l);
+                insertMachineCenter.add(newItem);
+            }
+        });
+
+        if ((insertMachineCenter.isEmpty() || bizMaterialBaseInfoService.saveBatch(insertMachineCenter)) && (updateMachineCenter.isEmpty() || bizMaterialBaseInfoService.updateBatchById(updateMachineCenter))) {
+            BizPullP2Time bizPullP2Time = new BizPullP2Time();
+            // 将当前时间赋值给 pullTime 属性
+            bizPullP2Time.setPullTime(new Date());
+            bizPullP2Time.setType("material_base_info");
+            // 保存数据
+            pullP2TimeService.saveOrUpdate(bizPullP2Time);
+            return true;
+        }
+        return false;
+    }
     /**
      * 外协结算结果
      *
@@ -121,6 +174,9 @@ public class OutsourceBalanceController extends BaseController {
         List<BizOutsourcedOrderDetail> orderDetails = bizOutsourcedOrderDetailService.query().exists("(select 1 from biz_return_receipt_detail t where t.outsource_detail_id = biz_outsourced_order_detail.id and t.deleted = 0 and status = 1)").list();
         List<BizReturnReceiptDetail> returnReceiptDetails = bizReturnReceiptDetailService.query().eq("status", 1).list();
         List<BizFurnaceNoInfo> furnaceNoInfos = bizFurnaceNoInfoService.query().in("daywork_id", orderDetails.isEmpty() ? Collections.singletonList(0L) : orderDetails.stream().map(BizOutsourcedOrderDetail::getDayworkId).collect(Collectors.toList())).list();
+
+        boolean pullResult = pullP2Sfc10100();
+        boolean pullMaterialResult = pullP2Inv10100();
         // 获取产品材料信息
         QueryWrapper<Inv10100> queryWrapper = new QueryWrapper<>();
         queryWrapper.in("rtrim(part)", furnaceNoInfos.isEmpty() ? Collections.singletonList("0") : furnaceNoInfos.stream().map(BizFurnaceNoInfo::getRawMaterialCode).collect(Collectors.toList()));
@@ -132,11 +188,12 @@ public class OutsourceBalanceController extends BaseController {
         QueryWrapper<Inc10100> inc10100QueryWrapper = new QueryWrapper<>();
         inc10100QueryWrapper.in("rtrim(cpart)", products.isEmpty() ? Collections.singletonList("0") : products.stream().map(BizProduct::getProductCode).collect(Collectors.toList()));
         List<Inc10100> inc10100List = inc10100Service.getList(inc10100QueryWrapper);
+        List<BizOutsourcedOrderDetailProcess> processes = bizOutsourcedOrderDetailProcessService.query().in("detail_id", orderDetails.isEmpty() ? Collections.singletonList(0L) : orderDetails.stream().map(BizOutsourcedOrderDetail::getId).collect(Collectors.toList())).list();
 
-        boolean pullResult = pullP2Sfc10100();
         List<BizSupplier> suppliers = bizSupplierService.query().list();
         List<OutsourceOrderDetailBalance> balances = new ArrayList<>();
         orderDetails.forEach(l -> {
+            l.setProcesses(processes.stream().filter(v -> v.getDetailId().equals(l.getId())).collect(Collectors.toList()));
             OutsourceOrderDetailBalance balance = new OutsourceOrderDetailBalance();
             balance.setFormCode(l.getFormCode());
             balance.setFormDate(l.getFormDate());
@@ -190,12 +247,96 @@ public class OutsourceBalanceController extends BaseController {
             // 运费
             // 运费单价 * 发出箱数 保留4位小数
             balance.setFreightPrice(supplier != null ? supplier.getFreightDeductUnitPrice().multiply(BigDecimal.valueOf(l.getNewCarrierCount())).setScale(4, RoundingMode.HALF_UP) : BigDecimal.ZERO);
-            // 废品加工单价
-            // 废品计算类别 '11' 且没得表面处理 废品加工单价 = round(实际投料量 * 原料最近采购单价[inv10100.zjunprc实时变更],4)
-            if (balance.getWastePriceCategory().equals("11") && supplier != null && supplier.getSurfaceTreatment().equals("N")) {
-                balance.setWastePrice(balance.getActualFeeding().multiply(itemInv10100.getZjunprc()).setScale(4, RoundingMode.HALF_UP));
+            if (supplier != null && supplier.getSurfaceTreatment().equals("N")) {
+                // 废品加工单价
+                // 废品计算类别 '11' 且没得表面处理 废品加工单价 = round(实际投料量 * 原料最近采购单价[inv10100.zjunprc实时变更],4)
+                if (balance.getWastePriceCategory().equals("11")) {
+                    balance.setWastePrice(balance.getActualFeeding().multiply(itemInv10100.getZjunprc()).setScale(4, RoundingMode.HALF_UP));
+                }
+                // 废品计算类别为 '12' 且没得表面处理  且外协厂编码='99997' 且 (产品编码)='911110028' 废品加工单价 = round(原料最近采购单价 ,4)
+                if (balance.getWastePriceCategory().equals("12") && supplier.getCode().equals("99997") && product.getProductCode().equals("911110028")) {
+                    balance.setWastePrice(itemInv10100.getZjunprc().setScale(4, RoundingMode.HALF_UP));
+                }
+                // 废品计算类别为 '12' 且没得表面处理  且外协厂编码='99980' 且 (产品编码)='911100538' 废品加工单价 = round(原料最近采购单价 ,4)
+                if (balance.getWastePriceCategory().equals("12") && supplier.getCode().equals("99980") && product.getProductCode().equals("911100538")) {
+                    balance.setWastePrice(itemInv10100.getZjunprc().setScale(4, RoundingMode.HALF_UP));
+                }
+                // 废品计算类别是'24' 且没有表面处理 废品加工单价 round(加工单价[外协厂结算员填写的],4)
+                if (balance.getWastePriceCategory().equals("24")) {
+                    balance.setWastePrice(supplier != null ? supplier.getFreightPrice().setScale(4, RoundingMode.HALF_UP) : BigDecimal.ZERO);
+                }
+                if (balance.getWastePrice() == null) {
+                    balance.setWastePrice(BigDecimal.ZERO);
+                }
+                // 料扣金额 = round(料损数量 * 废品加工单价 * 120/100.00 * 1.13【*税率】,4)//(1 + 税率(取自sfc10100.taxsl) /100.00 ),2)
+                BigDecimal materialCost = balance.getMaterialLoss().multiply(balance.getWastePrice()).multiply(BigDecimal.valueOf(120).divide(BigDecimal.valueOf(100), 6, RoundingMode.HALF_UP)).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP);
+                balance.setMaterialLoss(materialCost);
+                if (supplier.getSettlementType().equals("1")) {
+                    // 按支结算
+                    AtomicReference<BigDecimal> planAmount = new AtomicReference<>(BigDecimal.ZERO);
+                    if(supplier.getCode().equals("99024")) {
+                        l.getProcesses().forEach(t -> {
+                            if (t.getProcessCode().equals("99000")) {
+                                // 应得金额=round(合格数量 * 加工单价 * (1.00 + 税率 /100.00 )    ,4)
+                                planAmount.set(planAmount.get().add(BigDecimal.valueOf(t.getQualifiedNum()).multiply(supplier.getFreightPrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP)));
+                            } else {
+                                // 应得金额=round(发出数量 * 加工单价 * (1.00 + 税率 /100.00 )    ,4)
+                                planAmount.set(planAmount.get().add(BigDecimal.valueOf(l.getProductNum()).multiply(supplier.getFreightPrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP)));
+
+                            }
+                        });
+                    } else {
+                        // 应得金额=round(合格数量 * 加工单价 * (1.00 + 税率 /100.00 )    ,4)
+                        l.getProcesses().forEach(t -> {
+                            planAmount.set(planAmount.get().add(BigDecimal.valueOf(t.getQualifiedNum()).multiply(supplier.getFreightPrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP)));
+                        });
+                    }
+                    balance.setPlanAmount(planAmount.get());
+                } else if (supplier.getSettlementType().equals("2")) {
+                    // 按炉结算
+                    // 暂时先放着
+                }
+            } else if (supplier != null && supplier.getSurfaceTreatment().equals("Y")) {
+                // 废品加工单价
+                if (balance.getWastePriceCategory().equals("21")) {
+                    // 废品计算类别 21 废品加工单价 = round(产品单价(inc10100.unprc) -  加工单价 ,4)
+                    balance.setWastePrice(itemInc10100.getUnprc().subtract(supplier.getFreightPrice()).setScale(4, RoundingMode.HALF_UP));
+                } else if (balance.getWastePriceCategory().equals("22")) {
+                    // 废品计算类别 22 废品加工单价 = round(加工单价  * 2 ,4)
+                    balance.setWastePrice(supplier.getFreightPrice().multiply(BigDecimal.valueOf(2)).setScale(4, RoundingMode.HALF_UP));
+                } else if (balance.getWastePriceCategory().equals("23")) {
+                    // 废品加工单价 = round(加工单价  * 3 ,4)
+                    balance.setWastePrice(supplier.getFreightPrice().multiply(BigDecimal.valueOf(3)).setScale(4, RoundingMode.HALF_UP));
+                }
+                if (balance.getWastePrice() == null || balance.getWastePrice().compareTo(BigDecimal.ZERO) < 0) {
+                    balance.setWastePrice(BigDecimal.ZERO);
+                }
+                // 料扣金额
+                // 料扣金额 = round(料损数量 * 废品加工单价 * 1.13【*税率】 ,4) // (1 + 税率 /100.00 ),2)
+                BigDecimal materialCost = balance.getMaterialLoss().multiply(balance.getWastePrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP);
+                balance.setMaterialLoss(materialCost);
+                // 结算金额
+                if (supplier.getSettlementType().equals("1")) {
+                    // 按支结算
+                    // 外协厂编码='99024'
+                    AtomicReference<BigDecimal> planAmount = new AtomicReference<>(BigDecimal.ZERO);
+                    if(supplier.getCode().equals("99024")) {
+                        // 应得金额=round(发出数量 * 加工单价 * (1.00 + 税率 /100.00 ),4)
+                        l.getProcesses().forEach(t -> {
+                            planAmount.set(BigDecimal.valueOf(l.getProductNum()).multiply(supplier.getFreightPrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                        });
+                    } else {
+                        // 应得金额=round(合格数量 * 加工单价 * (1.00 + 税率 /100.00 ),4)
+                        l.getProcesses().forEach(t -> {
+                            planAmount.set(BigDecimal.valueOf(t.getQualifiedNum()).multiply(supplier.getFreightPrice()).multiply(BigDecimal.ONE.add(BigDecimal.valueOf(supplier.getTaxRatio()).divide(BigDecimal.valueOf(100), 2, RoundingMode.HALF_UP))).setScale(4, RoundingMode.HALF_UP));
+                        });
+                    }
+                    balance.setPlanAmount(planAmount.get());
+                } else if (supplier.getSettlementType().equals("2")) {
+                    // 按炉结算
+                }
             }
-            // 废品计算类别为 '12' 且没得表面处理  且外协厂编码='99997' 且 (产品编码)='911110028' 废品加工单价 =
+            balance.setFreightPrice(supplier.getFreightDeductUnitPrice().multiply(BigDecimal.valueOf(l.getNewCarrierCount())).setScale(4, RoundingMode.HALF_UP));
             balances.add(balance);
         });
         return success(balances);

+ 1102 - 0
src/main/java/cn/ezhizao/project/business/domain/BizMaterialBase.java

@@ -0,0 +1,1102 @@
+package cn.ezhizao.project.business.domain;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
+import cn.ezhizao.framework.web.domain.BaseEntity;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * 材料基本 来源inv10100对象 biz_material_base_info
+ *
+ * @author ezhizao
+ * @date 2024-06-17
+ */
+@Data
+@TableName(value = "biz_material_base_info")
+public class BizMaterialBase extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 材料编号 */
+    @Excel(name = "材料编号")
+    @ApiModelProperty(value = "材料编号")
+    private String materialCode;
+
+    /** 编码规则 */
+    @Excel(name = "编码规则")
+    @ApiModelProperty(value = "编码规则")
+    private String type;
+
+    /** 助记码 */
+    @Excel(name = "助记码")
+    @ApiModelProperty(value = "助记码")
+    private String mnemonicCode;
+
+    /** 不懂,原表没有注释 */
+    @Excel(name = "不懂,原表没有注释")
+    @ApiModelProperty(value = "不懂,原表没有注释")
+    private String itemtype;
+
+    /** 结构钢类别 */
+    @Excel(name = "结构钢类别")
+    @ApiModelProperty(value = "结构钢类别")
+    private String steelClass;
+
+    /** 代用群码 */
+    @Excel(name = "代用群码")
+    @ApiModelProperty(value = "代用群码")
+    private String repCode;
+
+    /** 像条形码,原表没有注释 */
+    @Excel(name = "像条形码,原表没有注释")
+    @ApiModelProperty(value = "像条形码,原表没有注释")
+    private String barcode;
+
+    /** 账号 */
+    @Excel(name = "账号")
+    @ApiModelProperty(value = "账号")
+    private String prloc;
+
+    /** 部门编号 */
+    @Excel(name = "部门编号")
+    @ApiModelProperty(value = "部门编号")
+    private String dept;
+
+    /** 名称规格图号 */
+    @Excel(name = "名称规格图号")
+    @ApiModelProperty(value = "名称规格图号")
+    private String description;
+
+    /** 规格 */
+    @Excel(name = "规格")
+    @ApiModelProperty(value = "规格")
+    private String specification;
+
+    /** 部门单位 */
+    @Excel(name = "部门单位")
+    @ApiModelProperty(value = "部门单位")
+    private String uom;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String pounit;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal pofact;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String counit;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal cofact;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String sounit;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal sofact;
+
+    /** 计量单位 */
+    @Excel(name = "计量单位")
+    @ApiModelProperty(value = "计量单位")
+    private String wunit;
+
+    /** 毛重/箱 */
+    @Excel(name = "毛重/箱")
+    @ApiModelProperty(value = "毛重/箱")
+    private BigDecimal weight;
+
+    /** 支数/箱 */
+    @Excel(name = "支数/箱")
+    @ApiModelProperty(value = "支数/箱")
+    private Integer weigs;
+
+    /** 成品单个坯重 */
+    @Excel(name = "成品单个坯重")
+    @ApiModelProperty(value = "成品单个坯重")
+    private BigDecimal volume;
+
+    /** 切除尾数 */
+    @Excel(name = "切除尾数")
+    @ApiModelProperty(value = "切除尾数")
+    private String rounded;
+
+    /** 图号 */
+    @Excel(name = "图号")
+    @ApiModelProperty(value = "图号")
+    private String draw;
+
+    /** 是否为MPS料品 */
+    @Excel(name = "是否为MPS料品")
+    @ApiModelProperty(value = "是否为MPS料品")
+    private String mpsok;
+
+    /** 计料形式(Y正常N以成品单个坯重来计算用料) */
+    @Excel(name = "计料形式(Y正常N以成品单个坯重来计算用料)")
+    @ApiModelProperty(value = "计料形式(Y正常N以成品单个坯重来计算用料)")
+    private String isstype;
+
+    /** 需求运算 */
+    @Excel(name = "需求运算")
+    @ApiModelProperty(value = "需求运算")
+    private String bypass;
+
+    /** 结构批量 */
+    @Excel(name = "结构批量")
+    @ApiModelProperty(value = "结构批量")
+    private BigDecimal batchqty;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal yield;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String commodity;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String prdline;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String salgrp;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String prcgrp;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String fixmo;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String prpart;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String attrctl;
+
+    /** abc分类 */
+    @Excel(name = "abc分类")
+    @ApiModelProperty(value = "abc分类")
+    private String abc;
+
+    /** abc控制 */
+    @Excel(name = "abc控制")
+    @ApiModelProperty(value = "abc控制")
+    private String abcctl;
+
+    /** 盘点日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "盘点日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "盘点日期")
+    private Date lcydate;
+
+    /** 开账期初单价 */
+    @Excel(name = "开账期初单价")
+    @ApiModelProperty(value = "开账期初单价")
+    private BigDecimal price;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal stdcost;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal material;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal thismaterial;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal prematerial;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal labor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal thislabor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal prelabor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal overhead;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal thisoverhead;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal preoverhead;
+
+    /** 人工权数 */
+    @Excel(name = "人工权数")
+    @ApiModelProperty(value = "人工权数")
+    private BigDecimal varover;
+
+    /** 费用权数 */
+    @Excel(name = "费用权数")
+    @ApiModelProperty(value = "费用权数")
+    private BigDecimal mutqty2;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal avgprc;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String stdctl;
+
+    /** 业务员代码 */
+    @Excel(name = "业务员代码")
+    @ApiModelProperty(value = "业务员代码")
+    private String purchaser;
+
+    /** 规划人 */
+    @Excel(name = "规划人")
+    @ApiModelProperty(value = "规划人")
+    private String planner;
+
+    /** 委外/供应/制造商 */
+    @Excel(name = "委外/供应/制造商")
+    @ApiModelProperty(value = "委外/供应/制造商")
+    private String vendor1;
+
+    /** 安全存量 */
+    @Excel(name = "安全存量")
+    @ApiModelProperty(value = "安全存量")
+    private BigDecimal safqty;
+
+    /** 再订购点 */
+    @Excel(name = "再订购点")
+    @ApiModelProperty(value = "再订购点")
+    private BigDecimal reorder;
+
+    /** 最低委外/订购/制造商 */
+    @Excel(name = "最低委外/订购/制造商")
+    @ApiModelProperty(value = "最低委外/订购/制造商")
+    private BigDecimal minqty;
+
+    /** 最高委外/订购/制造商 */
+    @Excel(name = "最高委外/订购/制造商")
+    @ApiModelProperty(value = "最高委外/订购/制造商")
+    private BigDecimal maxqty;
+
+    /** 委外/订购/制造倍数 */
+    @Excel(name = "委外/订购/制造倍数")
+    @ApiModelProperty(value = "委外/订购/制造倍数")
+    private BigDecimal mutqty;
+
+    /** 供应期间 */
+    @Excel(name = "供应期间")
+    @ApiModelProperty(value = "供应期间")
+    private Integer maxperiod;
+
+    /** 令单合并 */
+    @Excel(name = "令单合并")
+    @ApiModelProperty(value = "令单合并")
+    private String merge;
+
+    /** 固定前置日 */
+    @Excel(name = "固定前置日")
+    @ApiModelProperty(value = "固定前置日")
+    private Integer lead;
+
+    /** 变动前置日 */
+    @Excel(name = "变动前置日")
+    @ApiModelProperty(value = "变动前置日")
+    private Integer duration;
+
+    /** 累计前置日 */
+    @Excel(name = "累计前置日")
+    @ApiModelProperty(value = "累计前置日")
+    private Integer varbase1;
+
+    /** 变动基数 */
+    @Excel(name = "变动基数")
+    @ApiModelProperty(value = "变动基数")
+    private Integer varbase;
+
+    /** 规划品 */
+    @Excel(name = "规划品")
+    @ApiModelProperty(value = "规划品")
+    private String planitem;
+
+    /** 供需政策 */
+    @Excel(name = "供需政策")
+    @ApiModelProperty(value = "供需政策")
+    private String police;
+
+    /** 低阶码 */
+    @Excel(name = "低阶码")
+    @ApiModelProperty(value = "低阶码")
+    private Integer llc;
+
+    /** 库存量 */
+    @Excel(name = "库存量")
+    @ApiModelProperty(value = "库存量")
+    private BigDecimal onhand;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal onorder;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal allocate;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal iqcqty;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String priceflag;
+
+    /** 商品 */
+    @Excel(name = "商品")
+    @ApiModelProperty(value = "商品")
+    private String merchandise;
+
+    /** 批号控制 */
+    @Excel(name = "批号控制")
+    @ApiModelProperty(value = "批号控制")
+    private String lot;
+
+    /** 辅助量控制 */
+    @Excel(name = "辅助量控制")
+    @ApiModelProperty(value = "辅助量控制")
+    private String aux;
+
+    /** 辅助单位 */
+    @Excel(name = "辅助单位")
+    @ApiModelProperty(value = "辅助单位")
+    private String auxunit;
+
+    /** 辅助量 */
+    @Excel(name = "辅助量")
+    @ApiModelProperty(value = "辅助量")
+    private BigDecimal auxqty;
+
+    /** 使用状况 */
+    @Excel(name = "使用状况")
+    @ApiModelProperty(value = "使用状况")
+    private String status;
+
+    /** 最近交易日 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "最近交易日", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "最近交易日")
+    private Date lsttxdate;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal subor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal thissubor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal presubor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal other;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal thisother;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal preother;
+
+    /** 建档日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "建档日期", width = 30, dateFormat = "yyyy-MM-dd")
+    @ApiModelProperty(value = "建档日期")
+    private Date createdate;
+
+    /** 建档人 */
+    @Excel(name = "建档人")
+    @ApiModelProperty(value = "建档人")
+    private String createuser;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private Date modifydate;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String modifyuser;
+
+    /** R/S */
+    @Excel(name = "R/S")
+    @ApiModelProperty(value = "R/S")
+    private String rs;
+
+    /** 倒扣件 */
+    @Excel(name = "倒扣件")
+    @ApiModelProperty(value = "倒扣件")
+    private String bkitem;
+
+    /** 保税品 */
+    @Excel(name = "保税品")
+    @ApiModelProperty(value = "保税品")
+    private String bond;
+
+    /** 整批发料  */
+    @Excel(name = "整批发料 ")
+    @ApiModelProperty(value = "整批发料 ")
+    private String bissue;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private Integer qclead;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String tfcode;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal stdlabor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal stdmachine;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal accumlabor;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal accumachine;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal mpsprice;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private BigDecimal mpscost;
+
+    /** 料品大分类 */
+    @Excel(name = "料品大分类")
+    @ApiModelProperty(value = "料品大分类")
+    private String bigclass;
+
+    /** 料品小分类 */
+    @Excel(name = "料品小分类")
+    @ApiModelProperty(value = "料品小分类")
+    private String smlclass;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String potype;
+
+    /** 动力权数 */
+    @Excel(name = "动力权数")
+    @ApiModelProperty(value = "动力权数")
+    private BigDecimal cstDynamical;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String cstFactory;
+
+    /** 设备权数 */
+    @Excel(name = "设备权数")
+    @ApiModelProperty(value = "设备权数")
+    private BigDecimal cstEquipment;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String cstType;
+
+    /** 组件类型 */
+    @Excel(name = "组件类型")
+    @ApiModelProperty(value = "组件类型")
+    private String cstZj;
+
+    /** 模具编号 */
+    @Excel(name = "模具编号")
+    @ApiModelProperty(value = "模具编号")
+    private String cstPartm;
+
+    /** 成品率考核指标 */
+    @Excel(name = "成品率考核指标")
+    @ApiModelProperty(value = "成品率考核指标")
+    private BigDecimal cstKamt;
+
+    /** 技术要求 */
+    @Excel(name = "技术要求")
+    @ApiModelProperty(value = "技术要求")
+    private String jsyq;
+
+    /** 原材料形状代码 */
+    @Excel(name = "原材料形状代码")
+    @ApiModelProperty(value = "原材料形状代码")
+    private String xzcode;
+
+    /** 最近采购价 */
+    @Excel(name = "最近采购价")
+    @ApiModelProperty(value = "最近采购价")
+    private BigDecimal zjunprc;
+
+    /** 0;mid(part,6,3)='000';;2:原材料3:机物料 */
+    @Excel(name = "0;mid(part,6,3)='000';;2:原材料3:机物料")
+    @ApiModelProperty(value = "0;mid(part,6,3)='000';;2:原材料3:机物料")
+    private String purtype;
+
+    /** 材料牌号 */
+    @Excel(name = "材料牌号")
+    @ApiModelProperty(value = "材料牌号")
+    private String phcode;
+
+    /** 原材料规格型号码 */
+    @Excel(name = "原材料规格型号码")
+    @ApiModelProperty(value = "原材料规格型号码")
+    private String xhcode;
+
+    /** 原材料产地1:国产2:进口3:整装进口 */
+    @Excel(name = "原材料产地1:国产2:进口3:整装进口")
+    @ApiModelProperty(value = "原材料产地1:国产2:进口3:整装进口")
+    private String addcode;
+
+    /** 原材料长度 */
+    @Excel(name = "原材料长度")
+    @ApiModelProperty(value = "原材料长度")
+    private String cdcode;
+
+    /** 0:综合类3:普通轴5:粗大轴 */
+    @Excel(name = "0:综合类3:普通轴5:粗大轴")
+    @ApiModelProperty(value = "0:综合类3:普通轴5:粗大轴")
+    private String cptype;
+
+    /** 1:shaft2:wiper shaft3:pivot shaft4:pivot tube */
+    @Excel(name = "1:shaft2:wiper shaft3:pivot shaft4:pivot tube")
+    @ApiModelProperty(value = "1:shaft2:wiper shaft3:pivot shaft4:pivot tube")
+    private String shaft;
+
+    /** 密度 */
+    @Excel(name = "密度")
+    @ApiModelProperty(value = "密度")
+    private BigDecimal density;
+
+    /** 成品长度 */
+    @Excel(name = "成品长度")
+    @ApiModelProperty(value = "成品长度")
+    private BigDecimal lenght;
+
+    /** 直径 */
+    @Excel(name = "直径")
+    @ApiModelProperty(value = "直径")
+    private BigDecimal dzj;
+
+    /** 成品长度字符型 */
+    @Excel(name = "成品长度字符型")
+    @ApiModelProperty(value = "成品长度字符型")
+    private String lenghts;
+
+    /** 公差长度含刀宽 */
+    @Excel(name = "公差长度含刀宽")
+    @ApiModelProperty(value = "公差长度含刀宽")
+    private BigDecimal gccd;
+
+    /** 成品直径字符型 */
+    @Excel(name = "成品直径字符型")
+    @ApiModelProperty(value = "成品直径字符型")
+    private String dzjs;
+
+    /** 开账期初库存量 */
+    @Excel(name = "开账期初库存量")
+    @ApiModelProperty(value = "开账期初库存量")
+    private BigDecimal onqty;
+
+    /** 客户简称 */
+    @Excel(name = "客户简称")
+    @ApiModelProperty(value = "客户简称")
+    private String khjc;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private Date invdate;
+
+    /** 客户料号 */
+    @Excel(name = "客户料号")
+    @ApiModelProperty(value = "客户料号")
+    private String khpart;
+
+    /** 直料长度 */
+    @Excel(name = "直料长度")
+    @ApiModelProperty(value = "直料长度")
+    private String zlcd;
+
+    /** 技术要求 */
+    @Excel(name = "技术要求")
+    @ApiModelProperty(value = "技术要求")
+    private String jsyq1;
+
+    /** 1:正常①,2:无半成品①②⑤,3:有半成品①②③④⑤ */
+    @Excel(name = "1:正常①,2:无半成品①②⑤,3:有半成品①②③④⑤")
+    @ApiModelProperty(value = "1:正常①,2:无半成品①②⑤,3:有半成品①②③④⑤")
+    private String rkbz;
+
+    /** 华普料号 */
+    @Excel(name = "华普料号")
+    @ApiModelProperty(value = "华普料号")
+    private String hpart;
+
+    /** 炉号 */
+    @Excel(name = "炉号")
+    @ApiModelProperty(value = "炉号")
+    private String luhao;
+
+    /** 生产厂家 */
+    @Excel(name = "生产厂家")
+    @ApiModelProperty(value = "生产厂家")
+    private String facno;
+
+    /** 客户订单号 */
+    @Excel(name = "客户订单号")
+    @ApiModelProperty(value = "客户订单号")
+    private String orderno;
+
+    /** 包装盒数 */
+    @Excel(name = "包装盒数")
+    @ApiModelProperty(value = "包装盒数")
+    private Integer bzhs;
+
+    /** 三叶商品编码 */
+    @Excel(name = "三叶商品编码")
+    @ApiModelProperty(value = "三叶商品编码")
+    private String spcode;
+
+    /** 客户商品品名 */
+    @Excel(name = "客户商品品名")
+    @ApiModelProperty(value = "客户商品品名")
+    private String spname;
+
+    /** 客户代码 */
+    @Excel(name = "客户代码")
+    @ApiModelProperty(value = "客户代码")
+    private String cust;
+
+    /** 原材料计算直径 */
+    @Excel(name = "原材料计算直径")
+    @ApiModelProperty(value = "原材料计算直径")
+    private BigDecimal yzj;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String writeuser;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private Date writedate;
+
+    /** $column.columnComment */
+    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
+    @ApiModelProperty(value = "${comment}")
+    private String writeruser;
+
+    /** 钢材分类 */
+    @Excel(name = "钢材分类")
+    @ApiModelProperty(value = "钢材分类")
+    private String dtype;
+
+    /** 最近报销未税单价 */
+    @Excel(name = "最近报销未税单价")
+    @ApiModelProperty(value = "最近报销未税单价")
+    private BigDecimal zjbxprc;
+
+    public BizMaterialBase() {
+        super();
+    }
+
+    public BizMaterialBase(Inv10100 l) {
+        this.materialCode = l.getPart().trim();
+        this.type = l.getType().trim();
+        this.mnemonicCode = l.getFindkey().trim();
+        this.itemtype = l.getItemtype();
+        this.steelClass = l.getIClass();
+        this.repCode = l.getRepcode().trim();
+        this.barcode = l.getBarcode().trim();
+        this.prloc = l.getPrloc();
+        this.dept = l.getDept();
+        this.description = l.getDescription();
+        this.specification = l.getSpecification();
+        this.uom = l.getUom();
+        this.pounit = l.getPounit();
+        this.pofact = l.getPofact();
+        this.counit = l.getCounit();
+        this.cofact = l.getCofact();
+        this.sounit = l.getSounit();
+        this.sofact = l.getSofact();
+        this.wunit = l.getWunit();
+        this.weight = l.getWeight();
+        this.weigs = l.getWeigs();
+        this.volume = l.getVolume();
+        this.rounded = l.getRounded();
+        this.draw = l.getDraw();
+        this.mpsok = l.getMpsok();
+        this.isstype = l.getIsstype();
+        this.bypass = l.getBypass();
+        this.batchqty = l.getBatchqty();
+        this.yield = l.getYield();
+        this.commodity = l.getCommodity();
+        this.prdline = l.getPrdline();
+        this.salgrp = l.getSalgrp();
+        this.prcgrp = l.getPrcgrp();
+        this.fixmo = l.getFixmo();
+        this.prpart = l.getPrpart();
+        this.attrctl = l.getAttrctl();
+        this.abc = l.getAbc();
+        this.abcctl = l.getAbcctl();
+        this.lcydate = l.getLcydate();
+        this.price = l.getPrice();
+        this.stdcost = l.getStdcost();
+        this.material = l.getMaterial();
+        this.thismaterial = l.getThismaterial();
+        this.prematerial = l.getPrematerial();
+        this.labor = l.getLabor();
+        this.thislabor = l.getThislabor();
+        this.prelabor = l.getPrelabor();
+        this.overhead = l.getOverhead();
+        this.thisoverhead = l.getThisoverhead();
+        this.preoverhead = l.getPreoverhead();
+        this.varover = l.getVarover();
+        this.mutqty2 = l.getMutqty2();
+        this.avgprc = l.getAvgprc();
+        this.stdctl = l.getStdctl();
+        this.purchaser = l.getPurchaser();
+        this.planner = l.getPlanner();
+        this.vendor1 = l.getVendor1();
+        this.safqty = l.getSafqty();
+        this.reorder = l.getReorder();
+        this.minqty = l.getMinqty();
+        this.maxqty = l.getMaxqty();
+        this.mutqty = l.getMutqty();
+        this.maxperiod = l.getMaxperiod();
+        this.merge = l.getMerge();
+        this.lead = l.getLead();
+        this.duration = l.getDuration();
+        this.varbase1 = l.getVarbase1();
+        this.varbase = l.getVarbase();
+        this.planitem = l.getPlanitem();
+        this.police = l.getPolice();
+        this.llc = l.getLlc();
+        this.onhand = l.getOnhand();
+        this.onorder = l.getOnorder();
+        this.allocate = l.getAllocate();
+        this.iqcqty = l.getIqcqty();
+        this.priceflag = l.getPriceflag();
+        this.merchandise = l.getMerchandise();
+        this.lot = l.getLot();
+        this.aux = l.getAux();
+        this.auxunit = l.getAuxunit();
+        this.auxqty = l.getAuxqty();
+        this.status = l.getStatus();
+        this.lsttxdate = l.getLsttxdate();
+        this.subor = l.getSubor();
+        this.thissubor = l.getThissubor();
+        this.presubor = l.getPresubor();
+        this.other = l.getOther();
+        this.thisother = l.getThisother();
+        this.preother = l.getPreother();
+        this.createdate = l.getCreatedate();
+        this.createuser = l.getCreateuser();
+        this.modifydate = l.getModifydate();
+        this.modifyuser = l.getModifyuser();
+        this.rs = l.getRs();
+        this.bkitem = l.getBkitem();
+        this.bond = l.getBond();
+        this.bissue = l.getBissue();
+        this.qclead = l.getQclead();
+        this.tfcode = l.getTfcode();
+        this.stdlabor = l.getStdlabor();
+        this.stdmachine = l.getStdmachine();
+        this.accumlabor = l.getAccumlabor();
+        this.accumachine = l.getAccumachine();
+        this.mpsprice = l.getMpsprice();
+        this.mpscost = l.getMpscost();
+        this.bigclass = l.getBigclass();
+        this.smlclass = l.getSmlclass();
+        this.potype = l.getPotype();
+        this.cstDynamical = l.getCstDynamical();
+        this.cstFactory = l.getCstFactory();
+        this.cstEquipment = l.getCstEquipment();
+        this.cstType = l.getCstType();
+        this.cstZj = l.getCstZj();
+        this.cstPartm = l.getCstPartm();
+        this.cstKamt = l.getCstKamt();
+        this.jsyq = l.getJsyq();
+        this.xzcode = l.getXzcode();
+        this.zjunprc = l.getZjunprc();
+        this.purtype = l.getPurtype();
+        this.phcode = l.getPhcode();
+        this.xhcode = l.getXhcode();
+        this.addcode = l.getAddcode();
+        this.cdcode = l.getCdcode();
+        this.cptype = l.getCptype();
+        this.shaft = l.getShaft();
+        this.density = l.getDensity();
+        this.lenght = l.getLenght();
+        this.dzj = l.getDzj();
+        this.lenghts = l.getLenghts();
+        this.gccd = l.getGccd();
+        this.dzjs = l.getDzjs();
+        this.onqty = l.getOnqty();
+        this.khjc = l.getKhjc();
+        this.invdate = l.getInvdate();
+        this.khpart = l.getKhpart();
+        this.zlcd = l.getZlcd();
+        this.jsyq1 = l.getJsyq1();
+        this.rkbz = l.getRkbz();
+        this.hpart = l.getHpart();
+        this.luhao = l.getLuhao();
+        this.facno = l.getFacno();
+        this.orderno = l.getOrderno();
+        this.bzhs = l.getBzhs();
+        this.spcode = l.getSpcode();
+        this.spname = l.getSpname();
+        this.cust = l.getCust();
+        this.yzj = l.getYzj();
+        this.writeuser = l.getWriteuser();
+        this.writedate = l.getWritedate();
+        this.writeruser = l.getWriteruser();
+        this.dtype = l.getDtype();
+        this.zjbxprc = l.getZjbxprc();
+
+    }
+
+    public void setByInv10100(Inv10100 l) {
+        this.materialCode = l.getPart();
+        this.type = l.getType();
+        this.mnemonicCode = l.getFindkey();
+        this.itemtype = l.getItemtype();
+        this.steelClass = l.getIClass();
+        this.repCode = l.getRepcode();
+        this.barcode = l.getBarcode();
+        this.prloc = l.getPrloc();
+        this.dept = l.getDept();
+        this.description = l.getDescription();
+        this.specification = l.getSpecification();
+        this.uom = l.getUom();
+        this.pounit = l.getPounit();
+        this.pofact = l.getPofact();
+        this.counit = l.getCounit();
+        this.cofact = l.getCofact();
+        this.sounit = l.getSounit();
+        this.sofact = l.getSofact();
+        this.wunit = l.getWunit();
+        this.weight = l.getWeight();
+        this.weigs = l.getWeigs();
+        this.volume = l.getVolume();
+        this.rounded = l.getRounded();
+        this.draw = l.getDraw();
+        this.mpsok = l.getMpsok();
+        this.isstype = l.getIsstype();
+        this.bypass = l.getBypass();
+        this.batchqty = l.getBatchqty();
+        this.yield = l.getYield();
+        this.commodity = l.getCommodity();
+        this.prdline = l.getPrdline();
+        this.salgrp = l.getSalgrp();
+        this.prcgrp = l.getPrcgrp();
+        this.fixmo = l.getFixmo();
+        this.prpart = l.getPrpart();
+        this.attrctl = l.getAttrctl();
+        this.abc = l.getAbc();
+        this.abcctl = l.getAbcctl();
+        this.lcydate = l.getLcydate();
+        this.price = l.getPrice();
+        this.stdcost = l.getStdcost();
+        this.material = l.getMaterial();
+        this.thismaterial = l.getThismaterial();
+        this.prematerial = l.getPrematerial();
+        this.labor = l.getLabor();
+        this.thislabor = l.getThislabor();
+        this.prelabor = l.getPrelabor();
+        this.overhead = l.getOverhead();
+        this.thisoverhead = l.getThisoverhead();
+        this.preoverhead = l.getPreoverhead();
+        this.varover = l.getVarover();
+        this.mutqty2 = l.getMutqty2();
+        this.avgprc = l.getAvgprc();
+        this.stdctl = l.getStdctl();
+        this.purchaser = l.getPurchaser();
+        this.planner = l.getPlanner();
+        this.vendor1 = l.getVendor1();
+        this.safqty = l.getSafqty();
+        this.reorder = l.getReorder();
+        this.minqty = l.getMinqty();
+        this.maxqty = l.getMaxqty();
+        this.mutqty = l.getMutqty();
+        this.maxperiod = l.getMaxperiod();
+        this.merge = l.getMerge();
+        this.lead = l.getLead();
+        this.duration = l.getDuration();
+        this.varbase1 = l.getVarbase1();
+        this.varbase = l.getVarbase();
+        this.planitem = l.getPlanitem();
+        this.police = l.getPolice();
+        this.llc = l.getLlc();
+        this.onhand = l.getOnhand();
+        this.onorder = l.getOnorder();
+        this.allocate = l.getAllocate();
+        this.iqcqty = l.getIqcqty();
+        this.priceflag = l.getPriceflag();
+        this.merchandise = l.getMerchandise();
+        this.lot = l.getLot();
+        this.aux = l.getAux();
+        this.auxunit = l.getAuxunit();
+        this.auxqty = l.getAuxqty();
+        this.status = l.getStatus();
+        this.lsttxdate = l.getLsttxdate();
+        this.subor = l.getSubor();
+        this.thissubor = l.getThissubor();
+        this.presubor = l.getPresubor();
+        this.other = l.getOther();
+        this.thisother = l.getThisother();
+        this.preother = l.getPreother();
+        this.createdate = l.getCreatedate();
+        this.createuser = l.getCreateuser();
+        this.modifydate = l.getModifydate();
+        this.modifyuser = l.getModifyuser();
+        this.rs = l.getRs();
+        this.bkitem = l.getBkitem();
+        this.bond = l.getBond();
+        this.bissue = l.getBissue();
+        this.qclead = l.getQclead();
+        this.tfcode = l.getTfcode();
+        this.stdlabor = l.getStdlabor();
+        this.stdmachine = l.getStdmachine();
+        this.accumlabor = l.getAccumlabor();
+        this.accumachine = l.getAccumachine();
+        this.mpsprice = l.getMpsprice();
+        this.mpscost = l.getMpscost();
+        this.bigclass = l.getBigclass();
+        this.smlclass = l.getSmlclass();
+        this.potype = l.getPotype();
+        this.cstDynamical = l.getCstDynamical();
+        this.cstFactory = l.getCstFactory();
+        this.cstEquipment = l.getCstEquipment();
+        this.cstType = l.getCstType();
+        this.cstZj = l.getCstZj();
+        this.cstPartm = l.getCstPartm();
+        this.cstKamt = l.getCstKamt();
+        this.jsyq = l.getJsyq();
+        this.xzcode = l.getXzcode();
+        this.zjunprc = l.getZjunprc();
+        this.purtype = l.getPurtype();
+        this.phcode = l.getPhcode();
+        this.xhcode = l.getXhcode();
+        this.addcode = l.getAddcode();
+        this.cdcode = l.getCdcode();
+        this.cptype = l.getCptype();
+        this.shaft = l.getShaft();
+        this.density = l.getDensity();
+        this.lenght = l.getLenght();
+        this.dzj = l.getDzj();
+        this.lenghts = l.getLenghts();
+        this.gccd = l.getGccd();
+        this.dzjs = l.getDzjs();
+        this.onqty = l.getOnqty();
+        this.khjc = l.getKhjc();
+        this.invdate = l.getInvdate();
+        this.khpart = l.getKhpart();
+        this.zlcd = l.getZlcd();
+        this.jsyq1 = l.getJsyq1();
+        this.rkbz = l.getRkbz();
+        this.hpart = l.getHpart();
+        this.luhao = l.getLuhao();
+        this.facno = l.getFacno();
+        this.orderno = l.getOrderno();
+        this.bzhs = l.getBzhs();
+        this.spcode = l.getSpcode();
+        this.spname = l.getSpname();
+        this.cust = l.getCust();
+        this.yzj = l.getYzj();
+        this.writeuser = l.getWriteuser();
+        this.writedate = l.getWritedate();
+        this.writeruser = l.getWriteruser();
+        this.dtype = l.getDtype();
+        this.zjbxprc = l.getZjbxprc();
+    }
+}

+ 3 - 0
src/main/java/cn/ezhizao/project/business/domain/BizSupplier.java

@@ -52,6 +52,9 @@ public class BizSupplier extends BaseEntity {
     @ApiModelProperty(value = "0:无结算方式,1:按支结算,2:按炉结算")
     private String settlementType;
 
+    @ApiModelProperty("加工单价")
+    private BigDecimal freightPrice;
+
     @Excel(name = "损耗上限")
     @ApiModelProperty(value = "损耗上限")
     private BigDecimal lossLimit;

+ 29 - 0
src/main/java/cn/ezhizao/project/business/mapper/BizMaterialBaseMapper.java

@@ -0,0 +1,29 @@
+package cn.ezhizao.project.business.mapper;
+
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import cn.ezhizao.project.business.domain.BizMaterialBase;
+
+/**
+ * 材料基本 来源inv10100Mapper接口
+ *
+ * @author ezhizao
+ * @date 2024-06-17
+ */
+public interface BizMaterialBaseMapper extends BaseMapper<BizMaterialBase>
+{
+    /**
+     * 查询材料基本 来源inv10100列表
+     *
+     * @param bizMaterialBase 材料基本 来源inv10100
+     * @return 材料基本 来源inv10100集合
+     */
+    public List<BizMaterialBase> getList(BizMaterialBase bizMaterialBase);
+
+    /**
+     * 物理删除
+     * @param bizMaterialBase
+     * @return 删除结果
+    */
+    public int physicalDelete(BizMaterialBase bizMaterialBase);
+}

+ 30 - 0
src/main/java/cn/ezhizao/project/business/service/IBizMaterialBaseService.java

@@ -0,0 +1,30 @@
+package cn.ezhizao.project.business.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import cn.ezhizao.project.business.domain.BizMaterialBase;
+
+/**
+ * 材料基本 来源inv10100Service接口
+ *
+ * @author ezhizao
+ * @date 2024-06-17
+ */
+public interface IBizMaterialBaseService extends IService<BizMaterialBase>
+{
+    /**
+     * 查询材料基本 来源inv10100列表
+     *
+     * @param bizMaterialBase 材料基本 来源inv10100
+     * @return 材料基本 来源inv10100集合
+     */
+    public List<BizMaterialBase> getList(BizMaterialBase bizMaterialBase);
+
+    /**
+     * 物理删除
+     * @param bizMaterialBase
+     * @return 删除结果
+     */
+    public int physicalDelete(BizMaterialBase bizMaterialBase);
+
+}

+ 43 - 0
src/main/java/cn/ezhizao/project/business/service/impl/BizMaterialBaseServiceImpl.java

@@ -0,0 +1,43 @@
+package cn.ezhizao.project.business.service.impl;
+
+import java.util.List;
+import javax.annotation.Resource;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import cn.ezhizao.project.business.mapper.BizMaterialBaseMapper;
+import cn.ezhizao.project.business.domain.BizMaterialBase;
+import cn.ezhizao.project.business.service.IBizMaterialBaseService;
+
+/**
+ * 材料基本 来源inv10100Service业务层处理
+ *
+ * @author ezhizao
+ * @date 2024-06-17
+ */
+@Service
+public class BizMaterialBaseServiceImpl extends ServiceImpl<BizMaterialBaseMapper, BizMaterialBase> implements IBizMaterialBaseService
+{
+    @Resource
+    private BizMaterialBaseMapper bizMaterialBaseMapper;
+
+    /**
+     * 查询材料基本 来源inv10100列表
+     *
+     * @param bizMaterialBase 材料基本 来源inv10100
+     * @return 材料基本 来源inv10100
+     */
+    @Override
+    public List<BizMaterialBase> getList(BizMaterialBase bizMaterialBase)
+    {
+        return bizMaterialBaseMapper.getList(bizMaterialBase);
+    }
+
+    /**
+     * 物理删除
+     * @param bizMaterialBase
+     * @return 删除结果
+     */
+    @Override
+    public int physicalDelete(BizMaterialBase bizMaterialBase){ return bizMaterialBaseMapper.physicalDelete(bizMaterialBase); };
+
+}

+ 180 - 0
src/main/resources/mybatis/business/BizMaterialBaseMapper.xml

@@ -0,0 +1,180 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.ezhizao.project.business.mapper.BizMaterialBaseMapper">
+
+    <resultMap type="cn.ezhizao.project.business.domain.BizMaterialBase" id="BizMaterialBaseResult">
+        <id column="id" property="id"/>
+    </resultMap>
+
+
+    <select id="getList" parameterType="BizMaterialBase" resultMap="BizMaterialBaseResult">
+        SELECT * FROM biz_material_base_info
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            deleted = 0
+            <if test="materialCode != null  and materialCode != ''"> AND material_code = #{materialCode}</if>
+            <if test="type != null  and type != ''"> AND type = #{type}</if>
+            <if test="mnemonicCode != null  and mnemonicCode != ''"> AND mnemonic_code = #{mnemonicCode}</if>
+            <if test="itemtype != null  and itemtype != ''"> AND itemtype = #{itemtype}</if>
+            <if test="steelClass != null  and steelClass != ''"> AND steel_class = #{steelClass}</if>
+            <if test="repCode != null  and repCode != ''"> AND rep_code = #{repCode}</if>
+            <if test="barcode != null  and barcode != ''"> AND barcode = #{barcode}</if>
+            <if test="prloc != null  and prloc != ''"> AND prloc = #{prloc}</if>
+            <if test="dept != null  and dept != ''"> AND dept = #{dept}</if>
+            <if test="description != null  and description != ''"> AND description = #{description}</if>
+            <if test="specification != null  and specification != ''"> AND specification = #{specification}</if>
+            <if test="uom != null  and uom != ''"> AND uom = #{uom}</if>
+            <if test="pounit != null  and pounit != ''"> AND pounit = #{pounit}</if>
+            <if test="pofact != null "> AND pofact = #{pofact}</if>
+            <if test="counit != null  and counit != ''"> AND counit = #{counit}</if>
+            <if test="cofact != null "> AND cofact = #{cofact}</if>
+            <if test="sounit != null  and sounit != ''"> AND sounit = #{sounit}</if>
+            <if test="sofact != null "> AND sofact = #{sofact}</if>
+            <if test="wunit != null  and wunit != ''"> AND wunit = #{wunit}</if>
+            <if test="weight != null "> AND weight = #{weight}</if>
+            <if test="weigs != null "> AND weigs = #{weigs}</if>
+            <if test="volume != null "> AND volume = #{volume}</if>
+            <if test="rounded != null  and rounded != ''"> AND rounded = #{rounded}</if>
+            <if test="draw != null  and draw != ''"> AND draw = #{draw}</if>
+            <if test="mpsok != null  and mpsok != ''"> AND mpsok = #{mpsok}</if>
+            <if test="isstype != null  and isstype != ''"> AND isstype = #{isstype}</if>
+            <if test="bypass != null  and bypass != ''"> AND bypass = #{bypass}</if>
+            <if test="batchqty != null "> AND batchqty = #{batchqty}</if>
+            <if test="yield != null "> AND yield = #{yield}</if>
+            <if test="commodity != null  and commodity != ''"> AND commodity = #{commodity}</if>
+            <if test="prdline != null  and prdline != ''"> AND prdline = #{prdline}</if>
+            <if test="salgrp != null  and salgrp != ''"> AND salgrp = #{salgrp}</if>
+            <if test="prcgrp != null  and prcgrp != ''"> AND prcgrp = #{prcgrp}</if>
+            <if test="fixmo != null  and fixmo != ''"> AND fixmo = #{fixmo}</if>
+            <if test="prpart != null  and prpart != ''"> AND prpart = #{prpart}</if>
+            <if test="attrctl != null  and attrctl != ''"> AND attrctl = #{attrctl}</if>
+            <if test="abc != null  and abc != ''"> AND abc = #{abc}</if>
+            <if test="abcctl != null  and abcctl != ''"> AND abcctl = #{abcctl}</if>
+            <if test="lcydate != null "> AND lcydate = #{lcydate}</if>
+            <if test="price != null "> AND price = #{price}</if>
+            <if test="stdcost != null "> AND stdcost = #{stdcost}</if>
+            <if test="material != null "> AND material = #{material}</if>
+            <if test="thismaterial != null "> AND thismaterial = #{thismaterial}</if>
+            <if test="prematerial != null "> AND prematerial = #{prematerial}</if>
+            <if test="labor != null "> AND labor = #{labor}</if>
+            <if test="thislabor != null "> AND thislabor = #{thislabor}</if>
+            <if test="prelabor != null "> AND prelabor = #{prelabor}</if>
+            <if test="overhead != null "> AND overhead = #{overhead}</if>
+            <if test="thisoverhead != null "> AND thisoverhead = #{thisoverhead}</if>
+            <if test="preoverhead != null "> AND preoverhead = #{preoverhead}</if>
+            <if test="varover != null "> AND varover = #{varover}</if>
+            <if test="mutqty2 != null "> AND mutqty2 = #{mutqty2}</if>
+            <if test="avgprc != null "> AND avgprc = #{avgprc}</if>
+            <if test="stdctl != null  and stdctl != ''"> AND stdctl = #{stdctl}</if>
+            <if test="purchaser != null  and purchaser != ''"> AND purchaser = #{purchaser}</if>
+            <if test="planner != null  and planner != ''"> AND planner = #{planner}</if>
+            <if test="vendor1 != null  and vendor1 != ''"> AND vendor1 = #{vendor1}</if>
+            <if test="safqty != null "> AND safqty = #{safqty}</if>
+            <if test="reorder != null "> AND reorder = #{reorder}</if>
+            <if test="minqty != null "> AND minqty = #{minqty}</if>
+            <if test="maxqty != null "> AND maxqty = #{maxqty}</if>
+            <if test="mutqty != null "> AND mutqty = #{mutqty}</if>
+            <if test="maxperiod != null "> AND maxperiod = #{maxperiod}</if>
+            <if test="merge != null  and merge != ''"> AND merge = #{merge}</if>
+            <if test="lead != null "> AND lead = #{lead}</if>
+            <if test="duration != null "> AND duration = #{duration}</if>
+            <if test="varbase1 != null "> AND varbase1 = #{varbase1}</if>
+            <if test="varbase != null "> AND varbase = #{varbase}</if>
+            <if test="planitem != null  and planitem != ''"> AND planitem = #{planitem}</if>
+            <if test="police != null  and police != ''"> AND police = #{police}</if>
+            <if test="llc != null "> AND llc = #{llc}</if>
+            <if test="onhand != null "> AND onhand = #{onhand}</if>
+            <if test="onorder != null "> AND onorder = #{onorder}</if>
+            <if test="allocate != null "> AND allocate = #{allocate}</if>
+            <if test="iqcqty != null "> AND iqcqty = #{iqcqty}</if>
+            <if test="priceflag != null  and priceflag != ''"> AND priceflag = #{priceflag}</if>
+            <if test="merchandise != null  and merchandise != ''"> AND merchandise = #{merchandise}</if>
+            <if test="lot != null  and lot != ''"> AND lot = #{lot}</if>
+            <if test="aux != null  and aux != ''"> AND aux = #{aux}</if>
+            <if test="auxunit != null  and auxunit != ''"> AND auxunit = #{auxunit}</if>
+            <if test="auxqty != null "> AND auxqty = #{auxqty}</if>
+            <if test="status != null  and status != ''"> AND status = #{status}</if>
+            <if test="lsttxdate != null "> AND lsttxdate = #{lsttxdate}</if>
+            <if test="subor != null "> AND subor = #{subor}</if>
+            <if test="thissubor != null "> AND thissubor = #{thissubor}</if>
+            <if test="presubor != null "> AND presubor = #{presubor}</if>
+            <if test="other != null "> AND other = #{other}</if>
+            <if test="thisother != null "> AND thisother = #{thisother}</if>
+            <if test="preother != null "> AND preother = #{preother}</if>
+            <if test="createdate != null "> AND createdate = #{createdate}</if>
+            <if test="createuser != null  and createuser != ''"> AND createuser = #{createuser}</if>
+            <if test="modifydate != null "> AND modifydate = #{modifydate}</if>
+            <if test="modifyuser != null  and modifyuser != ''"> AND modifyuser = #{modifyuser}</if>
+            <if test="rs != null  and rs != ''"> AND rs = #{rs}</if>
+            <if test="bkitem != null  and bkitem != ''"> AND bkitem = #{bkitem}</if>
+            <if test="bond != null  and bond != ''"> AND bond = #{bond}</if>
+            <if test="bissue != null  and bissue != ''"> AND bissue = #{bissue}</if>
+            <if test="qclead != null "> AND qclead = #{qclead}</if>
+            <if test="tfcode != null  and tfcode != ''"> AND tfcode = #{tfcode}</if>
+            <if test="stdlabor != null "> AND stdlabor = #{stdlabor}</if>
+            <if test="stdmachine != null "> AND stdmachine = #{stdmachine}</if>
+            <if test="accumlabor != null "> AND accumlabor = #{accumlabor}</if>
+            <if test="accumachine != null "> AND accumachine = #{accumachine}</if>
+            <if test="mpsprice != null "> AND mpsprice = #{mpsprice}</if>
+            <if test="mpscost != null "> AND mpscost = #{mpscost}</if>
+            <if test="bigclass != null  and bigclass != ''"> AND bigclass = #{bigclass}</if>
+            <if test="smlclass != null  and smlclass != ''"> AND smlclass = #{smlclass}</if>
+            <if test="potype != null  and potype != ''"> AND potype = #{potype}</if>
+            <if test="cstDynamical != null "> AND cst_dynamical = #{cstDynamical}</if>
+            <if test="cstFactory != null  and cstFactory != ''"> AND cst_factory = #{cstFactory}</if>
+            <if test="cstEquipment != null "> AND cst_equipment = #{cstEquipment}</if>
+            <if test="cstType != null  and cstType != ''"> AND cst_type = #{cstType}</if>
+            <if test="cstZj != null  and cstZj != ''"> AND cst_zj = #{cstZj}</if>
+            <if test="cstPartm != null  and cstPartm != ''"> AND cst_partm = #{cstPartm}</if>
+            <if test="cstKamt != null "> AND cst_kamt = #{cstKamt}</if>
+            <if test="jsyq != null  and jsyq != ''"> AND jsyq = #{jsyq}</if>
+            <if test="xzcode != null  and xzcode != ''"> AND xzcode = #{xzcode}</if>
+            <if test="zjunprc != null "> AND zjunprc = #{zjunprc}</if>
+            <if test="purtype != null  and purtype != ''"> AND purtype = #{purtype}</if>
+            <if test="phcode != null  and phcode != ''"> AND phcode = #{phcode}</if>
+            <if test="xhcode != null  and xhcode != ''"> AND xhcode = #{xhcode}</if>
+            <if test="addcode != null  and addcode != ''"> AND addcode = #{addcode}</if>
+            <if test="cdcode != null  and cdcode != ''"> AND cdcode = #{cdcode}</if>
+            <if test="cptype != null  and cptype != ''"> AND cptype = #{cptype}</if>
+            <if test="shaft != null  and shaft != ''"> AND shaft = #{shaft}</if>
+            <if test="density != null "> AND density = #{density}</if>
+            <if test="lenght != null "> AND lenght = #{lenght}</if>
+            <if test="dzj != null "> AND dzj = #{dzj}</if>
+            <if test="lenghts != null  and lenghts != ''"> AND lenghts = #{lenghts}</if>
+            <if test="gccd != null "> AND gccd = #{gccd}</if>
+            <if test="dzjs != null  and dzjs != ''"> AND dzjs = #{dzjs}</if>
+            <if test="onqty != null "> AND onqty = #{onqty}</if>
+            <if test="khjc != null  and khjc != ''"> AND khjc = #{khjc}</if>
+            <if test="invdate != null "> AND invdate = #{invdate}</if>
+            <if test="khpart != null  and khpart != ''"> AND khpart = #{khpart}</if>
+            <if test="zlcd != null  and zlcd != ''"> AND zlcd = #{zlcd}</if>
+            <if test="jsyq1 != null  and jsyq1 != ''"> AND jsyq1 = #{jsyq1}</if>
+            <if test="rkbz != null  and rkbz != ''"> AND rkbz = #{rkbz}</if>
+            <if test="hpart != null  and hpart != ''"> AND hpart = #{hpart}</if>
+            <if test="luhao != null  and luhao != ''"> AND luhao = #{luhao}</if>
+            <if test="facno != null  and facno != ''"> AND facno = #{facno}</if>
+            <if test="orderno != null  and orderno != ''"> AND orderno = #{orderno}</if>
+            <if test="bzhs != null "> AND bzhs = #{bzhs}</if>
+            <if test="spcode != null  and spcode != ''"> AND spcode = #{spcode}</if>
+            <if test="spname != null  and spname != ''"> AND spname like concat('%', #{spname}, '%')</if>
+            <if test="cust != null  and cust != ''"> AND cust = #{cust}</if>
+            <if test="yzj != null "> AND yzj = #{yzj}</if>
+            <if test="writeuser != null  and writeuser != ''"> AND writeuser = #{writeuser}</if>
+            <if test="writedate != null "> AND writedate = #{writedate}</if>
+            <if test="writeruser != null  and writeruser != ''"> AND writeruser = #{writeruser}</if>
+            <if test="dtype != null  and dtype != ''"> AND dtype = #{dtype}</if>
+            <if test="zjbxprc != null "> AND zjbxprc = #{zjbxprc}</if>
+        </trim>
+    </select>
+
+    <delete id="physicalDelete">
+        DELETE FROM biz_material_base
+        <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
+            <if test="id != null">
+                id = #{id} AND
+            </if>
+       <!-- 删除条件为其他外键可以在这里加 -->
+        </trim>
+    </delete>
+</mapper>