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

添加组织仓库和组织资金账号新建功能

songyang 2 лет назад
Родитель
Сommit
bdcaed55cd

+ 28 - 0
src/main/java/com/dk/mdm/controller/common/CommonController.java

@@ -648,6 +648,34 @@ public class CommonController extends BaseController<Map<String, Object>> {
     public ResponseResultVO<List<Map<String, Object>>> selectMultiStaff(@RequestBody Map<String, Object> param) {
         return commonService.selectMultiStaff(param);
     }
+
+    /**
+     * @desc   : 组织仓库
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:47
+     */
+    @ApiOperation(
+            value = "获取组织仓库",
+            notes = "获取组织仓库"
+    )
+    @PostMapping("get_multi_warehouse")
+    public ResponseResultVO<List<Map<String, Object>>> selectMultiWarehouse(@RequestBody Map<String, Object> param) {
+        return commonService.selectMultiWarehouse(param);
+    }
+
+    /**
+     * @desc   : 组织资金账户
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:52
+     */
+    @ApiOperation(
+            value = "获取资金账户",
+            notes = "获取资金账户"
+    )
+    @PostMapping("get_multi_moneyAccount")
+    public ResponseResultVO<List<Map<String, Object>>> selectMultiMoneyAccount(@RequestBody Map<String, Object> param) {
+        return commonService.selectMultiMoneyAccount(param);
+    }
 }
 
 

+ 0 - 4
src/main/java/com/dk/mdm/controller/mst/OrgController.java

@@ -70,8 +70,4 @@ public class OrgController{
         return orgService.selectById(id);
     }
 
-
-
-
-
 }

+ 8 - 8
src/main/java/com/dk/mdm/generator/Generator.java

@@ -79,11 +79,11 @@ public class Generator {
         PackageConfig pc = new PackageConfig();
 //        pc.setModuleName("task");                  //模块包名
         pc.setParent("com.dk.mdm");        //父包路径
-        pc.setEntity("model.pojo.ivt");                     //实体层路径
-        pc.setMapper("mapper.ivt");                 //mapper层路径
-        pc.setXml("mapper.ivt");                       //xml层路径
-        pc.setServiceImpl("service.ivt");                   //业务层路径
-        pc.setController("controller.ivt");             //控制层路径
+        pc.setEntity("model.pojo.mst");                     //实体层路径
+        pc.setMapper("mapper.mst");                 //mapper层路径
+        pc.setXml("mapper.mst");                       //xml层路径
+        pc.setServiceImpl("service.mst");                   //业务层路径
+        pc.setController("controller.mst");             //控制层路径
         //app相关路径
 //        pc.setEntity("model.app.pojo.pset");                     //实体层路径
 //        pc.setMapper("mapper.app.pset");                 //mapper层路径
@@ -94,9 +94,9 @@ public class Generator {
 
         //4、策略配置
         StrategyConfig strategy = new StrategyConfig();
-        strategy.setTablePrefix("t_psi");                                             //表名前缀
-        strategy.setInclude("t_psi_in_out_record");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
-        strategy.setInclude("t_psi_outbound_item_cost");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
+        strategy.setTablePrefix("t_mst");                                             //表名前缀
+        strategy.setInclude("t_mst_org_mac");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
+        strategy.setInclude("t_mst_org_wh");                                        //设置要映射的表名,只需改这里即可,可以是一个数组,一次性生成多张表。
         strategy.setNaming(NamingStrategy.underline_to_camel);                      //转驼峰
         strategy.setColumnNaming(NamingStrategy.underline_to_camel);                //字段下划线转驼峰
         strategy.setEntityLombokModel(true);                                        //是否使用lombok开启注解

+ 14 - 0
src/main/java/com/dk/mdm/mapper/common/CommonMapper.java

@@ -451,4 +451,18 @@ public interface CommonMapper extends BaseMapper<Map<String, Object>> {
      * @date   : 2024-03-20 16:52
      */
     List<Map<String, Object>> selectMultiStaff(Map param);
+
+    /**
+     * @desc   : 组织仓库
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:22
+     */
+    List<Map<String, Object>> selectMultiWarehouse(Map param);
+
+    /**
+     * @desc   : 组织资金账户
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:22
+     */
+    List<Map<String, Object>> selectMultiMoneyAccount(Map param);
 }

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

@@ -6,7 +6,10 @@
     <select id="getMaxDisplayNo" resultType="Integer">
         select max(display_no) + 1
         from ${table}
-        where flg_valid
+        where 1=1
+        <if test="flgValid != null">
+            and flg_valid = #{flgValid}
+        </if>
         <if test="ftyId != null">
             and fty_id = #{ftyId}
         </if>
@@ -1358,5 +1361,57 @@
         </if>
     </select>
 
+    <!-- 查询表core.t_m_org_wh,查询组织仓库 -->
+    <select id="selectMultiWarehouse" resultType="java.util.Map">
+        select t.wh_id                                                         as "whId",
+        t.wh_code                                                              as "whCode",
+        t.wh_name                                                              as "whName",
+        case when mo.wh_id is null then 0 else 1 end                           as "selectFlag",
+        case when mo.wh_id is null then false else mo.flg_default end          as "ownerFlag"
+        from dkic_b.t_mst_warehouse t
+        left join (SELECT orgwh.flg_default,  orgwh.wh_id
+        from dkic_b.t_mst_org org
+        inner join dkic_b.t_mst_org_wh orgwh
+        on org.org_id = orgwh.org_id
+        where org.flg_valid
+        and org.org_id = #{orgId} ::uuid) mo
+        on mo.wh_id = t.wh_id
+        where t.flg_valid
+        <if test="whCode !=null and whCode !=''">
+            AND t.wh_code LIKE concat('%',my_ex.likequery(#{whCode}),'%')
+        </if>
+        <if test="whName !=null and whName !=''">
+            AND t.wh_name LIKE concat('%',my_ex.likequery(#{whName}),'%')
+        </if>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
 
+    <!-- 查询表core.t_m_org_mac,查询组织资金账户 -->
+    <select id="selectMultiMoneyAccount" resultType="java.util.Map">
+        select t.mac_id                                                         as "macId",
+        t.mac_code                                                              as "macCode",
+        t.mac_name                                                              as "macName",
+        case when mo.mac_id is null then 0 else 1 end                           as "selectFlag",
+        case when mo.mac_id is null then false else mo.flg_default end          as "ownerFlag"
+        from dkic_b.t_mst_money_account t
+        left join (SELECT orgmac.flg_default,orgmac.mac_id
+        from dkic_b.t_mst_org org
+        inner join dkic_b.t_mst_org_mac orgmac
+        on org.org_id = orgmac.org_id
+        where org.flg_valid
+        and org.org_id = #{orgId} ::uuid) mo
+        on mo.mac_id = t.mac_id
+        where t.flg_valid
+        <if test="macCode !=null and macCode !=''">
+            AND t.mac_code LIKE concat('%',my_ex.likequery(#{macCode}),'%')
+        </if>
+        <if test="macName !=null and macName !=''">
+            AND t.mac_name LIKE concat('%',my_ex.likequery(#{macName}),'%')
+        </if>
+        <if test="pageSize != null and currentPage != null and pageSize != 0 and currentPage != 0">
+            limit #{end} offset #{start}
+        </if>
+    </select>
 </mapper>

+ 42 - 2
src/main/java/com/dk/mdm/mapper/mst/OrgMapper.xml

@@ -13,8 +13,39 @@
         parent.org_id,parent.flg_valid,parent.level_leaf,parent.org_code,parent.level_name
         , parent.org_name, parent.parent_id, parent.display_no, parent.top_id
     </sql>
+
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.dk.common.model.response.mst.OrgResponse">
+    <resultMap id="BaseResultMap" type="com.dk.mdm.model.pojo.mst.Org">
+        <id column="org_id" property="orgId"/>
+        <result column="org_name" property="orgName"/>
+        <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
+        <result column="display_no" property="displayNo"/>
+        <result column="top_id" property="topId" typeHandler="UuidTypeHandler"/>
+        <result column="level_upper" property="levelUpper" typeHandler="UuidListTypeHandler"/>
+        <result column="level_lower" property="levelLower" typeHandler="UuidListTypeHandler"/>
+        <result column="level_leaf" property="levelLeaf"/>
+        <result column="level_no" property="levelNo"/>
+        <result column="level_code" property="levelCode"/>
+        <result column="level_name" property="levelName"/>
+        <result column="remarks" property="remarks"/>
+        <result column="flg_valid" property="flgValid"/>
+        <result column="cp_id" property="cpId"/>
+        <result column="op_create_time" property="opCreateTime" typeHandler="TimestampTypeHandler"/>
+        <result column="op_create_user_id" property="opCreateUserId" typeHandler="UuidTypeHandler"/>
+        <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="op_timestamp" property="opTimestamp" typeHandler="TimestampTypeHandler"/>
+        <result column="op_db_user" property="opDbUser"/>
+        <result column="org_code" property="orgCode"/>
+        <collection property="itemData" javaType="java.util.ArrayList" ofType="com.dk.mdm.model.pojo.mst.Org"  column="org_item_id">
+            <id column="org_item_id" property="orgId"/>
+            <result column="org_item_name" property="orgName"/>
+        </collection>
+    </resultMap>
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMapResponse" type="com.dk.common.model.response.mst.OrgResponse">
         <id column="org_id" property="orgId"/>
         <result column="org_name" property="orgName"/>
         <result column="parent_id" property="parentId" typeHandler="UuidTypeHandler"/>
@@ -68,7 +99,7 @@
     </sql>
 
     <!-- 查询表t_mst_org,(条件查询+分页)列表 -->
-    <select id="selectByCond" resultMap="BaseResultMap">
+    <select id="selectByCond" resultMap="BaseResultMapResponse">
         SELECT
         <include refid="Base_Column_List_view"/>
         FROM
@@ -96,4 +127,13 @@
         WHERE org_id = #{orgId}::uuid
     </select>
 
+    <!-- 根据主键锁定表t_mst_org的一行数据 -->
+    <select id="selectByIdForUpdate" resultMap="BaseResultMap">
+        SELECT
+        <include refid="Base_Column_List"/>
+        FROM t_mst_org
+        WHERE org_id = #{orgId}
+        for update
+    </select>
+
 </mapper>

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/OrgMac.java

@@ -40,7 +40,7 @@ public class OrgMac extends PageInfo<OrgMac> implements Serializable {
     /**
      * 组织ID
      */
-    @TableId(value = "org_id", type = IdType.AUTO)
+   // @TableId(value = "org_id", type = IdType.AUTO)
     @ApiModelProperty(value = "组织ID")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String orgId;

+ 1 - 1
src/main/java/com/dk/mdm/model/pojo/mst/OrgWh.java

@@ -40,7 +40,7 @@ public class OrgWh extends PageInfo<OrgWh> implements Serializable {
     /**
      * 组织ID
      */
-    @TableId(value = "org_id", type = IdType.AUTO)
+   // @TableId(value = "org_id", type = IdType.AUTO)
     @ApiModelProperty(value = "组织ID")
     @TableField(typeHandler = UuidTypeHandler.class)
     private String orgId;

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

@@ -135,6 +135,10 @@ public class CommonService extends BaseService<Map<String, Object>> {
         if (table != null && mode != null) {
             table = mode + "." + table;
             param.put("table", table);
+            // 默认有效标识为true
+            if(param.get("noFlgValid") == null && param.get("flgValid") == null ){
+                param.put("flgValid",true);
+            }
             // 获取最大序号
             Integer maxDisplayNo = commonMapper.getMaxDisplayNo(param);
             return maxDisplayNo == null ? 1 : maxDisplayNo;
@@ -858,4 +862,24 @@ public class CommonService extends BaseService<Map<String, Object>> {
         List<Map<String, Object>> list = commonMapper.selectMultiStaff(param);
         return ResponseResultUtil.success(list);
     }
+
+    /**
+     * @desc   : 组织仓库
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:47
+     */
+    public ResponseResultVO<List<Map<String, Object>>> selectMultiWarehouse(Map<String, Object> param) {
+        List<Map<String, Object>> list = commonMapper.selectMultiWarehouse(param);
+        return ResponseResultUtil.success(list);
+    }
+
+    /**
+     * @desc   : 组织资金账户
+     * @author : 宋扬
+     * @date   : 2024/3/22 15:54
+     */
+    public ResponseResultVO<List<Map<String, Object>>> selectMultiMoneyAccount(Map<String, Object> param) {
+        List<Map<String, Object>> list = commonMapper.selectMultiMoneyAccount(param);
+        return ResponseResultUtil.success(list);
+    }
 }

+ 1 - 0
src/main/java/com/dk/mdm/service/mst/OrgMacService.java

@@ -12,6 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
 @Transactional
 public class OrgMacService extends BaseService<OrgMac> {
 
+
 	@Override
 	public BaseMapper<OrgMac> getRepository() {
 		return orgMacMapper;

+ 43 - 0
src/main/java/com/dk/mdm/service/mst/OrgService.java

@@ -6,10 +6,16 @@ import com.dk.common.model.pojo.PageList;
 import com.dk.common.response.ResponseResultUtil;
 import com.dk.common.response.ResponseResultVO;
 import com.dk.mdm.infrastructure.convert.mst.OrgConvert;
+import com.dk.mdm.mapper.mst.OrgMacMapper;
+import com.dk.mdm.mapper.mst.OrgWhMapper;
+import com.dk.mdm.mapper.sale.MultiOwnerMapper;
 import com.dk.mdm.model.pojo.mst.Org;
 import com.dk.mdm.mapper.mst.OrgMapper;
 import com.dk.common.service.BaseService;
 import com.dk.common.mapper.BaseMapper;
+import com.dk.mdm.model.pojo.mst.OrgMac;
+import com.dk.mdm.model.pojo.mst.OrgWh;
+import com.dk.mdm.model.pojo.sale.MultiOwner;
 import com.dk.mdm.model.query.mst.OrgQuery;
 import com.dk.common.model.vo.mst.OrgVO;
 import com.dk.mdm.service.common.CommonService;
@@ -17,8 +23,11 @@ import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.math.BigDecimal;
+import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 
 @Service
 @Transactional
@@ -44,6 +53,12 @@ public class OrgService extends BaseService<Org> {
     private OrgConvert orgConvert;
     @Autowired
     private CommonService commonService;
+
+    @Autowired
+    OrgWhMapper orgWhMapper;
+
+    @Autowired
+    OrgMacMapper orgMacMapper;
     /**
      * @desc : 条件查询
      * @author : 王英杰
@@ -88,6 +103,34 @@ public class OrgService extends BaseService<Org> {
         super.insert(organization);
         //执行函数
         orgMapper.resetLevelOrg(new Org().setTopId(organization.getParentId()).setCpId(organization.getCpId()));
+
+        // 添加组织仓库
+        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);
+                OrgWh orgWh = new OrgWh();
+                orgWh.setOrgId(organization.getOrgId()).setWhId(map.get("whId").toString()).setDisplayNo(orgWhDisplayNo)
+                        .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
+                orgWhMapper.insert(orgWh);
+            }
+        }
+
+        // 添加组织资金账户
+        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();
+                orgMac.setOrgId(organization.getOrgId()).setMacId(map.get("macId").toString()).setDisplayNo(orgMacDisplayNo)
+                        .setFlgDefault(Boolean.parseBoolean(map.get("ownerFlag").toString()));
+                orgMacMapper.insert(orgMac);
+            }
+        }
         return ResponseResultUtil.success();
         //        return result == 1 ? ResponseResultUtil.success(organization) :
 //                ResponseResultUtil.error(ResponseCodeEnum.INSERT_FAIL);