Browse Source

提报初始化

dev
xiaoyu 1 month ago
parent
commit
135f3bff3f
  1. 55
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/gss/ReportInitializeController.java
  2. 15
      ruoyi-admin/src/main/java/com/ruoyi/web/mapper/ReportInitializeMapper.java
  3. 5
      ruoyi-admin/src/main/java/com/ruoyi/web/service/IReportInitializeService.java
  4. 36
      ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/ReportInitializeServiceImpl.java
  5. 23
      ruoyi-admin/src/main/resources/mapper/web/ReportInitializeMapper.xml
  6. 16
      ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml
  7. 26
      ruoyi-system/src/main/java/com/ruoyi/system/domain/SalesAreaReport.java
  8. 30
      ruoyi-system/src/main/java/com/ruoyi/system/mapper/SalesAreaReportMapper.java
  9. 26
      ruoyi-system/src/main/java/com/ruoyi/system/service/ISalesAreaReportService.java
  10. 14
      ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SalesAreaReportServiceImpl.java
  11. 92
      ruoyi-system/src/main/resources/mapper/system/SalesAreaReportMapper.xml
  12. 18
      sql/gss/区域提报.sql

55
ruoyi-admin/src/main/java/com/ruoyi/web/controller/gss/ReportInitializeController.java

@ -0,0 +1,55 @@ @@ -0,0 +1,55 @@
package com.ruoyi.web.controller.gss;
import java.time.LocalDateTime;
import java.time.temporal.WeekFields;
import java.util.Calendar;
import java.util.Locale;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
// 修改服务接口的导入路径
import com.ruoyi.web.service.IReportInitializeService;
@RestController
@RequestMapping("/gss/initialize")
public class ReportInitializeController extends BaseController {
@Autowired
private IReportInitializeService reportInitializeService;
@GetMapping("/currentYear")
@PreAuthorize("@ss.hasPermi('gss:initialize:query')")
public AjaxResult getCurrentYear() {
Calendar cal = Calendar.getInstance();
return AjaxResult.success(cal.get(Calendar.YEAR));
}
@GetMapping("/currentWeek")
@PreAuthorize("@ss.hasPermi('gss:initialize:query')")
public AjaxResult getCurrentWeek() {
LocalDateTime dateTime = LocalDateTime.now().plusDays(3);
WeekFields weekFields = WeekFields.of(Locale.getDefault());
int weekNumber = dateTime.get(weekFields.weekOfWeekBasedYear());
return AjaxResult.success(weekNumber);
}
@PostMapping("/execute")
@PreAuthorize("@ss.hasPermi('gss:initialize:add')")
public AjaxResult execute(@RequestParam String year,
@RequestParam String week,
@RequestParam String productCategory,
@RequestParam String salesAreaCode) {
try {
reportInitializeService.execute(year, week, productCategory, salesAreaCode);
return AjaxResult.success("初始化成功");
} catch (Exception e) {
return AjaxResult.error("初始化失败:" + e.getMessage());
}
}
}

15
ruoyi-admin/src/main/java/com/ruoyi/web/mapper/ReportInitializeMapper.java

@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
package com.ruoyi.web.mapper;
import com.ruoyi.system.domain.SalesAreaReport; // 修改引用路径
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface ReportInitializeMapper {
int checkExists(@Param("year") String year,
@Param("week") String week,
@Param("productCategory") String productCategory,
@Param("salesAreaCode") String salesAreaCode);
int insertSalesAreaReport(SalesAreaReport report);
}

5
ruoyi-admin/src/main/java/com/ruoyi/web/service/IReportInitializeService.java

@ -0,0 +1,5 @@ @@ -0,0 +1,5 @@
package com.ruoyi.web.service;
public interface IReportInitializeService {
void execute(String year, String week, String productCategory, String salesAreaCode);
}

36
ruoyi-admin/src/main/java/com/ruoyi/web/service/impl/ReportInitializeServiceImpl.java

@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
package com.ruoyi.web.service.impl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SalesAreaReportMapper; // 修改引用路径
import com.ruoyi.system.domain.SalesAreaReport; // 修改引用路径
import com.ruoyi.web.service.IReportInitializeService;
import com.ruoyi.common.utils.SecurityUtils;
import java.util.Date;
@Service
public class ReportInitializeServiceImpl implements IReportInitializeService {
@Autowired
private SalesAreaReportMapper salesAreaReportMapper; // 修改变量名
@Override
public void execute(String year, String week, String productCategory, String salesAreaCode) {
if (salesAreaReportMapper.checkExists(year, week, productCategory, salesAreaCode) > 0) {
return;
}
SalesAreaReport report = new SalesAreaReport();
report.setProductCategory(productCategory);
report.setProductCategoryName("商显");
report.setSalesAreaCode(salesAreaCode);
report.setSalesAreaName("全部".equals(salesAreaCode) ? "全部" : "待完善");
report.setManagerId(SecurityUtils.getUserId());
report.setManagerName(SecurityUtils.getUsername());
report.setReportStatus("0");
report.setCreateBy(SecurityUtils.getUsername());
report.setCreateTime(new Date());
salesAreaReportMapper.insertSalesAreaReport(report);
}
}

23
ruoyi-admin/src/main/resources/mapper/web/ReportInitializeMapper.xml

@ -0,0 +1,23 @@ @@ -0,0 +1,23 @@
<?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="com.ruoyi.web.mapper.ReportInitializeMapper">
<select id="checkExists" resultType="Integer">
select count(1) from sales_area_report
where product_category = #{productCategory}
and sales_area_code = #{salesAreaCode}
</select>
<insert id="insertSalesAreaReport" parameterType="com.ruoyi.system.domain.SalesAreaReport">
insert into sales_area_report (
product_category, product_category_name, sales_area_code, sales_area_name,
manager_id, manager_name, report_status, create_by, create_time
) values (
#{productCategory}, #{productCategoryName}, #{salesAreaCode}, #{salesAreaName},
#{managerId}, #{managerName}, #{reportStatus}, #{createBy}, #{createTime}
)
</insert>
</mapper>

16
ruoyi-admin/src/main/resources/mybatis/mybatis-config.xml

@ -3,18 +3,16 @@ @@ -3,18 +3,16 @@
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 全局参数 -->
<!-- 全局参数配置 -->
<settings>
<!-- 使全局的映射器启用或禁用缓存 -->
<setting name="cacheEnabled" value="true" />
<!-- 允许JDBC 支持自动生成主键 -->
<setting name="useGeneratedKeys" value="true" />
<!-- 配置默认的执行器.SIMPLE就是普通执行器;REUSE执行器会重用预处理语句(prepared statements);BATCH执行器将重用语句并执行批量更新 -->
<setting name="defaultExecutorType" value="SIMPLE" />
<!-- 指定 MyBatis 所用日志的具体实现 -->
<setting name="logImpl" value="SLF4J" />
<!-- 使用驼峰命名法转换字段 -->
<!-- <setting name="mapUnderscoreToCamelCase" value="true"/> -->
</settings>
</settings>
<!-- 类型别名 -->
<typeAliases>
<typeAlias type="com.ruoyi.system.domain.SalesAreaReport" alias="SalesAreaReport"/>
</typeAliases>
</configuration>

26
ruoyi-system/src/main/java/com/ruoyi/system/domain/SalesAreaReport.java

@ -1,47 +1,37 @@ @@ -1,47 +1,37 @@
package com.ruoyi.system.domain;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.util.Date;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.annotation.Excel;
public class SalesAreaReport extends BaseEntity {
private static final long serialVersionUID = 1L;
/** 提报ID */
@Excel(name = "提报ID")
@Excel(name = "报告ID")
private Long reportId;
/** 产品大类编码 */
@Excel(name = "产品大类编码")
@Excel(name = "产品类别")
private String productCategory;
/** 产品大类名称 */
@Excel(name = "产品大类名称")
@Excel(name = "产品类别名称")
private String productCategoryName;
/** 销售区域编码 */
@Excel(name = "销售区域编码")
@Excel(name = "销售区域代码")
private String salesAreaCode;
/** 销售区域名称 */
@Excel(name = "销售区域名称")
private String salesAreaName;
/** 负责人ID */
@Excel(name = "负责人ID")
private Long managerId;
/** 负责人姓名 */
@Excel(name = "负责人姓名")
private String managerName;
/** 提报状态(0初始化 1已提交) */
@Excel(name = "提报状态", readConverterExp = "0=初始化,1=已提交")
@Excel(name = "报告状态")
private String reportStatus;
/** 提报时间 */
@Excel(name = "提报时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "报告时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date reportTime;
// getter/setter方法

30
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SalesAreaReportMapper.java

@ -1,36 +1,42 @@ @@ -1,36 +1,42 @@
package com.ruoyi.system.mapper;
import com.ruoyi.system.domain.SalesAreaReport;
import java.util.List;
import com.ruoyi.system.domain.SalesAreaReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface SalesAreaReportMapper {
/**
* 查询区域提报列表
*/
public List<SalesAreaReport> selectSalesAreaReportList(SalesAreaReport salesAreaReport);
List<SalesAreaReport> selectSalesAreaReportList(SalesAreaReport salesAreaReport);
/**
* 查询区域提报详细
* 根据ID查询区域提报
*/
public SalesAreaReport selectSalesAreaReportById(Long reportId);
SalesAreaReport selectSalesAreaReportById(Long reportId);
/**
* 区域提报
* 新区域提报
*/
public int insertSalesAreaReport(SalesAreaReport salesAreaReport);
int updateSalesAreaReport(SalesAreaReport report);
/**
* 修改区域提报
* 批量删除区域提报
*/
public int updateSalesAreaReport(SalesAreaReport salesAreaReport);
int deleteSalesAreaReportByIds(Long[] reportIds);
/**
* 删除区域提报
* 检查是否存在
*/
public int deleteSalesAreaReportById(Long reportId);
int checkExists(@Param("year") String year,
@Param("week") String week,
@Param("productCategory") String productCategory,
@Param("salesAreaCode") String salesAreaCode);
/**
* 批量删除区域提报
* 插入区域提报
*/
public int deleteSalesAreaReportByIds(Long[] reportIds);
int insertSalesAreaReport(SalesAreaReport report);
}

26
ruoyi-system/src/main/java/com/ruoyi/system/service/ISalesAreaReportService.java

@ -1,31 +1,19 @@ @@ -1,31 +1,19 @@
package com.ruoyi.system.service;
import com.ruoyi.system.domain.SalesAreaReport;
import java.util.List;
import com.ruoyi.system.domain.SalesAreaReport;
public interface ISalesAreaReportService {
/**
* 查询区域提报列表
*/
public List<SalesAreaReport> selectSalesAreaReportList(SalesAreaReport salesAreaReport);
List<SalesAreaReport> selectSalesAreaReportList(SalesAreaReport salesAreaReport);
/**
* 查询区域提报详细
*/
public SalesAreaReport selectSalesAreaReportById(Long reportId);
SalesAreaReport selectSalesAreaReportById(Long reportId);
/**
* 新增区域提报
*/
public int insertSalesAreaReport(SalesAreaReport salesAreaReport);
int updateSalesAreaReport(SalesAreaReport report);
/**
* 修改区域提报
*/
public int updateSalesAreaReport(SalesAreaReport salesAreaReport);
int deleteSalesAreaReportByIds(Long[] reportIds);
/**
* 删除区域提报信息
* 新增区域提报
*/
public int deleteSalesAreaReportByIds(Long[] reportIds);
int insertSalesAreaReport(SalesAreaReport salesAreaReport);
}

14
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SalesAreaReportServiceImpl.java

@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import java.util.List; // 添加这行导入
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SalesAreaReportMapper;
@ -23,17 +23,17 @@ public class SalesAreaReportServiceImpl implements ISalesAreaReportService { @@ -23,17 +23,17 @@ public class SalesAreaReportServiceImpl implements ISalesAreaReportService {
}
@Override
public int insertSalesAreaReport(SalesAreaReport salesAreaReport) {
return salesAreaReportMapper.insertSalesAreaReport(salesAreaReport);
public int updateSalesAreaReport(SalesAreaReport report) {
return salesAreaReportMapper.updateSalesAreaReport(report);
}
@Override
public int updateSalesAreaReport(SalesAreaReport salesAreaReport) {
return salesAreaReportMapper.updateSalesAreaReport(salesAreaReport);
public int deleteSalesAreaReportByIds(Long[] reportIds) {
return salesAreaReportMapper.deleteSalesAreaReportByIds(reportIds);
}
@Override
public int deleteSalesAreaReportByIds(Long[] reportIds) {
return salesAreaReportMapper.deleteSalesAreaReportByIds(reportIds);
public int insertSalesAreaReport(SalesAreaReport salesAreaReport) {
return salesAreaReportMapper.insertSalesAreaReport(salesAreaReport);
}
}

92
ruoyi-system/src/main/resources/mapper/system/SalesAreaReportMapper.xml

@ -4,27 +4,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -4,27 +4,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.SalesAreaReportMapper">
<resultMap type="SalesAreaReport" id="SalesAreaReportResult">
<id property="reportId" column="report_id" />
<result property="productCategory" column="product_category" />
<resultMap type="com.ruoyi.system.domain.SalesAreaReport" id="SalesAreaReportResult">
<id property="reportId" column="report_id" />
<result property="productCategory" column="product_category" />
<result property="productCategoryName" column="product_category_name"/>
<result property="salesAreaCode" column="sales_area_code" />
<result property="salesAreaName" column="sales_area_name" />
<result property="managerId" column="manager_id" />
<result property="managerName" column="manager_name" />
<result property="reportStatus" column="report_status" />
<result property="reportTime" column="report_time" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
<result property="salesAreaCode" column="sales_area_code" />
<result property="salesAreaName" column="sales_area_name" />
<result property="managerId" column="manager_id" />
<result property="managerName" column="manager_name" />
<result property="reportStatus" column="report_status" />
<result property="reportTime" column="report_time" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
<result property="remark" column="remark" />
</resultMap>
<sql id="selectSalesAreaReportVo">
select report_id, product_category, product_category_name, sales_area_code, sales_area_name,
manager_id, manager_name, report_status, report_time, create_by, create_time, update_by,
update_time, remark
manager_id, manager_name, report_status, report_time, create_by, create_time, update_by, update_time, remark
from sales_area_report
</sql>
@ -37,63 +36,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -37,63 +36,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="salesAreaCode != null and salesAreaCode != ''">
AND sales_area_code = #{salesAreaCode}
</if>
<if test="managerId != null">
AND manager_id = #{managerId}
</if>
<if test="reportStatus != null and reportStatus != ''">
AND report_status = #{reportStatus}
</if>
<if test="params.beginTime != null and params.beginTime != ''">
AND date_format(report_time,'%y%m%d') &gt;= date_format(#{params.beginTime},'%y%m%d')
</if>
<if test="params.endTime != null and params.endTime != ''">
AND date_format(report_time,'%y%m%d') &lt;= date_format(#{params.endTime},'%y%m%d')
</if>
</where>
</select>
<select id="selectSalesAreaReportById" parameterType="Long" resultMap="SalesAreaReportResult">
<include refid="selectSalesAreaReportVo"/>
where report_id = #{reportId}
</select>
<insert id="insertSalesAreaReport" parameterType="SalesAreaReport" useGeneratedKeys="true" keyProperty="reportId">
insert into sales_area_report
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="productCategory != null">product_category,</if>
<if test="productCategoryName != null">product_category_name,</if>
<if test="salesAreaCode != null">sales_area_code,</if>
<if test="salesAreaName != null">sales_area_name,</if>
<if test="managerId != null">manager_id,</if>
<if test="managerName != null">manager_name,</if>
<if test="reportStatus != null">report_status,</if>
<if test="reportTime != null">report_time,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
<if test="remark != null">remark,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="productCategory != null">#{productCategory},</if>
<if test="productCategoryName != null">#{productCategoryName},</if>
<if test="salesAreaCode != null">#{salesAreaCode},</if>
<if test="salesAreaName != null">#{salesAreaName},</if>
<if test="managerId != null">#{managerId},</if>
<if test="managerName != null">#{managerName},</if>
<if test="reportStatus != null">#{reportStatus},</if>
<if test="reportTime != null">#{reportTime},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
<if test="remark != null">#{remark},</if>
</trim>
</insert>
<update id="updateSalesAreaReport" parameterType="SalesAreaReport">
update sales_area_report
<trim prefix="SET" suffixOverrides=",">
<set>
<if test="productCategory != null">product_category = #{productCategory},</if>
<if test="productCategoryName != null">product_category_name = #{productCategoryName},</if>
<if test="salesAreaCode != null">sales_area_code = #{salesAreaCode},</if>
@ -103,20 +59,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -103,20 +59,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="reportStatus != null">report_status = #{reportStatus},</if>
<if test="reportTime != null">report_time = #{reportTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="remark != null">remark = #{remark},</if>
</trim>
update_time = sysdate()
</set>
where report_id = #{reportId}
</update>
<delete id="deleteSalesAreaReportById" parameterType="Long">
delete from sales_area_report where report_id = #{reportId}
</delete>
<delete id="deleteSalesAreaReportByIds" parameterType="String">
<delete id="deleteSalesAreaReportByIds" parameterType="Long">
delete from sales_area_report where report_id in
<foreach item="reportId" collection="array" open="(" separator="," close=")">
<foreach collection="array" item="reportId" open="(" separator="," close=")">
#{reportId}
</foreach>
</delete>
</mapper>

18
sql/gss/区域提报.sql

@ -42,4 +42,20 @@ insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame @@ -42,4 +42,20 @@ insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame
values('区域提报删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'system:report:remove', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('区域提报导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:report:export', '#', 'admin', sysdate(), '', null, '');
values('区域提报导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'system:report:export', '#', 'admin', sysdate(), '', null, '');
-------------------------------------------
-- 初始化功能
-- 菜单 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('提报初始化', '3', '1', 'initialize', 'gss/initialize/index', 1, 0, 'C', '0', '0', 'gss:initialize:list', 'form', 'admin', sysdate(), '', null, '提报初始化菜单');
-- 按钮父菜单ID
SELECT @parentId := LAST_INSERT_ID();
-- 按钮 SQL
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('提报初始化查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'gss:initialize:query', '#', 'admin', sysdate(), '', null, '');
insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark)
values('提报初始化操作', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'gss:initialize:add', '#', 'admin', sysdate(), '', null, '');
Loading…
Cancel
Save