Просмотр исходного кода

Merge branch 'master' of http://git.dongkesoft.com:9001/iBOSS-2.0-Mini/iboss-server-mdm

姜永辉 1 год назад
Родитель
Сommit
01ddb775db
25 измененных файлов с 260 добавлено и 114 удалено
  1. 10 0
      src/main/java/com/dk/mdm/controller/ivt/FreezeController.java
  2. 10 0
      src/main/java/com/dk/mdm/controller/ivt/TransferController.java
  3. 8 1
      src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml
  4. 2 1
      src/main/java/com/dk/mdm/mapper/ivt/CheckItemMapper.xml
  5. 4 0
      src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml
  6. 4 4
      src/main/java/com/dk/mdm/mapper/ivt/TransferItemMapper.xml
  7. 9 0
      src/main/java/com/dk/mdm/mapper/ivt/TransferMapper.java
  8. 23 5
      src/main/java/com/dk/mdm/mapper/ivt/TransferMapper.xml
  9. 4 1
      src/main/java/com/dk/mdm/mapper/mac/RecPayMapper.xml
  10. 7 0
      src/main/java/com/dk/mdm/mapper/mst/OrgMapper.java
  11. 5 0
      src/main/java/com/dk/mdm/mapper/mst/OrgMapper.xml
  12. 1 0
      src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml
  13. 2 0
      src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml
  14. 2 1
      src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml
  15. 9 0
      src/main/java/com/dk/mdm/model/response/ivt/CheckItemResponse.java
  16. 26 0
      src/main/java/com/dk/mdm/model/response/ivt/TransferResponse.java
  17. 2 0
      src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java
  18. 3 0
      src/main/java/com/dk/mdm/service/common/CommonService.java
  19. 12 9
      src/main/java/com/dk/mdm/service/ivt/FreezeService.java
  20. 33 10
      src/main/java/com/dk/mdm/service/ivt/TransferService.java
  21. 8 8
      src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java
  22. 5 5
      src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java
  23. 1 21
      src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java
  24. 0 13
      src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java
  25. 70 35
      src/main/java/com/dk/mdm/service/mst/OrgService.java

+ 10 - 0
src/main/java/com/dk/mdm/controller/ivt/FreezeController.java

@@ -85,4 +85,14 @@ public class FreezeController{
     public ResponseResultVO<?> update(@RequestBody FreezeVO freezeVO) {
         return freezeService.update(freezeVO);
     }
+
+    /**
+     * @desc : 通过ID获取编辑盘点单信息
+     * @author : 王英杰
+     * @date : 2024/3/28 15:34
+     */
+    @PostMapping({"update_freezeall/{id}"})
+    public ResponseResultVO updateFreezeAll(@PathVariable String id) {
+        return freezeService.updateFreezeAll(id);
+    }
 }

+ 10 - 0
src/main/java/com/dk/mdm/controller/ivt/TransferController.java

@@ -58,4 +58,14 @@ public class TransferController{
     public ResponseResultVO<?> invalid(@PathVariable String id) {
         return transferService.invalid(id);
     }
+
+    /**
+     * @desc : 通过ID获取库存明细详情
+     * @author : 王英杰
+     * @date : 2024/3/28 15:34
+     */
+    @PostMapping({"/{id}"})
+    public ResponseResultVO selectById(@PathVariable String id) {
+        return transferService.getTransferForUpdate(id);
+    }
 }

+ 8 - 1
src/main/java/com/dk/mdm/mapper/common/CommonMapper.xml

@@ -467,6 +467,7 @@
         tmgs.sku_model         as "skuModel",
         tmgs.brand_id          as "brandId",
         tmgb.brand_name        as "brandName",
+        tmgb.short_name        as "shortName",
         tmgs.category_id       as "categoryId",
         tmgc.cat_name          as "categoryName",
         tmgs.unit_id           as "unitId",
@@ -731,6 +732,9 @@
             <if test="cpId != null">
                 AND tmgb.cp_id = #{cpId}
             </if>
+            <if test="flgValid != null">
+                AND tmgb.flg_valid = #{flgValid}
+            </if>
         </where>
         order by tmgb.display_no asc
         <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
@@ -806,11 +810,14 @@
         FROM dkic_b.t_mst_goods_brand tmgb
         <where>
             <if test="searchText !=null">
-                AND  tmgb.brand_name LIKE concat('%', #{searchText}, '%')
+                AND   tmgb.brand_name LIKE concat('%',my_ex.likequery(#{searchText}), '%')
             </if>
             <if test="cpId != null">
                 AND tmgb.cp_id = #{cpId}
             </if>
+            <if test="flgValid != null">
+                AND tmgb.flg_valid = #{flgValid}
+            </if>
         </where>
     </select>
     <!--    查询商品种类-->

+ 2 - 1
src/main/java/com/dk/mdm/mapper/ivt/CheckItemMapper.xml

@@ -73,7 +73,7 @@
         <result column="op_update_time" property="opUpdateTime" typeHandler="TimestampTypeHandler"/>
         <result column="op_update_user_id" property="opUpdateUserId" typeHandler="UuidTypeHandler"/>
         <result column="op_app_code" property="opAppCode"/>
-
+        <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
         <result column="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
         <result column="op_db_user" property="opDbUser"/>
         <result column="o_inv_qty" property="oInvQty"/>
@@ -169,6 +169,7 @@
     <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT
         <include refid="Base_Column_List_Response"/>
+        ,sku.sku_images
         FROM dkic_b.t_psi_check_item AS item
         LEFT JOIN dkic_b.t_mst_goods_sku AS sku ON item.sku_id=sku.sku_id
         LEFT JOIN dkic_b.t_psi_inventory AS inv ON inv.inv_id=item.inv_id

+ 4 - 0
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -97,6 +97,8 @@
         <result column="skuName" property="skuName"/>
         <result column="brandName" property="brandName"/>
         <result column="brand_name" property="brandName"/>
+        <result column="shortName" property="shortName"/>
+        <result column="short_name" property="shortName"/>
         <result column="orderQty" property="orderQty"/>
         <result column="canOutingQty" property="canOutingQty"/>
         <result column="whId" property="whId"/>
@@ -351,6 +353,7 @@
                tpoi.item_qty                                                             as "orderQty",
                tpoi.item_qty - tpoi.outing_qty - tpoi.out_qty + t.outing_qty + t.out_qty as "canOutingQty",
                tmgb.brand_name AS "brandName",
+               tmgb.short_name AS "shortName",
                t.price_out,
                t.outing_qty + t.out_qty                                                  as outing_qty,
                t.outing_amt + t.out_amt                                                  as outing_amt,
@@ -446,6 +449,7 @@
                t.sku_id,
                tmgs.sku_images,
                tmgb.brand_name,
+               tmgb.short_name,
                tmgs.sku_code                                                                         as "skuCode",
                tmgs.sku_model                                                                        as "skuModel",
                tmgs.sku_name                                                                         as "skuName",

+ 4 - 4
src/main/java/com/dk/mdm/mapper/ivt/TransferItemMapper.xml

@@ -151,7 +151,7 @@
     <select id="selectByCond" resultMap="BaseResultMap_Response">
         SELECT
         <include refid="Base_Column_List_Response"/>
-        FROM t_psi_transfer_item AS item
+        FROM dkic_b.t_psi_transfer_item AS item
         LEFT JOIN dkic_b.t_mst_goods_sku AS sku ON item.sku_id=sku.sku_id
         LEFT JOIN dkic_b.t_psi_inventory AS inv ON inv.inv_id=item.inv_id
         LEFT JOIN dkic_b.t_mst_warehouse AS wh ON wh.wh_id=inv.wh_id
@@ -168,7 +168,7 @@
     <select id="countByCond" resultType="Long">
         SELECT
         count(1)
-        FROM t_psi_transfer_item
+        FROM dkic_b.t_psi_transfer_item
         <include refid="Condition"/>
     </select>
 
@@ -176,7 +176,7 @@
     <select id="selectById" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_transfer_item
+        FROM dkic_b.t_psi_transfer_item
         WHERE item_id = #{id}::uuid
     </select>
 
@@ -184,7 +184,7 @@
     <select id="selectByIdForUpdate" resultMap="BaseResultMap">
         SELECT
         <include refid="Base_Column_List"/>
-        FROM t_psi_transfer_item
+        FROM dkic_b.t_psi_transfer_item
         WHERE item_id = #{itemId}
         for update
     </select>

+ 9 - 0
src/main/java/com/dk/mdm/mapper/ivt/TransferMapper.java

@@ -4,7 +4,9 @@ import com.dk.mdm.model.pojo.ivt.Transfer;
 import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.query.ivt.CheckQuery;
 import com.dk.mdm.model.query.ivt.TransferQuery;
+import com.dk.mdm.model.response.ivt.CheckItemResponse;
 import com.dk.mdm.model.response.ivt.TransferResponse;
+import org.apache.ibatis.annotations.Param;
 import org.springframework.stereotype.Repository;
 
 import java.util.List;
@@ -28,6 +30,13 @@ public interface TransferMapper extends BaseMapper<Transfer>{
      * @date   : 2024/4/2 9:28
      */
     Long countByCond(TransferQuery transferQuery);
+
+    /**
+     * @desc   : 根据Id进行查询
+     * @author : 王英杰
+     * @date   : 2024/3/19 16:15
+     */
+    TransferResponse selectById(@Param("id") String id);
 	
 }
 

+ 23 - 5
src/main/java/com/dk/mdm/mapper/ivt/TransferMapper.xml

@@ -65,6 +65,10 @@
         <result column="make_time" property="makeTime" typeHandler="TimestampTypeHandler"/>
         <result column="flg_valid" property="flgValid"/>
         <result column="cp_id" property="cpId"/>
+        <result column="oWhName" property="oWhName"/>
+        <result column="whName" property="whName"/>
+        <result column="orgName" property="orgName"/>
+        <result column="staffName" property="staffName"/>
         <result column="annex_paths" property="annexPaths" typeHandler="JsonTypeHandler"/>
         <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
         <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
@@ -183,11 +187,15 @@
         </where>
     </sql>
 
-    <!-- 查询表t_psi_transfer,(条件查询+分页)列表 -->
+    <!-- 查询表t_psi_transfer,(条件查询+分页)列表 库存调整 -->
     <select id="selectByCond" resultMap="BaseResultMap_Response">
         SELECT
         <include refid="Base_Column_List_Response"/>
+        ,otmw.wh_name as "oWhName"
+        ,tmw.wh_name as "whName"
         FROM dkic_b.t_psi_transfer AS trf
+        left join   dkic_b.t_mst_warehouse as otmw on otmw.wh_id = trf.o_wh_id
+        left join   dkic_b.t_mst_warehouse as tmw on tmw.wh_id = trf.wh_id
         lEFT JOIN dkic_b.t_mst_staff AS staff ON  staff.staff_id=trf.staff_id
         lEFT JOIN dkic_b.t_mst_org AS org ON org.org_id=trf.org_id
         lEFT JOIN dkic_b.t_mst_staff AS mstaff ON mstaff.staff_id=trf.make_staff
@@ -207,11 +215,21 @@
     </select>
 
     <!-- 根据主键查询表t_psi_transfer的一行数据 -->
-    <select id="selectById" resultMap="BaseResultMap">
+    <select id="selectById" resultMap="BaseResultMap_Response">
         SELECT
-        <include refid="Base_Column_List"/>
-        FROM dkic_b.t_psi_transfer
-        WHERE transfer_id = #{id}::uuid
+        <include refid="Base_Column_List_Response"/>
+        ,otmw.wh_name as "oWhName"
+        ,tmw.wh_name as "whName"
+        ,staff.staff_name AS "staffName"
+        ,org.org_name AS "orgName"
+        FROM dkic_b.t_psi_transfer AS trf
+        left join   dkic_b.t_mst_warehouse as otmw on otmw.wh_id = trf.o_wh_id
+        left join   dkic_b.t_mst_warehouse as tmw on tmw.wh_id = trf.wh_id
+        lEFT JOIN dkic_b.t_mst_staff AS staff ON  staff.staff_id=trf.staff_id
+        lEFT JOIN dkic_b.t_mst_org AS org ON org.org_id=trf.org_id
+        lEFT JOIN dkic_b.t_mst_staff AS mstaff ON mstaff.staff_id=trf.make_staff
+        LEFT JOIN sys.t_data_kind AS tdk  ON tdk.kind_code = trf.transfer_type
+        WHERE trf.transfer_id = #{id}::uuid
     </select>
 
     <!-- 根据主键锁定表t_psi_transfer的一行数据 -->

+ 4 - 1
src/main/java/com/dk/mdm/mapper/mac/RecPayMapper.xml

@@ -325,13 +325,16 @@
                makestaff.staff_name as "makeStaffName",
                t.make_time,
                t.flg_valid,
-               t.cp_id
+               t.cp_id,
+               tma.receivable_residue,
+               tma.receipt_residue
         from dkic_b.t_mac_rec_pay as t
                  left join dkic_b.t_mst_customer tmc on tmc.cus_id = t.object_id
                  left join sys.t_data_kind as tdk1 on tdk1.kind_code = t.rp_type
                  left join dkic_b.t_mst_org tmo on tmo.org_id = t.org_id
                  left join dkic_b.t_mst_staff tms on tms.staff_id = t.staff_id
                  left join dkic_b.t_mst_staff as makestaff on makestaff.staff_id = t.make_staff
+                 LEFT JOIN  dkic_b.t_mac_account tma  on tma.object_id =  t.object_id
         where   t.rp_id = #{id}::uuid
     </select>
 

+ 7 - 0
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.java

@@ -41,7 +41,14 @@ public interface OrgMapper extends BaseMapper<Org>{
      * @date   : 2023/1/10 17:20
      */
     Long countByCond(OrgQuery orgQuery);
+
+    /**
+     * @desc : 根据Id查询数据
+     * @author : 王英杰
+     * @date : 2024/2/26 10:36
+     */
     Org  selectById(@Param("id") String id);
+
     /**
      * @desc : 调用函数生成层级
      * @author : 王英杰

+ 5 - 0
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.xml

@@ -14,6 +14,7 @@
                  parent.org_id
                 ,parent.org_name
                 ,parent.parent_id
+                ,parent.flg_business
                 ,parent.display_no
                 ,parent.top_id
                 ,parent.level_upper
@@ -50,6 +51,7 @@
         tparent.org_id
         ,tparent.org_name
                 ,tparent.parent_id
+                ,tparent.flg_business
                 ,tparent.display_no
                 ,tparent.top_id
                 ,tparent.level_upper
@@ -87,6 +89,7 @@
         ,T.org_name
                 ,T.parent_id
                 ,T.display_no
+                ,T.flg_business
                 ,T.top_id
                 ,T.level_upper
                 ,T.level_lower
@@ -110,6 +113,7 @@
         <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
         <result column="display_no" property="displayNo"/>
         <result column="parent_name" property="parentName"/>
+        <result column="flg_business" property="flgBusiness"/>
 
         <result column="top_id" property="topId" typeHandler="UuidTypeHandler"/>
         <result column="level_upper" property="levelUpper" typeHandler="UuidListTypeHandler"/>
@@ -141,6 +145,7 @@
         <id column="org_id" property="orgId"/>
         <result column="org_name" property="orgName"/>
         <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
+        <result column="flg_business" property="flgBusiness"/>
         <result column="display_no" property="displayNo"/>
         <result column="top_id" property="topId" typeHandler="UuidTypeHandler"/>
         <result column="level_upper" property="levelUpper" typeHandler="UuidListTypeHandler"/>

+ 1 - 0
src/main/java/com/dk/mdm/mapper/pur/PurchaseMapper.xml

@@ -881,6 +881,7 @@
             ,tmgsitem.sku_code  as "skuCode"
             ,tmgsitem.sku_model as "skuModel"
             ,tmgsitem.sku_name  as "skuName"
+            ,tmgsitem.sku_images  as "skuImages"
             ,tmgbitem.brand_name  as "brandName"
             ,tmgbitem.short_name  as "shortName"
             ,tmgsitem.sku_spec  as "skuSpec"

+ 2 - 0
src/main/java/com/dk/mdm/mapper/sale/OrderItemMapper.xml

@@ -67,6 +67,7 @@
                 <result column="wh_name" property="whName"/>
                 <result column="order_no" property="orderNo"/>
         <result column="brand_name" property="brandName"/>
+        <result column="short_name" property="shortName"/>
         <result column="sku_images" property="skuImages" typeHandler="JsonTypeHandler"/>
                 <result column="transferableQuantity" property="transferableQuantity"/>
                 <result column="skuImages" property="skuImages" typeHandler="JsonTypeHandler"/>
@@ -157,6 +158,7 @@
                tmgs.sku_name  as "skuName",
                tmgs.sku_images,
                 tmgb.brand_name,
+                tmgb.short_name,
                t.item_qty,
                t.price_std,
                t.amt_std,

+ 2 - 1
src/main/java/com/dk/mdm/mapper/sale/OrderMapper.xml

@@ -634,7 +634,8 @@
         tmgb.brand_name AS "brandName",
         tmgb.short_name AS "shortName",
         tmgs.price_purchase AS "pricePurchase",
-        tmgs.price_standard AS "priceStandard"
+        tmgs.price_standard AS "priceStandard",
+        tmgs.sku_images AS "skuImages"
         FROM
         dkic_b.t_psi_order_item toi
         LEFT JOIN dkic_b.t_mst_goods_sku tmgs ON tmgs.sku_id = toi.sku_id

+ 9 - 0
src/main/java/com/dk/mdm/model/response/ivt/CheckItemResponse.java

@@ -1,8 +1,10 @@
 package com.dk.mdm.model.response.ivt;
 
 import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.alibaba.fastjson.JSONArray;
 import com.baomidou.mybatisplus.annotation.*;
 import com.dk.common.infrastructure.annotaiton.ExportTitle;
+import com.dk.common.infrastructure.handler.JsonTypeHandler;
 import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
@@ -45,6 +47,13 @@ public class CheckItemResponse extends PageInfo<CheckItemResponse> implements Se
     @TableField(typeHandler = UuidTypeHandler.class)
     private String itemId;
 
+    /**
+     * 商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)
+     */
+    @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
+    @TableField(typeHandler = JsonTypeHandler.class)
+    private JSONArray skuImages;
 
     /**
      * 盘点ID

+ 26 - 0
src/main/java/com/dk/mdm/model/response/ivt/TransferResponse.java

@@ -9,6 +9,7 @@ import com.dk.common.infrastructure.handler.TimestampTypeHandler;
 import com.dk.common.infrastructure.handler.UuidTypeHandler;
 import com.dk.common.model.pojo.PageInfo;
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonProperty;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
@@ -53,6 +54,20 @@ public class TransferResponse extends PageInfo<TransferResponse> implements Seri
     @ApiModelProperty(value = "附件 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
     @TableField(typeHandler = JsonTypeHandler.class)
     private JSONArray annexPaths;
+    /**
+     * 仓库名称
+     */
+    @Excel(name = "仓库名称")
+    @ApiModelProperty(value = "仓库名称")
+    private String whName;
+
+    /**
+     * 原仓库名称
+     */
+    @Excel(name = "原仓库名称")
+    @ApiModelProperty(value = "原仓库名称")
+    @JsonProperty(value = "oWhName")
+    private String oWhName;
 
     /**
      * 调整单号
@@ -267,6 +282,17 @@ public class TransferResponse extends PageInfo<TransferResponse> implements Seri
     @ApiModelProperty(value = "制单员")
     private String makeStaffName;
 
+    /**
+     * 组织部门名称
+     */
+    @ApiModelProperty(value = "组织部门")
+    private String orgName;
+
+    /**
+     * 员工名称
+     */
+    @ApiModelProperty(value = "班长")
+    private String staffName;
 
     /*
      * 相关属性

+ 2 - 0
src/main/java/com/dk/mdm/model/response/sale/OrderItemResponse.java

@@ -295,6 +295,8 @@ public class OrderItemResponse extends PageInfo<OrderItemResponse> implements Se
     @TableField(typeHandler = UuidTypeHandler.class)
     private String whId;
 
+    private String shortName;
+
     @Excel(name = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
     @ApiModelProperty(value = "商品图片 (index(显示顺序)、name(文件名)、path(路径)、type(类型)、time(上传时间)...)")
     @TableField(typeHandler = JsonTypeHandler.class)

+ 3 - 0
src/main/java/com/dk/mdm/service/common/CommonService.java

@@ -284,6 +284,9 @@ public class CommonService extends BaseService<Map<String, Object>> {
         }
         param.put("start", ((int) param.get("currentPage") - 1) * (int) param.get("pageSize"));
         param.put("end", param.get("pageSize"));
+        // 公司Id
+        StaffEntity staff = authUtils.getStaff();
+        param.put("cpId", staff.getCpId());
         // 选择对象的时候用
         if (param.get("supplier-customerList")!=null
                 && param.get("supplier-customerList")!=""

+ 12 - 9
src/main/java/com/dk/mdm/service/ivt/FreezeService.java

@@ -45,10 +45,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -83,7 +80,6 @@ public class FreezeService extends BaseService<Freeze> {
 
 	@Autowired
 	private InventoryMapper inventoryMapper;
-
 	/**
 	 * @desc   : 重写主键
 	 * @author : 宋扬
@@ -217,17 +213,24 @@ public class FreezeService extends BaseService<Freeze> {
 	}
 
 
+	/**
+	 * @desc   : 全部解冻
+	 * @author : 王英杰
+	 * @date   : 2024/3/20 8:57
+	 */
 	@Transactional(
 			rollbackFor = {Exception.class}
 	)
-	public ResponseResultVO<?> updateFreeze(FreezeVO freezeVO) {
+	public ResponseResultVO<?> updateFreezeAll(String id) {
 
 		// 赋值全部解冻
 		String freezeStatus=Constant.FreezeStatusType.ALLUNFREEZE.getName();
 		// 查询冻结单明细
-
+		FreezeItemQuery freezeItemQuery = new FreezeItemQuery();
+		freezeItemQuery.setFreezeId(id);
+		List<FreezeItemResponse> itemList = freezeItemMapper.selectByCond(freezeItemQuery);
 		// 解冻
-		for (FreezeItemVO freezeItemVO : freezeVO.getItemList()) {
+		for (FreezeItemResponse freezeItemVO : itemList) {
 
 			FreezeItem freezeItem = new FreezeItem();
 			// 赋值实体
@@ -250,7 +253,7 @@ public class FreezeService extends BaseService<Freeze> {
 		}
 		// 赋值冻结表状态和ID
 		Freeze freeze=new Freeze();
-		freeze.setFreezeId(freezeVO.getFreezeId()).setFreezeStatus(freezeStatus);
+		freeze.setFreezeId(id).setFreezeStatus(freezeStatus);
 		// 更新主表冻结状态
 		return ResponseResultUtil.success(super.updateByUuid(freeze));
 	}

+ 33 - 10
src/main/java/com/dk/mdm/service/ivt/TransferService.java

@@ -21,8 +21,12 @@ import com.dk.common.mapper.BaseMapper;
 import com.dk.mdm.model.pojo.mac.RecPay;
 import com.dk.mdm.model.pojo.mac.RecPayItem;
 import com.dk.mdm.model.pojo.sale.Order;
+import com.dk.mdm.model.query.ivt.CheckItemQuery;
+import com.dk.mdm.model.query.ivt.TransferItemQuery;
 import com.dk.mdm.model.query.ivt.TransferQuery;
+import com.dk.mdm.model.response.ivt.*;
 import com.dk.mdm.model.response.ivt.InboundItemResponse;
+import com.dk.mdm.model.response.ivt.InventoryResponse;
 import com.dk.mdm.model.response.ivt.OutboundItemResponse;
 import com.dk.mdm.model.response.ivt.TransferResponse;
 import com.dk.mdm.model.vo.ivt.*;
@@ -78,6 +82,9 @@ public class TransferService extends BaseService<Transfer> {
 	@Autowired
 	private OutboundItemService outboundItemService;
 
+	@Autowired
+	private InboundItemMapper inboundItemMapper;
+
 	/**
 	 * @desc   : 重写主键
 	 * @author : 宋扬
@@ -138,9 +145,6 @@ public class TransferService extends BaseService<Transfer> {
 			// 计算总调整量
 			BigDecimal transferQtySum = transferVO.getItemList().stream().map(TransferItemVO::getTransferQty).reduce(BigDecimal.ZERO, BigDecimal::add)
 					.setScale(6, BigDecimal.ROUND_HALF_UP);
-			// 计算总入库金额
-				/*BigDecimal intoingAmtSum = transferVO.getItemList().stream().map(TransferItemVO::getIntoingAmt).reduce(BigDecimal.ZERO, BigDecimal::add)
-						.setScale(6, BigDecimal.ROUND_HALF_UP);*/
 			// 获取入库表实体
 			InboundVO inboundVO = new InboundVO();
 			List<InboundItemVO> inboundItemVOList=new ArrayList<>();
@@ -204,10 +208,11 @@ public class TransferService extends BaseService<Transfer> {
 						// 在入库接口中获取入库明细数据
 						inboundItemVOList = inboundTransferVO.getItemList().stream()
 								.filter(it -> it.getItemIndex().equals(transferItemVO.getItemIndex())).collect(Collectors.toList());
-
+						// 查询入库明细,取InvId值
+						InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVOList.get(0).getItemId());
 						// 获取调整主表uuidhe
 						transferItem.setTransferId(transfer.getTransferId()).setTransferDate(LocalDate.now())
-								.setInvId(inboundItemVOList.get(0).getInvId()).setNonStdCode(transferItemVO.getONonStdCode());
+								.setInvId(inboundItemResponse.getInvId()).setNonStdCode(transferItemVO.getONonStdCode());
 						// 插入调整单明细数据
 						transferItemMapper.insert(transferItem);
 						// 赋值入库明细值 并修改入库明细from_item_id值
@@ -232,8 +237,8 @@ public class TransferService extends BaseService<Transfer> {
 				outboundVO.setOrgId(transferVO.getOrgId()).setStaffId(transferVO.getStaffId())
 						.setMakeStaff(transferVO.getMakeStaff()).setOutingQty(transferQtySum)
 						.setFromId(transfer.getTransferId()).setFromNo(transfer.getTransferNo())
-						.setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now()).setOutingAmt(BigDecimal.ZERO)
-						.setOutType(Constant.OutType.REMOVE.getName());;
+						.setMakeTime(LocalDateTime.now()).setOutDate(LocalDate.now())
+						.setOutingAmt(BigDecimal.ZERO).setOutType(Constant.OutType.REMOVE.getName());
 				// 获取出库明细实体
 				for (TransferItemVO transferItemVO : transferVO.getItemList()) {
 					// 赋值出库明细信息。
@@ -241,7 +246,7 @@ public class TransferService extends BaseService<Transfer> {
 					outboundItemVO.setItemIndex(transferItemVO.getItemIndex()).setSkuId(transferItemVO.getSkuId())
 							.setOutingQty(transferItemVO.getTransferQty()).setFromId(transfer.getTransferId())
 							.setOutingAmt(BigDecimal.ZERO).setPriceOut(BigDecimal.ZERO).setInvId(transferItemVO.getOInvId())
-							.setWhId(transferItemVO.getWhId()).setNonStdCode(transferItemVO.getONonStdCode());
+							.setWhId(transferItemVO.getOWhId()).setNonStdCode(transferItemVO.getONonStdCode());
 					outboundItemVOList.add(outboundItemVO);
 				}
 				// 赋值出库接口参数 总表和明细
@@ -281,10 +286,11 @@ public class TransferService extends BaseService<Transfer> {
 						// 在入库接口中获取入库明细数据
 						inboundItemVOList = inboundTransferVO.getItemList().stream()
 								.filter(it -> it.getItemIndex().equals(transferItemVO.getItemIndex())).collect(Collectors.toList());
-
+						// 查询入库明细,取InvId值
+						InboundItemResponse inboundItemResponse = inboundItemMapper.selectById(inboundItemVOList.get(0).getItemId());
 						// 获取调整主表uuid
 						transferItem.setTransferId(transfer.getTransferId()).setTransferDate(LocalDate.now())
-								.setInvId(inboundItemVOList.get(0).getInvId()).setWhId(transferItemVO.getOWhId());
+								.setInvId(inboundItemResponse.getInvId()).setWhId(transferItemVO.getOWhId());
 						// 插入调整单明细数据
 						transferItemMapper.insert(transferItem);
 						// 赋值入库明细值 并修改入库明细from_item_id值
@@ -329,4 +335,21 @@ public class TransferService extends BaseService<Transfer> {
 		outboundCheckService.outboundRepeal(id);
 		return ResponseResultUtil.success();
 	}
+
+
+	/**
+	 * @desc   : 通过ID获取编辑调整单信息
+	 * @author : 王英杰
+	 * @date   : 2024/3/28 15:38
+	 */
+	public ResponseResultVO<?> getTransferForUpdate(String id) {
+		Map<String, Object> dataInfo = new HashMap<>();
+		TransferResponse transferResponse = transferMapper.selectById(id);
+		dataInfo.put("data", transferResponse);
+		// 商品明细
+		List<TransferItemResponse> transferItem = transferItemMapper.selectByCond(new TransferItemQuery().setTransferId(id));
+		dataInfo.put("dataItem", transferItem);
+		return ResponseResultUtil.success(dataInfo);
+	}
+
 }

+ 8 - 8
src/main/java/com/dk/mdm/service/ivt/inbound/InboundPurchaseReturnService.java

@@ -284,10 +284,10 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 for (InboundItemVO inboundItemVO : itemList) {
 
                     //region  不能新建
-                    if (inboundItemVO.getSPurItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
+//                    if (inboundItemVO.getSPurItemId() == null) {
+//                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
+//                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
+//                    }
                     //endregion
 
                     //根据id查询
@@ -409,10 +409,10 @@ public class InboundPurchaseReturnService extends BaseService<Inbound> {
                 List<InboundItemVO> itemList = inboundVO.getItemList();
                 for (InboundItemVO inboundItemVO : itemList) {
                     //region  不能新建
-                    if (inboundItemVO.getSPurItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
+//                    if (inboundItemVO.getSPurItemId() == null) {
+//                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
+//                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
+//                    }
                     //endregion
 
                     //region 编辑明细

+ 5 - 5
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -1588,12 +1588,12 @@ public class InventoryService extends BaseService<Inventory> {
 
         //region 明细
         for (InOutRecordVO inOutRecordVO : inOutRecordVOList) {
-            List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery()
-                    .setItemId(inOutRecordVO.getBiznisItemId()));
-            InboundItemResponse inboundItemResponse = inboundItemResponses.get(0);
+           /* List<InboundItemResponse> inboundItemResponses = inboundItemMapper.selectByCond(new InboundItemQuery()
+                    .setItemId(inOutRecordVO.getBiznisItemId()));*/
+
             InboundItem inboundItem = new InboundItem();
             //总单id
-            inboundItem.setItemId(inboundItemResponse.getItemId());
+            inboundItem.setItemId(inOutRecordVO.getBiznisItemId());
             //出库数量
             inboundItem.setOutQty(inOutRecordVO.getIntoQty().abs());
             //已入库数量
@@ -1608,7 +1608,7 @@ public class InventoryService extends BaseService<Inventory> {
             inboundItem.setInvId(inOutRecordVO.getInvId());
             inboundItemMapper.update(inboundItem,
                     new UpdateWrapper<InboundItem>().lambda()
-                            .eq(InboundItem::getIntoId, UUID.fromString(inboundItem.getItemId()))
+                            .eq(InboundItem::getItemId, UUID.fromString(inboundItem.getItemId()))
             );
         }
         //endregion

+ 1 - 21
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -345,13 +345,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     //根据id查询
                     OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
 
-                    //region  不能新建
-                    if (outboundItemVO.getFromItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
-                    //endregion
-
                     //region  编辑明细
                     if (outboundItemVO.getItemId() != null) {
 
@@ -537,13 +530,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 List<OutboundItemVO> itemList = outboundVO.getItemList();
                 for (OutboundItemVO outboundItemVO : itemList) {
 
-                    //region  不能新建
-                    if (outboundItemVO.getFromItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
-                    //endregion
-
                     //根据id查询 获取到还未进行修改的数据
                     OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
 
@@ -899,12 +885,6 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
         }
         for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
-            //region  不能新建
-            if (outboundItemVO.getFromItemId() == null) {
-                throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                        ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-            }
-            //endregion
 
             //明细根据id查询
             OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
@@ -917,7 +897,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
             //endregion
 
             //region  编辑明细
-            if (outboundItemVO.getFromItemId() != null) {
+            if (outboundItemVO.getItemId() != null) {
                 outboundItemVO
                         .setOutQty(outboundItemResponse.getOutQty().add(outboundItemVO.getOutingQty()))
                         .setOutAmt(outboundItemResponse.getOutAmt().add(outboundItemVO.getOutingAmt()))

+ 0 - 13
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleReturnService.java

@@ -478,13 +478,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 List<OutboundItemVO> itemList = outboundVO.getItemList();
                 for (OutboundItemVO outboundItemVO : itemList) {
 
-                    //region  不能新建
-                    if (outboundItemVO.getSOrderItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
-                    //endregion
-
                     //根据id查询
                     OutboundItemResponse outboundItemResponse = outboundItemMapper.selectById(outboundItemVO.getItemId());
 
@@ -620,12 +613,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
                 //region 修改明细
                 List<OutboundItemVO> itemList = outboundVO.getItemList();
                 for (OutboundItemVO outboundItemVO : itemList) {
-                    //region  不能新建
-                    if (outboundItemVO.getSOrderItemId() == null) {
-                        throw new BaseBusinessException(ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getCode(),
-                                ErrorCodeEnum.ITEMS_THAT_ARE_NOT_AVAILABLE_HANDLE.getMessage());
-                    }
-                    //endregion
 
                     //region 编辑明细
                     if (outboundItemVO.getItemId() != null) {

+ 70 - 35
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -3,7 +3,9 @@ package com.dk.mdm.service.mst;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.dk.common.infrastructure.annotaiton.Pagination;
 import com.dk.common.infrastructure.constant.Constant;
+import com.dk.common.infrastructure.enums.ErrorCodeEnum;
 import com.dk.common.model.pojo.PageList;
+import com.dk.common.response.ResponseCodeEnum;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
@@ -25,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 @Transactional
@@ -38,6 +41,7 @@ public class OrgService extends BaseService<Org> {
     public String getPrimaryKey() {
         return "org_id";
     }
+
     @Override
     public BaseMapper<Org> getRepository() {
         return orgMapper;
@@ -46,18 +50,17 @@ public class OrgService extends BaseService<Org> {
     @Autowired
     private OrgMapper orgMapper;
 
-
-
     @Autowired
     private OrgConvert orgConvert;
     @Autowired
     private CommonService commonService;
 
     @Autowired
-    OrgWhMapper orgWhMapper;
+    private OrgWhMapper orgWhMapper;
 
     @Autowired
-    OrgMacMapper orgMacMapper;
+    private OrgMacMapper orgMacMapper;
+
     /**
      * @desc : 条件查询
      * @author : 王英杰
@@ -65,17 +68,18 @@ public class OrgService extends BaseService<Org> {
      */
     @Pagination
     public ResponseResultVO<PageList<OrgResponse>> selectByCond(OrgQuery orgQuery) {
-        List<OrgResponse>   list = orgMapper.selectByCond(orgQuery);
+        List<OrgResponse> list = orgMapper.selectByCond(orgQuery);
         if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
             for (OrgResponse item : list) {
                 OrgQuery qry = new OrgQuery();
-                qry.setParentId( item.getOrgId());
+                qry.setParentId(item.getOrgId());
                 item.setItemDataLength(orgMapper.countByCond(qry));
             }
         }
         return super.mergeListWithCount(orgQuery, list,
                 orgMapper.countByCond(orgQuery));
     }
+
     /**
      * @desc : 条件查询
      * @author : 王英杰
@@ -88,18 +92,18 @@ public class OrgService extends BaseService<Org> {
         if (orgQuery.getParentId() != null) { //说明传这个id就是部门档案查三级部门以下有没有子级
             for (OrgResponse item : list) {
                 OrgQuery qry = new OrgQuery();
-                qry.setParentId( item.getOrgId());
+                qry.setParentId(item.getOrgId());
                 item.setItemDataLength(orgMapper.countByCond(qry));
             }
         }
 
-        return   ResponseResultUtil.success(list);
+        return ResponseResultUtil.success(list);
     }
 
     /**
-     * @desc   : 通过ID查询 带出对应的 组织资金账户 以及组织仓库
+     * @desc : 通过ID查询 带出对应的 组织资金账户 以及组织仓库
      * @author : 王英杰
-     * @date   : 2023/2/29 10:40
+     * @date : 2023/2/29 10:40
      */
     @Pagination
     public ResponseResultVO getById(String id) {
@@ -108,20 +112,26 @@ public class OrgService extends BaseService<Org> {
         orgResponse.setMacBeanList(orgMacMapper.selectByCond(new OrgMac().setOrgId(id)));
         return ResponseResultUtil.success(orgResponse);
     }
+
     /**
-     * @desc   : 微信小程序 查询选择部门数据
+     * @desc : 微信小程序 查询选择部门数据
      * @author : 宋扬
-     * @date   : 2023/2/29 10:40
+     * @date : 2023/2/29 10:40
      */
     @Pagination
-    public ResponseResultVO<List<OrgResponse>>  selectChooseOrg( OrgQuery orgQuery) {
-        if(orgQuery.getOrgId()!=null){
-            Org org =   orgMapper.selectById(orgQuery.getOrgId()); //查出上级部门的 层级代码
+    public ResponseResultVO<List<OrgResponse>> selectChooseOrg(OrgQuery orgQuery) {
+        // 查出当前部门,进行过滤
+        if (orgQuery.getOrgId() != null) {
+            Org org = orgMapper.selectById(orgQuery.getOrgId()); //查出部门的 层级代码
             orgQuery.setLevelCode(org.getLevelCode());
             orgQuery.setFilterFlag("ok");
         }
-        return ResponseResultUtil.success(orgMapper.selectChooseOrg(orgQuery));
+        String parentId = orgQuery.getParentId();
+        List<OrgResponse> orgResponseList = orgMapper.selectChooseOrg(orgQuery.setParentId(null));
+        return ResponseResultUtil.success(orgResponseList.stream().
+                filter(it -> !it.getOrgId().equals(parentId)).collect(Collectors.toList()));
     }
+
     /**
      * @desc : 新建组织机构
      * @author : 王英杰
@@ -133,6 +143,14 @@ public class OrgService extends BaseService<Org> {
     public ResponseResultVO<?> insert(OrgVO orgVO) {
         // 转化实体
         Org organization = orgConvert.convertToPo(orgVO);
+        // 如果父级部门的是业务部门标识,就不能有子级
+        if(organization.getParentId() != null ){
+            Org checkOrg = orgMapper.selectById(organization.getParentId());
+            if(checkOrg != null && checkOrg.getFlgBusiness() != null && checkOrg.getFlgBusiness()){
+                //系统预制 无法编辑
+                return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_PARENT_IS_BUSINESS.getMessage());
+            }
+        }
         Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.ORG.getName(), true);
         // 获取编码和主键UuId
         organization.setOrgId(codeMap.get("outId").toString());
@@ -141,8 +159,8 @@ public class OrgService extends BaseService<Org> {
         //查询 本次要加的 部门的 父级下 最大的DisplayNo  然后加1  就是现在要加的DisplayNo
         Map<String, Object> param = new HashMap<>();
         param.put("otherCond", "parent_id = #{parentID} ::uuid");
-        param.put("parentId",organization.getParentId());
-        organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG ,param));
+        param.put("parentId", organization.getParentId());
+        organization.setDisplayNo(commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORG, param));
         if (organization.getParentId() != null) {
             Org org = orgMapper.selectById(organization.getParentId());
             //插入TOPid
@@ -158,9 +176,9 @@ public class OrgService extends BaseService<Org> {
         if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
             for (Map<String, Object> map : orgVO.getWarehouseList()) {
                 // 获取显示顺序
-                Map<String, Object> paramOrgWh=new HashMap<>();
-                paramOrgWh.put("noFlgValid",true);
-                Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH,paramOrgWh);
+                Map<String, Object> paramOrgWh = new HashMap<>();
+                paramOrgWh.put("noFlgValid", true);
+                Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH, paramOrgWh);
                 OrgWh orgWh = new OrgWh();
                 orgWh.setOrgId(organization.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
                         .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
@@ -172,10 +190,10 @@ public class OrgService extends BaseService<Org> {
         if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
             for (Map<String, Object> map : orgVO.getMacList()) {
                 // 获取显示顺序
-                Map<String, Object> paramOrgMac=new HashMap<>();
-                paramOrgMac.put("noFlgValid",true);
-                Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC,paramOrgMac);
-                OrgMac orgMac=new OrgMac();
+                Map<String, Object> paramOrgMac = new HashMap<>();
+                paramOrgMac.put("noFlgValid", true);
+                Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC, paramOrgMac);
+                OrgMac orgMac = new OrgMac();
                 orgMac.setOrgId(organization.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
                         .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
                 orgMacMapper.insert(orgMac);
@@ -200,7 +218,7 @@ public class OrgService extends BaseService<Org> {
         Org organization = orgConvert.convertToPo(orgVO);
         // 获取显示顺序
         Map<String, Object> codeMap = commonService.getUniqueNoteCode(
-                Constant.docNameConstant.ORG.getName(),orgVO.getCpId(), true);
+                Constant.docNameConstant.ORG.getName(), orgVO.getCpId(), true);
         // 获取编码和主键UuId
         organization.setDisplayNo(0);
         organization.setOrgId(codeMap.get("outId").toString());
@@ -226,9 +244,9 @@ public class OrgService extends BaseService<Org> {
     }
 
     /**
-     * @desc   : 编辑方法
+     * @desc : 编辑方法
      * @author : 宋扬
-     * @date   : 2024/3/22 17:15
+     * @date : 2024/3/22 17:15
      */
     @Transactional(
             rollbackFor = {Exception.class}
@@ -236,6 +254,23 @@ public class OrgService extends BaseService<Org> {
     public ResponseResultVO<Boolean> update(OrgVO orgVO) {
         // 转化实体
         Org org = orgConvert.convertToPo(orgVO);
+
+        // 如果是业务部门标识,那么不能有子级
+        if (org.getFlgBusiness() != null && org.getFlgBusiness()) {
+            Long childCount = orgMapper.countByCond(new OrgQuery().setParentId(org.getOrgId()));
+            if (childCount > 0) {
+                // 部门有子级不允许修改为业务部门
+                return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_BUSINESS_HAS_CHILD.getMessage());
+            }
+        }
+        // 如果父级部门的是业务部门标识,就不能有子级
+        if(org.getParentId() != null ){
+            Org checkOrg = orgMapper.selectById(org.getParentId());
+            if(checkOrg != null && checkOrg.getFlgBusiness() != null && checkOrg.getFlgBusiness()){
+                //系统预制 无法编辑
+                return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORG_PARENT_IS_BUSINESS.getMessage());
+            }
+        }
         // 修改组织机构
         super.update(org, new UpdateWrapper<Org>().lambda().eq(Org::getOrgId,
                 UUID.fromString(org.getOrgId())));
@@ -253,9 +288,9 @@ public class OrgService extends BaseService<Org> {
         if (orgVO.getWarehouseList() != null && orgVO.getWarehouseList().size() > 0) {
             for (Map<String, Object> map : orgVO.getWarehouseList()) {
                 // 获取显示顺序
-                Map<String, Object> paramOrgWh=new HashMap<>();
-                paramOrgWh.put("noFlgValid",true);
-                Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH,paramOrgWh);
+                Map<String, Object> paramOrgWh = new HashMap<>();
+                paramOrgWh.put("noFlgValid", true);
+                Integer orgWhDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGWH, paramOrgWh);
                 OrgWh orgWh = new OrgWh();
                 orgWh.setOrgId(org.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
                         .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
@@ -267,10 +302,10 @@ public class OrgService extends BaseService<Org> {
         if (orgVO.getMacList() != null && orgVO.getMacList().size() > 0) {
             for (Map<String, Object> map : orgVO.getMacList()) {
                 // 获取显示顺序
-                Map<String, Object> paramOrgMac=new HashMap<>();
-                paramOrgMac.put("noFlgValid",true);
-                Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC,paramOrgMac);
-                OrgMac orgMac=new OrgMac();
+                Map<String, Object> paramOrgMac = new HashMap<>();
+                paramOrgMac.put("noFlgValid", true);
+                Integer orgMacDisplayNo = commonService.getMaxDisplayNo(Constant.DisplayNoTable.ORGMAC, paramOrgMac);
+                OrgMac orgMac = new OrgMac();
                 orgMac.setOrgId(org.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
                         .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
                 orgMacMapper.insert(orgMac);