diff --git a/src/main/java/com/starcharge/wios/Import/impl/AuxiliarymaterialsCheckImport.java b/src/main/java/com/starcharge/wios/Import/impl/AuxiliarymaterialsCheckImport.java
new file mode 100644
index 0000000..da697a1
--- /dev/null
+++ b/src/main/java/com/starcharge/wios/Import/impl/AuxiliarymaterialsCheckImport.java
@@ -0,0 +1,29 @@
+package com.starcharge.wios.Import.impl;
+
+import com.starcharge.wios.Import.Import;
+import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+/**
+ * @projectName:wios
+ * @packageName:com.starcharge.wios.Import.impl
+ * @Description:TODO
+ * @Author:luyincheng
+ * @CreateDate: 2023/11/1610:13
+ */
+@Service
+public class AuxiliarymaterialsCheckImport implements Import {
+    @Override
+    public List<?> handle(List<Object> list) {
+        for(int i=1;i<list.size();i++){
+            List<String> rowdata = (List<String>)list.get(i);
+            if(rowdata.size()<=1|| StringUtils.isEmpty(rowdata.get(1))){
+                rowdata.add("error:申请单号不能为空");
+                continue;
+            }
+        }
+        return list;
+    }
+}
diff --git a/src/main/java/com/starcharge/wios/controller/DeliveryController.java b/src/main/java/com/starcharge/wios/controller/DeliveryController.java
index 9ba4fc3..41d5487 100644
--- a/src/main/java/com/starcharge/wios/controller/DeliveryController.java
+++ b/src/main/java/com/starcharge/wios/controller/DeliveryController.java
@@ -1,15 +1,20 @@
 package com.starcharge.wios.controller;
 
 import com.ihidea.component.api.v2.BaseResponse;
+import com.ihidea.core.support.exception.ServiceException;
 import com.starcharge.wios.auth.service.TokenService;
 import com.starcharge.wios.convert.DeliveryConvert;
 import com.starcharge.wios.dao.entity.Delivery;
 import com.starcharge.wios.dao.entity.WallboxApply;
 import com.starcharge.wios.dao.mappers.DeliveryMapper;
+import com.starcharge.wios.dao.mappers.TauxiliarymaterialsMapper;
 import com.starcharge.wios.dao.mappers.WallboxApplyMapper;
+import com.starcharge.wios.enums2.ProductType;
+import com.starcharge.wios.enums2.TauxiliarymaterialStatusEnum;
 import com.starcharge.wios.service.CommonUpdateService;
 import com.starcharge.wios.service.SnowFlakeService;
 import com.starcharge.wios.utils.ExcelUtils;
+import com.starcharge.wios.utils.NumberUtil;
 import com.starcharge.wios.validation.CreateEntityGroup;
 import com.starcharge.wios.validation.ParamsValidate;
 import com.starcharge.wios.validation.UpdateEntityGroup;
@@ -20,6 +25,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -47,7 +53,7 @@ public class DeliveryController {
     @Autowired
     private CommonUpdateService commonUpdateService;
     @Autowired
-    private SnowFlakeService snowFlakeService;
+    private TauxiliarymaterialsMapper tauxiliarymaterialsMapper;
     @Autowired
     private WallboxApplyMapper wallboxApplyMapper;
     @PostMapping("/add")
@@ -55,13 +61,26 @@ public class DeliveryController {
     @ParamsValidate
     @Transactional
     public BaseResponse<Integer> AddDelivery(@RequestBody @Validated(CreateEntityGroup.class) List<DeliveryAddVo> deliveryAddVoList, BindingResult bindingResult){
-        String orderid= snowFlakeService.getNextId(0,0)+"";
+        //String orderid= snowFlakeService.getNextId(0,0)+"";
         return new BaseResponse(deliveryAddVoList.stream()
                 .map(da->{
                     Delivery delivery= DeliveryConvert.INSTANCE.convertAddVo(da);
-                    delivery.setDeliveryOrder(orderid);
+                    delivery.setDeliveryOrder("FH"+NumberUtil.getRandomOrderId());
+                    if(!StringUtils.isEmpty(delivery.getLogisticOrder())){
+                        delivery.setLogisticStatus(TauxiliarymaterialStatusEnum.已发货.name());
+                    }
+                    if(!ProductType.辅材.name().equals(delivery.getIsproduct())){
+                        int result=this.wallboxApplyMapper.updateWallBoxTrackingStatusByOrderId("1",delivery.getInstallOrder());
+                        if(result!=1){
+                            throw new ServiceException("400","更新订单发货状态失败!订单号:"+delivery.getInstallOrder());
+                        }
+                    }else{
+                        int result=this.tauxiliarymaterialsMapper.updateTauxiliarymaterialsLogisticStatusByApplyOrder(TauxiliarymaterialStatusEnum.已发货.name(),delivery.getInstallOrder());
+                        if(result!=1){
+                            throw new ServiceException("400","更新辅材订单发货状态失败!订单号:"+delivery.getInstallOrder());
+                        }
+                    }
                     this.commonUpdateService.UpdateColumns(delivery,true);
-                    this.wallboxApplyMapper.updateWallBoxTrackingStatusByMC("1",delivery.getMaterialCode());
                     return this.deliveryMapper.insertSelective(delivery);
                 }).reduce(0,Integer::sum));
     }
@@ -83,7 +102,23 @@ public class DeliveryController {
     @PostMapping("/update")
     @ApiOperation("更新发货单信息")
     @ParamsValidate
+    @Transactional
     public BaseResponse<Delivery> update(@RequestBody @Validated(UpdateEntityGroup.class) Delivery delivery, BindingResult bindingResult){
+        Delivery before=this.deliveryMapper.selectByPrimaryKey(delivery.getId());
+        if(StringUtils.hasLength(before.getInstallOrder())&&!before.getInstallOrder().equals(delivery.getInstallOrder())){
+            if(!ProductType.辅材.name().equals(delivery)){
+                this.wallboxApplyMapper.updateWallBoxTrackingStatusByOrderId("0",before.getInstallOrder());
+                this.wallboxApplyMapper.updateWallBoxTrackingStatusByOrderId("1",delivery.getInstallOrder());
+            }else{
+                this.tauxiliarymaterialsMapper.updateTauxiliarymaterialsLogisticStatusByApplyOrder(TauxiliarymaterialStatusEnum.未发货.name(),before.getInstallOrder());
+                this.tauxiliarymaterialsMapper.updateTauxiliarymaterialsLogisticStatusByApplyOrder(TauxiliarymaterialStatusEnum.已发货.name(),delivery.getInstallOrder());
+            }
+        }
+        if(StringUtils.isEmpty(delivery.getLogisticOrder())){
+            delivery.setLogisticStatus(TauxiliarymaterialStatusEnum.未发货.name());
+        }else{
+            delivery.setLogisticStatus(TauxiliarymaterialStatusEnum.已发货.name());
+        }
         this.commonUpdateService.UpdateColumns(delivery,false);
         return new BaseResponse(this.deliveryMapper.updateByPrimaryKeySelective(delivery));
     }
diff --git a/src/main/java/com/starcharge/wios/controller/TauxiliarymaterialsController.java b/src/main/java/com/starcharge/wios/controller/TauxiliarymaterialsController.java
index bb7c989..9b1dcca 100644
--- a/src/main/java/com/starcharge/wios/controller/TauxiliarymaterialsController.java
+++ b/src/main/java/com/starcharge/wios/controller/TauxiliarymaterialsController.java
@@ -148,7 +148,11 @@ public class TauxiliarymaterialsController {
         SessionInfo sessionInfo = tokenService.getUser();
         tauxiliarymaterialsCheckDto.getTauxiliarymaterialsCheckVoList().stream()
                 .filter(dto->{
-                    var exist=this.tauxiliarymaterialsMapper.selectByPrimaryKey(dto.getId());
+                    Tauxiliarymaterials exist=null;
+                    if(dto.getId()>0){
+                        exist=this.tauxiliarymaterialsMapper.selectByPrimaryKey(dto.getId());
+                    }else if(StringUtils.hasLength(dto.getApplyOrder())){
+                        exist=this.tauxiliarymaterialsMapper.selectByApplyOrder(dto.getApplyOrder());                    }
                     if(exist==null){
                         return false;
                     }else{
diff --git a/src/main/java/com/starcharge/wios/dao/entity/Delivery.java b/src/main/java/com/starcharge/wios/dao/entity/Delivery.java
index f9e9e68..2358e23 100644
--- a/src/main/java/com/starcharge/wios/dao/entity/Delivery.java
+++ b/src/main/java/com/starcharge/wios/dao/entity/Delivery.java
@@ -132,8 +132,7 @@ public class Delivery extends PageVo implements Serializable {
      */
     @ApiModelProperty(value = "是否产品或辅料 1 是 0 否")
     @NotNull(groups = CreateEntityGroup.class)
-    @Range(min=0,max = 1,message = "是否产品或辅料只可填0或1",groups = UpdateEntityGroup.class)
-    private Integer isproduct;
+    private String isproduct;
     /**
      * 创建人
      *
@@ -165,6 +164,29 @@ public class Delivery extends PageVo implements Serializable {
      */
     @ApiModelProperty(value = "更新时间")
     private LocalDateTime updatedTime;
+    /**
+     * 到货仓库
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "到货仓库")
+    private String arrivalWarehouse;
+
+    /**
+     * 到货仓库id
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "到货仓库id")
+    private Integer arrivalWarehouseId;
+
+    /**
+     * 收货人
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "收货人")
+    private String receiver;
 
     private static final long serialVersionUID = 1L;
 
diff --git a/src/main/java/com/starcharge/wios/dao/entity/DeliveryCriteria.java b/src/main/java/com/starcharge/wios/dao/entity/DeliveryCriteria.java
index 9a4b164..fcd1796 100644
--- a/src/main/java/com/starcharge/wios/dao/entity/DeliveryCriteria.java
+++ b/src/main/java/com/starcharge/wios/dao/entity/DeliveryCriteria.java
@@ -1005,52 +1005,62 @@ public class DeliveryCriteria {
             return (Criteria) this;
         }
 
-        public Criteria andIsproductEqualTo(Integer value) {
+        public Criteria andIsproductEqualTo(String value) {
             addCriterion("isproduct =", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductNotEqualTo(Integer value) {
+        public Criteria andIsproductNotEqualTo(String value) {
             addCriterion("isproduct <>", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductGreaterThan(Integer value) {
+        public Criteria andIsproductGreaterThan(String value) {
             addCriterion("isproduct >", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductGreaterThanOrEqualTo(Integer value) {
+        public Criteria andIsproductGreaterThanOrEqualTo(String value) {
             addCriterion("isproduct >=", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductLessThan(Integer value) {
+        public Criteria andIsproductLessThan(String value) {
             addCriterion("isproduct <", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductLessThanOrEqualTo(Integer value) {
+        public Criteria andIsproductLessThanOrEqualTo(String value) {
             addCriterion("isproduct <=", value, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductIn(List<Integer> values) {
+        public Criteria andIsproductLike(String value) {
+            addCriterion("isproduct like", value, "isproduct");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsproductNotLike(String value) {
+            addCriterion("isproduct not like", value, "isproduct");
+            return (Criteria) this;
+        }
+
+        public Criteria andIsproductIn(List<String> values) {
             addCriterion("isproduct in", values, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductNotIn(List<Integer> values) {
+        public Criteria andIsproductNotIn(List<String> values) {
             addCriterion("isproduct not in", values, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductBetween(Integer value1, Integer value2) {
+        public Criteria andIsproductBetween(String value1, String value2) {
             addCriterion("isproduct between", value1, value2, "isproduct");
             return (Criteria) this;
         }
 
-        public Criteria andIsproductNotBetween(Integer value1, Integer value2) {
+        public Criteria andIsproductNotBetween(String value1, String value2) {
             addCriterion("isproduct not between", value1, value2, "isproduct");
             return (Criteria) this;
         }
@@ -1314,6 +1324,206 @@ public class DeliveryCriteria {
             addCriterion("UPDATED_TIME not between", value1, value2, "updatedTime");
             return (Criteria) this;
         }
+
+        public Criteria andArrivalWarehouseIsNull() {
+            addCriterion("arrival_warehouse is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIsNotNull() {
+            addCriterion("arrival_warehouse is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseEqualTo(String value) {
+            addCriterion("arrival_warehouse =", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseNotEqualTo(String value) {
+            addCriterion("arrival_warehouse <>", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseGreaterThan(String value) {
+            addCriterion("arrival_warehouse >", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseGreaterThanOrEqualTo(String value) {
+            addCriterion("arrival_warehouse >=", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseLessThan(String value) {
+            addCriterion("arrival_warehouse <", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseLessThanOrEqualTo(String value) {
+            addCriterion("arrival_warehouse <=", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseLike(String value) {
+            addCriterion("arrival_warehouse like", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseNotLike(String value) {
+            addCriterion("arrival_warehouse not like", value, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIn(List<String> values) {
+            addCriterion("arrival_warehouse in", values, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseNotIn(List<String> values) {
+            addCriterion("arrival_warehouse not in", values, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseBetween(String value1, String value2) {
+            addCriterion("arrival_warehouse between", value1, value2, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseNotBetween(String value1, String value2) {
+            addCriterion("arrival_warehouse not between", value1, value2, "arrivalWarehouse");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdIsNull() {
+            addCriterion("arrival_warehouse_id is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdIsNotNull() {
+            addCriterion("arrival_warehouse_id is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdEqualTo(Integer value) {
+            addCriterion("arrival_warehouse_id =", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdNotEqualTo(Integer value) {
+            addCriterion("arrival_warehouse_id <>", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdGreaterThan(Integer value) {
+            addCriterion("arrival_warehouse_id >", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdGreaterThanOrEqualTo(Integer value) {
+            addCriterion("arrival_warehouse_id >=", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdLessThan(Integer value) {
+            addCriterion("arrival_warehouse_id <", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdLessThanOrEqualTo(Integer value) {
+            addCriterion("arrival_warehouse_id <=", value, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdIn(List<Integer> values) {
+            addCriterion("arrival_warehouse_id in", values, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdNotIn(List<Integer> values) {
+            addCriterion("arrival_warehouse_id not in", values, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdBetween(Integer value1, Integer value2) {
+            addCriterion("arrival_warehouse_id between", value1, value2, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andArrivalWarehouseIdNotBetween(Integer value1, Integer value2) {
+            addCriterion("arrival_warehouse_id not between", value1, value2, "arrivalWarehouseId");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverIsNull() {
+            addCriterion("receiver is null");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverIsNotNull() {
+            addCriterion("receiver is not null");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverEqualTo(String value) {
+            addCriterion("receiver =", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverNotEqualTo(String value) {
+            addCriterion("receiver <>", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverGreaterThan(String value) {
+            addCriterion("receiver >", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverGreaterThanOrEqualTo(String value) {
+            addCriterion("receiver >=", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverLessThan(String value) {
+            addCriterion("receiver <", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverLessThanOrEqualTo(String value) {
+            addCriterion("receiver <=", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverLike(String value) {
+            addCriterion("receiver like", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverNotLike(String value) {
+            addCriterion("receiver not like", value, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverIn(List<String> values) {
+            addCriterion("receiver in", values, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverNotIn(List<String> values) {
+            addCriterion("receiver not in", values, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverBetween(String value1, String value2) {
+            addCriterion("receiver between", value1, value2, "receiver");
+            return (Criteria) this;
+        }
+
+        public Criteria andReceiverNotBetween(String value1, String value2) {
+            addCriterion("receiver not between", value1, value2, "receiver");
+            return (Criteria) this;
+        }
     }
 
     public static class Criteria extends GeneratedCriteria {
diff --git a/src/main/java/com/starcharge/wios/dao/mappers/DeliveryMapper.xml b/src/main/java/com/starcharge/wios/dao/mappers/DeliveryMapper.xml
index 99e9822..36fb82f 100644
--- a/src/main/java/com/starcharge/wios/dao/mappers/DeliveryMapper.xml
+++ b/src/main/java/com/starcharge/wios/dao/mappers/DeliveryMapper.xml
@@ -15,11 +15,14 @@
     <result column="logistic_company" jdbcType="VARCHAR" property="logisticCompany" />
     <result column="logistic_status" jdbcType="VARCHAR" property="logisticStatus" />
     <result column="team" jdbcType="VARCHAR" property="team" />
-    <result column="isproduct" jdbcType="INTEGER" property="isproduct" />
+    <result column="isproduct" jdbcType="VARCHAR" property="isproduct" />
     <result column="CREATED_BY" jdbcType="VARCHAR" property="createdBy" />
     <result column="CREATED_TIME" jdbcType="TIMESTAMP" property="createdTime" />
     <result column="UPDATED_BY" jdbcType="VARCHAR" property="updatedBy" />
     <result column="UPDATED_TIME" jdbcType="TIMESTAMP" property="updatedTime" />
+    <result column="arrival_warehouse" jdbcType="VARCHAR" property="arrivalWarehouse" />
+    <result column="arrival_warehouse_id" jdbcType="INTEGER" property="arrivalWarehouseId" />
+    <result column="receiver" jdbcType="VARCHAR" property="receiver" />
   </resultMap>
   <sql id="Example_Where_Clause">
     <where>
@@ -79,6 +82,12 @@
       </foreach>
     </where>
   </sql>
+  <sql id="Base_Column_List">
+    id, delivery_order, install_order, product_batch, quantity, material_category, material_code, 
+    material_name, material_company, logistic_order, logistic_company, logistic_status, 
+    team, isproduct, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME, arrival_warehouse, 
+    arrival_warehouse_id, receiver
+  </sql>
 
   <select id="selectDeliveryList" parameterType="com.starcharge.wios.dao.entity.Delivery" resultMap="BaseResultMap">
     select
@@ -104,12 +113,12 @@
       <if test="updatedTime != null "> and UPDATED_TIME = #{updatedTime}</if>
     </where>
   </select>
-
-  <sql id="Base_Column_List">
-    id, delivery_order, install_order, product_batch, quantity, material_category, material_code, 
-    material_name, material_company, logistic_order, logistic_company, logistic_status, 
-    team, isproduct, CREATED_BY, CREATED_TIME, UPDATED_BY, UPDATED_TIME
-  </sql>
+  <select id="selectByLogisticOrder" parameterType="string" resultMap="BaseResultMap">
+    select
+    <include refid="Base_Column_List" />
+    from t_delivery
+    where logistic_order = #{logisticOrder,jdbcType=VARCHAR}
+  </select>
   <select id="selectByExample" parameterType="com.starcharge.wios.dao.entity.DeliveryCriteria" resultMap="BaseResultMap">
     select
     <if test="distinct">
@@ -130,12 +139,6 @@
     from t_delivery
     where id = #{id,jdbcType=INTEGER}
   </select>
-  <select id="selectByLogisticOrder" parameterType="string" resultMap="BaseResultMap">
-    select
-    <include refid="Base_Column_List" />
-    from t_delivery
-    where logistic_order = #{logisticOrder,jdbcType=VARCHAR}
-  </select>
   <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
     delete from t_delivery
     where id = #{id,jdbcType=INTEGER}
@@ -155,13 +158,15 @@
       material_name, material_company, logistic_order, 
       logistic_company, logistic_status, team, 
       isproduct, CREATED_BY, CREATED_TIME, 
-      UPDATED_BY, UPDATED_TIME)
+      UPDATED_BY, UPDATED_TIME, arrival_warehouse, 
+      arrival_warehouse_id, receiver)
     values (#{deliveryOrder,jdbcType=VARCHAR}, #{installOrder,jdbcType=VARCHAR}, #{productBatch,jdbcType=VARCHAR}, 
       #{quantity,jdbcType=INTEGER}, #{materialCategory,jdbcType=VARCHAR}, #{materialCode,jdbcType=VARCHAR}, 
       #{materialName,jdbcType=VARCHAR}, #{materialCompany,jdbcType=VARCHAR}, #{logisticOrder,jdbcType=VARCHAR}, 
       #{logisticCompany,jdbcType=VARCHAR}, #{logisticStatus,jdbcType=VARCHAR}, #{team,jdbcType=VARCHAR}, 
-      #{isproduct,jdbcType=INTEGER}, #{createdBy,jdbcType=VARCHAR}, #{createdTime,jdbcType=TIMESTAMP}, 
-      #{updatedBy,jdbcType=VARCHAR}, #{updatedTime,jdbcType=TIMESTAMP})
+      #{isproduct,jdbcType=VARCHAR}, #{createdBy,jdbcType=VARCHAR}, #{createdTime,jdbcType=TIMESTAMP}, 
+      #{updatedBy,jdbcType=VARCHAR}, #{updatedTime,jdbcType=TIMESTAMP}, #{arrivalWarehouse,jdbcType=VARCHAR}, 
+      #{arrivalWarehouseId,jdbcType=INTEGER}, #{receiver,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.starcharge.wios.dao.entity.Delivery">
     <selectKey keyProperty="id" order="AFTER" resultType="java.lang.Integer">
@@ -220,6 +225,15 @@
       <if test="updatedTime != null">
         UPDATED_TIME,
       </if>
+      <if test="arrivalWarehouse != null">
+        arrival_warehouse,
+      </if>
+      <if test="arrivalWarehouseId != null">
+        arrival_warehouse_id,
+      </if>
+      <if test="receiver != null">
+        receiver,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
       <if test="deliveryOrder != null">
@@ -259,7 +273,7 @@
         #{team,jdbcType=VARCHAR},
       </if>
       <if test="isproduct != null">
-        #{isproduct,jdbcType=INTEGER},
+        #{isproduct,jdbcType=VARCHAR},
       </if>
       <if test="createdBy != null">
         #{createdBy,jdbcType=VARCHAR},
@@ -273,6 +287,15 @@
       <if test="updatedTime != null">
         #{updatedTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="arrivalWarehouse != null">
+        #{arrivalWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="arrivalWarehouseId != null">
+        #{arrivalWarehouseId,jdbcType=INTEGER},
+      </if>
+      <if test="receiver != null">
+        #{receiver,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <select id="countByExample" parameterType="com.starcharge.wios.dao.entity.DeliveryCriteria" resultType="java.lang.Long">
@@ -324,7 +347,7 @@
         team = #{record.team,jdbcType=VARCHAR},
       </if>
       <if test="record.isproduct != null">
-        isproduct = #{record.isproduct,jdbcType=INTEGER},
+        isproduct = #{record.isproduct,jdbcType=VARCHAR},
       </if>
       <if test="record.createdBy != null">
         CREATED_BY = #{record.createdBy,jdbcType=VARCHAR},
@@ -338,6 +361,15 @@
       <if test="record.updatedTime != null">
         UPDATED_TIME = #{record.updatedTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="record.arrivalWarehouse != null">
+        arrival_warehouse = #{record.arrivalWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="record.arrivalWarehouseId != null">
+        arrival_warehouse_id = #{record.arrivalWarehouseId,jdbcType=INTEGER},
+      </if>
+      <if test="record.receiver != null">
+        receiver = #{record.receiver,jdbcType=VARCHAR},
+      </if>
     </set>
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
@@ -358,11 +390,14 @@
       logistic_company = #{record.logisticCompany,jdbcType=VARCHAR},
       logistic_status = #{record.logisticStatus,jdbcType=VARCHAR},
       team = #{record.team,jdbcType=VARCHAR},
-      isproduct = #{record.isproduct,jdbcType=INTEGER},
+      isproduct = #{record.isproduct,jdbcType=VARCHAR},
       CREATED_BY = #{record.createdBy,jdbcType=VARCHAR},
       CREATED_TIME = #{record.createdTime,jdbcType=TIMESTAMP},
       UPDATED_BY = #{record.updatedBy,jdbcType=VARCHAR},
-      UPDATED_TIME = #{record.updatedTime,jdbcType=TIMESTAMP}
+      UPDATED_TIME = #{record.updatedTime,jdbcType=TIMESTAMP},
+      arrival_warehouse = #{record.arrivalWarehouse,jdbcType=VARCHAR},
+      arrival_warehouse_id = #{record.arrivalWarehouseId,jdbcType=INTEGER},
+      receiver = #{record.receiver,jdbcType=VARCHAR}
     <if test="_parameter != null">
       <include refid="Update_By_Example_Where_Clause" />
     </if>
@@ -407,7 +442,7 @@
         team = #{team,jdbcType=VARCHAR},
       </if>
       <if test="isproduct != null">
-        isproduct = #{isproduct,jdbcType=INTEGER},
+        isproduct = #{isproduct,jdbcType=VARCHAR},
       </if>
       <if test="createdBy != null">
         CREATED_BY = #{createdBy,jdbcType=VARCHAR},
@@ -421,6 +456,15 @@
       <if test="updatedTime != null">
         UPDATED_TIME = #{updatedTime,jdbcType=TIMESTAMP},
       </if>
+      <if test="arrivalWarehouse != null">
+        arrival_warehouse = #{arrivalWarehouse,jdbcType=VARCHAR},
+      </if>
+      <if test="arrivalWarehouseId != null">
+        arrival_warehouse_id = #{arrivalWarehouseId,jdbcType=INTEGER},
+      </if>
+      <if test="receiver != null">
+        receiver = #{receiver,jdbcType=VARCHAR},
+      </if>
     </set>
     where id = #{id,jdbcType=INTEGER}
   </update>
@@ -438,11 +482,14 @@
       logistic_company = #{logisticCompany,jdbcType=VARCHAR},
       logistic_status = #{logisticStatus,jdbcType=VARCHAR},
       team = #{team,jdbcType=VARCHAR},
-      isproduct = #{isproduct,jdbcType=INTEGER},
+      isproduct = #{isproduct,jdbcType=VARCHAR},
       CREATED_BY = #{createdBy,jdbcType=VARCHAR},
       CREATED_TIME = #{createdTime,jdbcType=TIMESTAMP},
       UPDATED_BY = #{updatedBy,jdbcType=VARCHAR},
-      UPDATED_TIME = #{updatedTime,jdbcType=TIMESTAMP}
+      UPDATED_TIME = #{updatedTime,jdbcType=TIMESTAMP},
+      arrival_warehouse = #{arrivalWarehouse,jdbcType=VARCHAR},
+      arrival_warehouse_id = #{arrivalWarehouseId,jdbcType=INTEGER},
+      receiver = #{receiver,jdbcType=VARCHAR}
     where id = #{id,jdbcType=INTEGER}
   </update>
 </mapper>
\ No newline at end of file
diff --git a/src/main/java/com/starcharge/wios/dao/mappers/TauxiliarymaterialsMapper.java b/src/main/java/com/starcharge/wios/dao/mappers/TauxiliarymaterialsMapper.java
index e5ec293..1a04b63 100644
--- a/src/main/java/com/starcharge/wios/dao/mappers/TauxiliarymaterialsMapper.java
+++ b/src/main/java/com/starcharge/wios/dao/mappers/TauxiliarymaterialsMapper.java
@@ -4,6 +4,8 @@ import com.starcharge.wios.dao.entity.Tauxiliarymaterials;
 import com.starcharge.wios.dao.entity.TauxiliarymaterialsAdd;
 import com.starcharge.wios.dao.entity.TauxiliarymaterialsCriteria;
 import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
 
 import java.util.List;
 
@@ -41,4 +43,11 @@ public interface TauxiliarymaterialsMapper {
     Tauxiliarymaterials getRecentTAuxiliaryMaterials(@Param("materialCode")String materialCode);
 
     int updateLogisticOrder(@Param("id")int id,@Param("logisticOrder")String logisticOrder);
+
+    @Update("update t_auxiliary_materials set logistic_status=#{logisticStatus} where apply_order=#{applyOrder}")
+    public int updateTauxiliarymaterialsLogisticStatusByApplyOrder(@Param("logisticStatus")String logisticStatus,@Param("applyOrder")String applyOrder);
+
+    @Select("select * from t_auxiliary_materials where apply_order=#{applyOrder} limit 1")
+    Tauxiliarymaterials selectByApplyOrder(@Param("applyOrder")String applyOrder);
+
 }
\ No newline at end of file
diff --git a/src/main/java/com/starcharge/wios/dao/mappers/WallboxApplyMapper.java b/src/main/java/com/starcharge/wios/dao/mappers/WallboxApplyMapper.java
index bd3424a..7eb2dda 100644
--- a/src/main/java/com/starcharge/wios/dao/mappers/WallboxApplyMapper.java
+++ b/src/main/java/com/starcharge/wios/dao/mappers/WallboxApplyMapper.java
@@ -90,4 +90,7 @@ public interface WallboxApplyMapper {
      */
     @Update("update t_wallbox_apply set tracking_status=#{trackingStatus} where wallbox_item_id=#{wallboxItemId}")
     public int updateWallBoxTrackingStatusByMC(@Param("trackingStatus")String trackingStatus,@Param("wallboxItemId")String wallboxItemId);
+
+    @Update("update t_wallbox_apply set tracking_status=#{trackingStatus} where order_id=#{orderId}")
+    public int updateWallBoxTrackingStatusByOrderId(@Param("trackingStatus")String trackingStatus,@Param("orderId")String orderId);
 }
diff --git a/src/main/java/com/starcharge/wios/dto/TauxiliarymaterialsCheckDto.java b/src/main/java/com/starcharge/wios/dto/TauxiliarymaterialsCheckDto.java
index 1b76059..183cb7d 100644
--- a/src/main/java/com/starcharge/wios/dto/TauxiliarymaterialsCheckDto.java
+++ b/src/main/java/com/starcharge/wios/dto/TauxiliarymaterialsCheckDto.java
@@ -41,6 +41,13 @@ public class TauxiliarymaterialsCheckDto {
         @ApiModelProperty(required = true,value = "id")
         private Integer id;
         /**
+         * 申请单号
+         *
+         * @mbg.generated
+         */
+        @ApiModelProperty(value = "申请单号")
+        private String applyOrder;
+        /**
          * 批准数量
          *
          * @mbg.generated
diff --git a/src/main/java/com/starcharge/wios/enums2/ProductType.java b/src/main/java/com/starcharge/wios/enums2/ProductType.java
new file mode 100644
index 0000000..50a9db6
--- /dev/null
+++ b/src/main/java/com/starcharge/wios/enums2/ProductType.java
@@ -0,0 +1,12 @@
+package com.starcharge.wios.enums2;
+
+/**
+ * @projectName:wios
+ * @packageName:com.starcharge.wios.enums2
+ * @Description:TODO
+ * @Author:luyincheng
+ * @CreateDate: 2023/11/169:33
+ */
+public enum ProductType {
+    辅材,品牌墙盒,三方墙盒
+}
diff --git a/src/main/java/com/starcharge/wios/vo/DeliveryAddVo.java b/src/main/java/com/starcharge/wios/vo/DeliveryAddVo.java
index b579d13..274ad05 100644
--- a/src/main/java/com/starcharge/wios/vo/DeliveryAddVo.java
+++ b/src/main/java/com/starcharge/wios/vo/DeliveryAddVo.java
@@ -140,6 +140,30 @@ public class DeliveryAddVo {
      */
     @ApiModelProperty(value = "是否产品或辅料 1 是 0 否")
     @NotNull(groups = CreateEntityGroup.class)
-    @Range(min=0,max = 1,message = "是否产品或辅料只可填0或1",groups =CreateEntityGroup.class )
-    private Integer isproduct;
+    private String isproduct;
+
+
+    /**
+     * 到货仓库
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "到货仓库")
+    private String arrivalWarehouse;
+
+    /**
+     * 到货仓库id
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "到货仓库id")
+    private Integer arrivalWarehouseId;
+
+    /**
+     * 收货人
+     *
+     * @mbg.generated
+     */
+    @ApiModelProperty(value = "收货人")
+    private String receiver;
 }
diff --git a/src/main/java/com/starcharge/wios/vo/DeliveryExcelVo.java b/src/main/java/com/starcharge/wios/vo/DeliveryExcelVo.java
index da5dc60..9b18cba 100644
--- a/src/main/java/com/starcharge/wios/vo/DeliveryExcelVo.java
+++ b/src/main/java/com/starcharge/wios/vo/DeliveryExcelVo.java
@@ -1,6 +1,7 @@
 package com.starcharge.wios.vo;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.time.LocalDateTime;
@@ -122,7 +123,7 @@ public class DeliveryExcelVo {
      * @mbg.generated
      */
     @ExcelProperty(value = "是否产品或辅料")
-    private Integer isproduct;
+    private String isproduct;
     /**
      * 创建人
      *
@@ -154,4 +155,28 @@ public class DeliveryExcelVo {
      */
     @ExcelProperty(value = "更新时间")
     private LocalDateTime updatedTime;
+
+    /**
+     * 到货仓库
+     *
+     * @mbg.generated
+     */
+    @ExcelProperty(value = "到货仓库")
+    private String arrivalWarehouse;
+
+    /**
+     * 到货仓库id
+     *
+     * @mbg.generated
+     */
+    @ExcelProperty(value = "到货仓库id")
+    private Integer arrivalWarehouseId;
+
+    /**
+     * 收货人
+     *
+     * @mbg.generated
+     */
+    @ExcelProperty(value = "收货人")
+    private String receiver;
 }