资产处置查询

This commit is contained in:
xiao-fajia 2024-08-17 09:49:52 +08:00
parent 08f93f5bae
commit 83aa0bdff3
9 changed files with 257 additions and 55 deletions

View File

@ -2,15 +2,14 @@ package cn.iocoder.yudao.module.property.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.property.service.PropertyDealService;
import cn.iocoder.yudao.module.property.vo.PropertyDealReqVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealRespVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@ -30,6 +29,12 @@ public class PropertyDealController {
@Resource
private PropertyDealService propertyDealService;
/**
* 创建企业管理-资产处置单/变动单
* @author 小李
* @date 21:24 2024/8/16
* @param createReqVO 提交对象
**/
@PostMapping("/create")
@Operation(summary = "创建企业管理-资产处置单/变动单")
@PreAuthorize("@ss.hasPermission('company:property-deal:create')")
@ -38,6 +43,17 @@ public class PropertyDealController {
return CommonResult.ok();
}
// @GetMapping("/page")
// @Operation(summary = "获得企业管理-资产处置单/变动单分页")
// @PreAuthorize("@ss.hasPermission('company:property-deal:query')")
// public CommonResult<IPage<?>> getPropertyDealPage(PropertyDealReqVO pageReqVO,
// @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
// @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
// return null;
// IPage<PropertyDealRespVO> propertyDealPage = propertyDealService.getPropertyDealPage(pageReqVO);
// return success(propertyDealPage);
// }
// @PutMapping("/update")
// @Operation(summary = "更新企业管理-资产处置单/变动单")
// @PreAuthorize("@ss.hasPermission('company:property-deal:update')")

View File

@ -1,39 +1,57 @@
//package cn.iocoder.yudao.module.property.controller.admin;
//
//import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
//import cn.iocoder.yudao.framework.common.pojo.CommonResult;
//import cn.iocoder.yudao.framework.common.pojo.PageParam;
//import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
//import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
//import cn.iocoder.yudao.module.property.entity.PropertyDealItem;
//import cn.iocoder.yudao.module.property.service.PropertyDealItemService;
//import cn.iocoder.yudao.module.property.vo.PropertyDealItemReqVO;
//import cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO;
//import com.baomidou.mybatisplus.core.metadata.IPage;
//import io.swagger.v3.oas.annotations.Operation;
//import io.swagger.v3.oas.annotations.Parameter;
//import io.swagger.v3.oas.annotations.tags.Tag;
//import org.springframework.security.access.prepost.PreAuthorize;
//import org.springframework.validation.annotation.Validated;
//import org.springframework.web.bind.annotation.*;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.util.List;
//
//import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT;
//import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
//
//@Tag(name = "管理后台 - 企业管理-资产处置子")
//@RestController
//@RequestMapping("/company/property-deal-item")
//@Validated
//public class PropertyDealItemController {
//
// @Resource
// private PropertyDealItemService propertyDealItemService;
//
package cn.iocoder.yudao.module.property.controller.admin;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import cn.iocoder.yudao.module.property.service.PropertyDealItemService;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
/**
* 管理后台 - 企业管理-资产处置子表
*
* @author 小李
* @date 9:17 2024/8/17
**/
@Tag(name = "管理后台 - 企业管理-资产处置子表")
@RestController
@RequestMapping("/company/property-deal-item")
@Validated
public class PropertyDealItemController {
@Resource
private PropertyDealItemService propertyDealItemService;
/**
* 获得企业管理-资产处置子表分页
*
* @param pageReqVO
* @author 小李
* @date 9:18 2024/8/17
**/
@GetMapping("/page")
@Operation(summary = "获得企业管理-资产处置子分页")
@PreAuthorize("@ss.hasPermission('company:property-deal:query')")
public CommonResult<IPage<?>> getPropertyDealItemPage(PropertyDealReqVO pageReqVO,
@RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
Page<PropertyDealItemRespVO> page = new Page<>(pageNo, pageSize);
return success(propertyDealItemService.getPropertyDealItemPage(pageReqVO, page));
}
// @PostMapping("/create")
// @Operation(summary = "创建企业管理-资产处置子")
// @PreAuthorize("@ss.hasPermission('company:property-deal-item:create')")
@ -86,5 +104,5 @@
// // 导出 Excel
// ExcelUtils.write(response, "企业管理-资产处置子.xls", "数据", PropertyDealItemRespVO.class,list);
// }
//
//}
}

View File

@ -1,11 +1,15 @@
package cn.iocoder.yudao.module.property.mapper;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import cn.iocoder.yudao.module.property.entity.PropertyDealItem;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemReqVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealReqVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 企业管理-资产处置子 Mapper
@ -14,4 +18,6 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface PropertyDealItemMapper extends BaseMapper<PropertyDealItem> {
IPage<PropertyDealItemRespVO> getPropertyDealItemPage(@Param("map") PropertyDealReqVO pageReqVO, Page<PropertyDealItemRespVO> page);
}

View File

@ -1,7 +1,12 @@
package cn.iocoder.yudao.module.property.service;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import cn.iocoder.yudao.module.property.entity.PropertyDealItem;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemReqVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
@ -13,12 +18,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
public interface PropertyDealItemService extends IService<PropertyDealItem> {
/**
* 创建企业管理-资产处置子表
* 获得企业管理-资产处置子表分页
*
* @param pageReqVO
* @author 小李
* @date 21:36 2024/8/16
* @param createReqVO 创建信息
**/
void createPropertyDealItem(PropertyDealItemReqVO createReqVO);
* @date 9:18 2024/8/17
**/
IPage<PropertyDealItemRespVO> getPropertyDealItemPage(PropertyDealReqVO pageReqVO, Page<PropertyDealItemRespVO> page);
// /**
// * 更新企业管理-资产处置子

View File

@ -1,33 +1,37 @@
package cn.iocoder.yudao.module.property.service.impl;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import cn.iocoder.yudao.module.property.entity.PropertyDealItem;
import cn.iocoder.yudao.module.property.mapper.PropertyDealItemMapper;
import cn.iocoder.yudao.module.property.service.PropertyDealItemService;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemReqVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO;
import cn.iocoder.yudao.module.property.vo.PropertyDealReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
/**
* 企业管理-资产处置子 Service 实现类
*
* @author 小李
* @date 21:37 2024/8/16
**/
**/
@Service
@Validated
public class PropertyDealItemServiceImpl extends ServiceImpl<PropertyDealItemMapper, PropertyDealItem> implements PropertyDealItemService {
/**
* 创建企业管理-资产处置子表
* 获得企业管理-资产处置子表分页
*
* @param pageReqVO
* @author 小李
* @date 21:36 2024/8/16
* @param createReqVO 创建信息
* @date 9:18 2024/8/17
**/
@Override
public void createPropertyDealItem(PropertyDealItemReqVO createReqVO) {
public IPage<PropertyDealItemRespVO> getPropertyDealItemPage(PropertyDealReqVO pageReqVO, Page<PropertyDealItemRespVO> page) {
return baseMapper.getPropertyDealItemPage(pageReqVO, page);
}
// @Override

View File

@ -1,5 +1,7 @@
package cn.iocoder.yudao.module.property.vo;
import cn.iocoder.yudao.module.property.entity.Property;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import cn.iocoder.yudao.module.property.entity.PropertyDealItem;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
@ -16,4 +18,10 @@ import java.time.LocalDateTime;
@Schema(description = "管理后台 - 企业管理-资产处置子 Response VO")
@Data
public class PropertyDealItemRespVO extends PropertyDealItem {
/** 资产对象 */
private Property property;
/** 处理\变动单对象 */
private PropertyDeal propertyDeal;
}

View File

@ -3,6 +3,11 @@ package cn.iocoder.yudao.module.property.vo;
import cn.iocoder.yudao.module.property.entity.PropertyDeal;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* 企业管理-资产处置单/变动单分页 Request VO
@ -12,4 +17,11 @@ import lombok.Data;
@Schema(description = "管理后台 - 企业管理-资产处置单/变动单分页 Request VO")
@Data
public class PropertyDealReqVO extends PropertyDeal {
@Schema(description = "处置日期查询范围")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Date[] dealDateArray;
/** 处置方式 */
private String dealWay;
}

View File

@ -20,7 +20,7 @@ import java.util.List;
public class PropertyDealRespVO extends PropertyDeal {
/**
* 多个资产
* 多个资产 新增的时候用
* @author 小李
* @date 21:20 2024/8/16
**/

View File

@ -1,4 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.iocoder.yudao.module.property.mapper.PropertyDealItemMapper">
<resultMap id="BaseResultMap" type="cn.iocoder.yudao.module.property.vo.PropertyDealItemRespVO">
<id property="id" column="cpdi_id" jdbcType="VARCHAR"/>
<result property="dealId" column="cpdi_deal_id" jdbcType="VARCHAR"/>
<result property="propertyId" column="cpdi_property_id" jdbcType="VARCHAR"/>
<result property="dealWay" column="cpdi_deal_way" jdbcType="VARCHAR"/>
<result property="oldCorpId" column="cpdi_old_corp_id" jdbcType="VARCHAR"/>
<result property="corpId" column="cpdi_corp_id" jdbcType="VARCHAR"/>
<result property="oldDeptId" column="cpdi_old_dept_id" jdbcType="BIGINT"/>
<result property="deptId" column="cpdi_dept_id" jdbcType="BIGINT"/>
<result property="oldPosId" column="cpdi_old_pos_id" jdbcType="VARCHAR"/>
<result property="posId" column="cpdi_pos_id" jdbcType="VARCHAR"/>
<result property="oldUserId" column="cpdi_old_user_id" jdbcType="BIGINT"/>
<result property="userId" column="cpdi_user_id" jdbcType="BIGINT"/>
<result property="remark" column="cpdi_remark" jdbcType="VARCHAR"/>
<association property="property" javaType="cn.iocoder.yudao.module.property.entity.Property">
<id property="id" column="cp_id" jdbcType="VARCHAR"/>
<result property="corpId" column="cp_corp_id" jdbcType="VARCHAR"/>
<result property="deptId" column="cp_dept_id" jdbcType="BIGINT"/>
<result property="posId" column="cp_pos_id" jdbcType="VARCHAR"/>
<result property="userId" column="cp_user_id" jdbcType="VARCHAR"/>
<result property="propNo" column="cp_prop_no" jdbcType="VARCHAR"/>
<result property="propName" column="cp_prop_name" jdbcType="VARCHAR"/>
<result property="propCatg" column="cp_prop_catg" jdbcType="VARCHAR"/>
<result property="useYear" column="cp_use_year" jdbcType="INTEGER"/>
<result property="costType" column="cp_cost_type" jdbcType="VARCHAR"/>
<result property="propNum" column="cp_prop_num" jdbcType="INTEGER"/>
<result property="costTotal" column="cp_cost_total" jdbcType="DECIMAL"/>
<result property="propStatus" column="cp_prop_status" jdbcType="VARCHAR"/>
<result property="brand" column="cp_brand" jdbcType="VARCHAR"/>
<result property="spec" column="cp_spec" jdbcType="VARCHAR"/>
<result property="factory" column="cp_factory" jdbcType="VARCHAR"/>
<result property="serialNo" column="cp_serial_no" jdbcType="VARCHAR"/>
<result property="unit" column="cp_unit" jdbcType="VARCHAR"/>
<result property="getDate" column="cp_get_date" jdbcType="DATE"/>
<result property="prodDate" column="cp_prod_date" jdbcType="DATE"/>
<result property="supplier" column="cp_supplier" jdbcType="VARCHAR"/>
<result property="openDate" column="cp_open_date" jdbcType="DATE"/>
<result property="netValue" column="cp_net_value" jdbcType="DECIMAL"/>
<result property="voucherNo" column="cp_voucher_no" jdbcType="VARCHAR"/>
<result property="keepCycleType" column="cp_keep_cycle_type" jdbcType="VARCHAR"/>
<result property="keepCycle" column="cp_keep_cycle" jdbcType="INTEGER"/>
<result property="lastKeepDate" column="cp_last_keep_date" jdbcType="DATE"/>
<result property="nextKeepDate" column="cp_next_keep_date" jdbcType="DATE"/>
<result property="fileUrls" column="cp_file_urls" jdbcType="VARCHAR"/>
<result property="staffName" column="staff_name" jdbcType="VARCHAR"/>
<result property="posName" column="pos_name" jdbcType="VARCHAR"/>
</association>
<association property="propertyDeal" javaType="cn.iocoder.yudao.module.property.entity.PropertyDeal">
<id property="id" column="cpd_id" jdbcType="VARCHAR"/>
<result property="corpId" column="cpd_corp_id" jdbcType="VARCHAR"/>
<result property="deptId" column="cpd_dept_id" jdbcType="BIGINT"/>
<result property="dataType" column="cpd_data_type" jdbcType="VARCHAR"/>
<result property="dealNo" column="cpd_deal_no" jdbcType="VARCHAR"/>
<result property="dealDate" column="cpd_deal_date" jdbcType="DATE"/>
</association>
</resultMap>
<sql id="Base_SQL">
SELECT cpdi.id AS cpdi_id,
cpdi.deal_id AS cpdi_deal_id,
cpdi.property_id AS cpdi_property_id,
cpdi.deal_way AS cpdi_deal_way,
cpdi.old_corp_id AS cpdi_old_corp_id,
cpdi.corp_id AS cpdi_corp_id,
cpdi.old_dept_id AS cpdi_old_dept_id,
cpdi.dept_id AS cpdi_dept_id,
cpdi.old_pos_id AS cpdi_old_pos_id,
cpdi.pos_id AS cpdi_pos_id,
cpdi.old_user_id AS cpdi_old_user_id,
cpdi.user_id AS cpdi_user_id,
cpdi.remark AS cpdi_remark,
cp.id AS cp_id,
cp.corp_id AS cp_corp_id,
cp.dept_id AS cp_dept_id,
cp.pos_id AS cp_pos_id,
cp.user_id AS cp_user_id,
cp.prop_no AS cp_prop_no,
cp.prop_name AS cp_prop_name,
cp.prop_catg AS cp_prop_catg,
cp.use_year AS cp_use_year,
cp.cost_type AS cp_cost_type,
cp.prop_num AS cp_prop_num,
cp.cost_total AS cp_cost_total,
cp.prop_status AS cp_prop_status,
cp.brand AS cp_brand,
cp.spec AS cp_spec,
cp.factory AS cp_factory,
cp.serial_no AS cp_serial_no,
cp.unit AS cp_unit,
cp.get_date AS cp_get_date,
cp.prod_date AS cp_prod_date,
cp.supplier AS cp_supplier,
cp.open_date AS cp_open_date,
cp.net_value AS cp_net_value,
cp.voucher_no AS cp_voucher_no,
cp.keep_cycle_type AS cp_keep_cycle_type,
cp.keep_cycle AS cp_keep_cycle,
cp.last_keep_date AS cp_last_keep_date,
cp.next_keep_date AS cp_next_keep_date,
cp.file_urls AS cp_file_urls,
cs.name AS staff_name,
cpp.pos_name AS pos_name,
cpd.id AS cpd_id,
cpd.corp_id AS cpd_corp_id,
cpd.dept_id AS cpd_dept_id,
cpd.data_type AS cpd_data_type,
cpd.deal_no AS cpd_deal_no,
cpd.deal_date AS cpd_deal_date
FROM company_property_deal_item cpdi
INNER JOIN company_property cp ON cpdi.property_id = cp.id
INNER JOIN company_property_deal cpd ON cpdi.deal_id = cpd.id
LEFT JOIN company_staff cs ON cp.user_id = cs.user_id
LEFT JOIN company_property_pos cpp ON cp.pos_id = cpp.id
WHERE cpdi.deleted = '0'
</sql>
<select id="getPropertyDealItemPage" resultMap="BaseResultMap">
<include refid="Base_SQL" />
AND cpd.data_type = #{map.dataType}
<if test="map.dealNo != null and map.dealNo != ''">
AND (cpd.deal_no like concat('%', #{map.dealNo}, '%'))
</if>
<if test="map.dealWay != null and map.dealWay != ''">
AND (cpdi.deal_way = #{map.dealWay})
</if>
<if test="map.dealDateArray != null and map.dealDateArray.length > 0">
AND (cpd.deal_date BETWEEN #{map.dealDateArray[0]} AND #{map.dealDateArray[1]})
</if>
</select>
</mapper>