3 Commits

Author SHA1 Message Date
Gjm
0317f8596e refactor(GrNhService): 移除未使用的查询逻辑代码
- 注释掉 deltetNH 方法中未使用的数据库查询代码
- 注释掉 saveNH 方法中未使用的数据库查询代码
- 保留原有的事务处理和数据源切换功能
- 简化方法实现,提高代码可读性
2026-04-09 10:59:48 +08:00
gjm
1116444f09 feat(gzgl): 添加设备故障报修相关数据表
- 创建dev_gzbx表用于存储设备故障报修信息
- 创建dev_gzbx_plan_step表用于管理故障报修方案步骤
- 创建dev_gzbx_wxfa表用于存储维修方案信息
- 创建dev_gzbx_wxgd表用于管理维修工单
- 添加故障类型和严重级别的系统字典数据
- 配置表结构包括故障编号、设备信息、处理状态等字段
2026-03-23 14:52:24 +08:00
gjm
aa4e6ad673 feat(core): 维护管理:添加JAVA增强处理功能并实现设备故障维修模块
- 在DbFormEnhanceController中添加javaHandle接口用于处理增强操作
- 实现EnhanceJavaService的handleEnhanceJava方法并添加事务和缓存注解
- 新增故障报修相关实体类包括DevGzbxDO、DevGzbxWxfaDO、DevGzbxWxgdDO和DevArchivesEntity
- 创建设备故障维修相关控制器DevGzbxController和EquipmentArchivesController
- 实现设备档案查询服务EquipmentArchivesService及对应的映射器
- 添加故障报修状态修改功能和设备档案类型查询功能
- 新增多个设备维护相关的Java增强处理器和环绕通知插件
- 实现故障编号自动生成和维修流程的状态处理逻辑
2026-03-23 14:09:28 +08:00
44 changed files with 3022 additions and 374 deletions

View File

@@ -80,6 +80,18 @@ public class DbFormEnhanceController extends BaseController {
return BaseWebResult.success("成功");
}
//处理增强
@PreAuthorize("@ss.hasPermission('lideeyunji:java')")
@PutMapping("/java/handle")
@ApiOperationSupport(order = 3)
@Operation(tags = "JAVA增强",summary = "处理操作")
public BaseWebResult javaHandle(@RequestBody EnhanceJavaEntity model) {
javaService.handleEnhanceJava(model);
return BaseWebResult.success("成功");
}
@PreAuthorize("@ss.hasPermission('lideeyunji:java')")
@DeleteMapping("/java/delete")
@ApiOperationSupport(order = 4)

View File

@@ -1,84 +0,0 @@
package com.lideeyunji.core.framework.controller;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
import com.lideeyunji.core.framework.params.SaAggParam;
import com.lideeyunji.core.framework.service.INewGrBiSaAggMonthCountService;
import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService;
import com.lideeyunji.core.framework.utils.FuncWeb;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import com.lideeyunji.tool.framework.tenant.core.aop.TenantIgnore;
import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
/**
* 综合销售情况月维度Controller
*
* @author king
* @date 2026-03-19
*/
@TenantIgnore
@RestController
@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START+"/agg/month")
public class NewGrBiSaAggMonthCountController extends BaseController
{
@Autowired
private INewGrBiSaAggMonthCountService newGrBiSaAggMonthCountService;
@Autowired
private INewGrBiSaAggYearCountService newGrBiSaAggYearCountService;
/**
* 查询综合销售情况月维度-总计
*/
// @PreAuthorize("@ss.hasPermission('agg:month:total:detail')")
@PostMapping("/total/detail")
public BaseWebResult getTotalDetail(HttpServletRequest req)
{
Map<String, Object> params = FuncWeb.getParameterBodyMap(req);
SaAggParam saAggParam = new SaAggParam();
if (params.containsKey("usemonth")){
saAggParam.setUseMonth(params.get("usemonth").toString());
}
if(params.containsKey("useyear")){
saAggParam.setUseYear(params.get("useyear").toString());
}
if(params.containsKey("customname")){
saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split(",")));
}
if (params.containsKey("zonename")){
saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ",")));
}
if (params.containsKey("saletypename")){
saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ",")));
}
if (params.containsKey("salername")){
saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ",")));
}
if (params.containsKey("dosagename")){
saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ",")));
}
if (params.containsKey("stdGoodsName")){
saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
}
if (params.containsKey("usemonth")){
List<NewGrBiSaAggMonthCount> list = newGrBiSaAggMonthCountService.getTotalDetail(saAggParam);
return BaseWebResult.success(list);
}else{
List<NewGrBiSaAggYearCount> list = newGrBiSaAggYearCountService.getTotalDetail(saAggParam);
return BaseWebResult.success(list);
}
}
}

View File

@@ -1,96 +0,0 @@
package com.lideeyunji.core.framework.controller;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
import com.lideeyunji.core.framework.params.SaAggParam;
import com.lideeyunji.core.framework.service.INewGrBiSaAggYearCountService;
import com.lideeyunji.core.framework.utils.FuncWeb;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import com.lideeyunji.tool.framework.tenant.core.aop.TenantIgnore;
import com.lideeyunji.tool.framework.yunji.model.global.BaseWebResult;
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.RestController;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
/**
* 综合销售情况年维度Controller
*
* @author king
* @date 2026-03-19
*/
@TenantIgnore
@RestController
@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START+"/agg/year")
public class NewGrBiSaAggYearCountController extends BaseController
{
@Autowired
private INewGrBiSaAggYearCountService newGrBiSaAggYearCountService;
// /**
// * 查询综合销售情况年维度-总计
// */
//// @PreAuthorize("@ss.hasPermi('agg:month:total:detail')")
// @PostMapping("/total/detail")
// public BaseWebResult getTotalDetail(HttpServletRequest req) {
// Map<String, Object> params = FuncWeb.getParameterBodyMap(req);
// SaAggParam saAggParam = new SaAggParam();
// String groupField = params.get("Group by").toString();
// LinkedList<String> groupFieldList = new LinkedList<>(Arrays.asList(groupField.split(",")));
//
// if (params.containsKey("useyear")) {
// saAggParam.setUseYear(params.get("useyear").toString());
// if (!groupField.contains("useyear")) {
// groupFieldList.addFirst("useyear");
// }
// }
// if (params.containsKey("customname")) {
// saAggParam.setCustomName(Arrays.asList(params.get("customname").toString().split( ",")));
// if (!groupField.contains("customname")) {
// groupFieldList.addLast("customname");
// }
// }
// if (params.containsKey("zonename")) {
// saAggParam.setZoneName(Arrays.asList(params.get("zonename").toString().split( ",")));
// if (!groupField.contains("zonename")) {
// groupFieldList.addLast("zonename");
// }
// }
// if (params.containsKey("saletypename")) {
// saAggParam.setSaleTypeName(Arrays.asList(params.get("saletypename").toString().split( ",")));
// if (!groupField.contains("saletypename")) {
// groupFieldList.addLast("saletypename");
// }
// }
//
// if (params.containsKey("salername")) {
// saAggParam.setSalerName(Arrays.asList(params.get("salername").toString().split( ",")));
// if (!groupField.contains("salername")) {
// groupFieldList.addLast("salername");
// }
// }
// if (params.containsKey("dosagename")) {
// saAggParam.setDosageName(Arrays.asList(params.get("dosagename").toString().split( ",")));
// if (!groupField.contains("dosagename")) {
// groupFieldList.addLast("dosagename");
// }
// }
// if (params.containsKey("stdGoodsName")) {
// saAggParam.setStdGoodsName(Arrays.asList(params.get("stdGoodsName").toString().split( ",")));
// if (!groupField.contains("stdGoodsName")) {
// groupFieldList.addLast("stdGoodsName");
// }
// }
// saAggParam.setGroupFieldList(groupFieldList);
// List<NewGrBiSaAggYearCount> list = newGrBiSaAggYearCountService.getTotalDetail(saAggParam);
// return BaseWebResult.success(list);
// }
}

View File

@@ -68,8 +68,9 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" ROUND(SUM(last_year_data.last_year_profit) / 10000, 2) AS lastYearProfit, \n");//上年毛利额(元)
executePluginSql.append(" ROUND(SUM(last_year_data.last_year_cost) / 10000, 2) AS lastYearCost, \n"); //上年销售成本(元)
// executePluginSql.append(" CONCAT(ROUND((max(total_year_data.this_year_sa_money_sum))/100000000 ,2), '亿') AS thissamoney_s, \n");
// executePluginSql.append(" CONCAT(ROUND((max(total_year_data.this_year_profit_sum))/100000000 ,2), '亿') AS thisprofit_s, \n");
// executePluginSql.append(" ROUND(avg(current_year_data.profit_change), 2) as profitchange, \n"); //毛利变动(元)
// executePluginSql.append(" ROUND(avg(current_year_data.profit_growth), 2) as profitgrowth, \n"); //毛利额增长率
// executePluginSql.append(" ROUND(avg(current_year_data.this_profit_rate), 2) as thisprofitrate, \n"); //本年毛利率
executePluginSql.append(" COALESCE(ROUND(sum(current_year_data.this_year_sa_money) / SUM(total_year_data.this_year_sa_money_sum) * 100, 2), 0) AS this_year_sa_money_share, \n");//上年销售金额占比
executePluginSql.append(" COALESCE (ROUND( sum(current_year_data.this_year_profit)/SUM(total_year_data.this_year_profit_sum) * 100, 2), 0 ) as thisprofitshare, \n"); //本年毛利额占比
executePluginSql.append(" -- 数量同比(原有) \n");
@@ -156,6 +157,7 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
executePluginSql.append(" SUM(this_year_sa_money) AS this_year_sa_money_sum, \n");
executePluginSql.append(" SUM(this_year_profit) AS this_year_profit_sum \n");
executePluginSql.append(" FROM new_gr_bi_sa_agg_year_count \n");
executePluginSql.append(" WHERE use_year = 2026 \n");
executePluginSql.append(" GROUP BY use_year) as total_year_data \n");
executePluginSql.append(" ON total_year_data.use_year = current_year_data.use_year \n");
@@ -234,24 +236,23 @@ public class zhxsqkLineReportEnhance implements ReportBeforeAdvicePlugin {
if (groupFieldList.contains("stdGoodsName") || params.containsKey("stdGoodsName")) { //标准品名
executePluginSql.append(" current_month.std_goods_name as stdGoodsName, \n");
}
executePluginSql.append(" SUM(current_month.this_month_sa_qty) as thisMonthSaQty, \n"); //本月销售数量(件)
executePluginSql.append(" ROUND(SUM(current_month.this_month_sa_money) / 10000, 2) as thisMonthSaMoney, \n"); //本月销售金额(元)
executePluginSql.append(" ROUND(SUM(current_month.this_month_profit) / 10000, 2) as thisMonthProfit, \n"); //本月毛利额(元)
executePluginSql.append(" ROUND(SUM(current_month.this_month_cost) / 10000, 2) as thisMonthCost, \n"); //本月成本(元)
executePluginSql.append(" SUM(current_month.this_month_sa_qty) as thisMonthSaQty, "); //本月销售数量(件)
executePluginSql.append(" ROUND(SUM(current_month.this_month_sa_money) / 10000, 2) as thisMonthSaMoney, "); //本月销售金额(元)
executePluginSql.append(" ROUND(SUM(current_month.this_month_profit) / 10000, 2) as thisMonthProfit, "); //本月毛利额(元)
executePluginSql.append(" ROUND(SUM(current_month.this_month_cost) / 10000, 2) as thisMonthCost, "); //本月成本(元)
executePluginSql.append(" SUM(last_month_data.last_month_sa_qty) as lastMonthSaQty, \n"); //上月销售数量(件)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_sa_money) / 10000, 2) as lastMonthSaMoney, \n"); //上月销售金额(元)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_profit) / 10000, 2) as lastMonthProfit, \n"); //上月毛利额(元)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_cost) / 10000, 2) as lastMonthCost, \n"); //上月成本(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_qty)/ 10000, 2) as yoyMonthSaQty, \n"); //同比月销售数量(件)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_money) / 10000, 2) as yoyMonthSaMoney, \n"); //同比月销售金额(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_profit) / 10000, 2) as yoyMonthProfit, \n"); //同比月毛利额(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_cost) / 10000, 2) as yoyMonthCost, \n"); //同比月成本(元)
executePluginSql.append(" SUM(last_month_data.last_month_sa_qty) as lastMonthSaQty, "); //上月销售数量(件)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_sa_money) / 10000, 2) as lastMonthSaMoney, "); //上月销售金额(元)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_profit) / 10000, 2) as lastMonthProfit, "); //上月毛利额(元)
executePluginSql.append(" ROUND(SUM(last_month_data.last_month_cost) / 10000, 2) as lastMonthCost, "); //上月成本(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_qty)/ 10000, 2) as yoyMonthSaQty, "); //同比月销售数量(件)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_sa_money) / 10000, 2) as yoyMonthSaMoney, "); //同比月销售金额(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_profit) / 10000, 2) as yoyMonthProfit, "); //同比月毛利额(元)
executePluginSql.append(" ROUND(SUM(yoy_month.yoy_month_cost) / 10000, 2) as yoyMonthCost, "); //同比月成本(元)
executePluginSql.append(" GROUP_CONCAT(DISTINCT current_month.province_id ORDER BY current_month.province_id SEPARATOR ',') as province_id, \n"); //行政区域ID
executePluginSql.append(" GROUP_CONCAT(DISTINCT current_month.province_name ORDER BY current_month.province_name SEPARATOR ',') as province_name, \n"); //行政区域名称
executePluginSql.append(" CASE WHEN (CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n");
executePluginSql.append(" CASE WHEN (CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n");
executePluginSql.append(" ELSE (sum(current_month.this_month_sa_qty) - sum(yoy_month.yoy_month_sa_qty)) / sum(yoy_month.yoy_month_sa_qty) * 100 END) > 0 THEN\n");
executePluginSql.append(" CONCAT('🟢 ', ROUND((CASE WHEN sum(yoy_month.yoy_month_sa_qty) = 0 THEN IF(sum(current_month.this_month_sa_qty) > 0, 100, 0)\n");
executePluginSql.append(" ELSE (sum(current_month.this_month_sa_qty) - sum(yoy_month.yoy_month_sa_qty)) / sum(yoy_month.yoy_month_sa_qty) * 100 END), 2))\n");

View File

@@ -3,7 +3,6 @@ package com.lideeyunji.core.framework.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import jdk.nashorn.internal.ir.annotations.Ignore;
import lombok.Data;
import java.io.Serializable;
@@ -150,11 +149,7 @@ public class NewGrBiSaAggMonthCount implements Serializable
private BigDecimal thisMonthProfitShare;
@TableField(value = "thissamoney_s")
private BigDecimal thissamoney_s;
@TableField(value = "thisprofit_s")
private BigDecimal thisprofit_s;
}

View File

@@ -145,10 +145,8 @@ public class NewGrBiSaAggYearCount implements Serializable
@TableField(value = "this_year_profit_change")
private BigDecimal thisYearProfitChange;
@TableField(value = "this_year_sa_money_s")
private BigDecimal thisYearSaMoney_s;
@TableField(value = "this_year_profit_s")
private BigDecimal thisYearProfit_s;
}

View File

@@ -1,12 +1,8 @@
package com.lideeyunji.core.framework.mapper;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lideeyunji.core.framework.params.SaAggParam;
import org.apache.ibatis.annotations.Param;
/**
* 综合销售情况月维度Mapper接口
@@ -63,7 +59,4 @@ public interface NewGrBiSaAggMonthCountMapper extends BaseMapper<NewGrBiSaAggMon
* @return 结果
*/
public int deleteNewGrBiSaAggMonthCountByIds(Long[] ids);
@DS(value = "#dataSourceType")
List<NewGrBiSaAggMonthCount> getTotalDetail(@Param("dataSourceType") String dataSourceType, @Param("saAggParam") SaAggParam saAggParam);
}

View File

@@ -1,12 +1,8 @@
package com.lideeyunji.core.framework.mapper;
import java.util.List;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.lideeyunji.core.framework.params.SaAggParam;
import org.apache.ibatis.annotations.Param;
/**
* 综合销售情况年维度Mapper接口
@@ -63,8 +59,4 @@ public interface NewGrBiSaAggYearCountMapper extends BaseMapper<NewGrBiSaAggYear
* @return 结果
*/
public int deleteNewGrBiSaAggYearCountByIds(Long[] ids);
@DS(value = "#dataSourceType")
List<NewGrBiSaAggYearCount> getTotalDetail(@Param("dataSourceType") String dataSourceType,@Param("saAggParam") SaAggParam saAggParam);
}

View File

@@ -1,19 +0,0 @@
package com.lideeyunji.core.framework.params;
import lombok.Data;
import java.util.List;
@Data
public class SaAggParam {
private String useYear;
private String useMonth;
private List<String> customName;
private List<String> zoneName;
private List<String> saleTypeName;
private List<String> salerName;
private List<String> dosageName;
private List<String> stdGoodsName;
private List<String> groupFieldList;
}

View File

@@ -27,4 +27,6 @@ public interface IEnhanceJavaService extends IService<EnhanceJavaEntity> {
//批量删除
void removeByIds(List<Long> ids);
//处理操作
void handleEnhanceJava(EnhanceJavaEntity model);
}

View File

@@ -2,7 +2,6 @@ package com.lideeyunji.core.framework.service;
import java.util.List;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
import com.lideeyunji.core.framework.params.SaAggParam;
/**
* 综合销售情况月维度Service接口
@@ -59,6 +58,4 @@ public interface INewGrBiSaAggMonthCountService
* @return 结果
*/
public int deleteNewGrBiSaAggMonthCountById(Long id);
List<NewGrBiSaAggMonthCount> getTotalDetail(SaAggParam saAggParam);
}

View File

@@ -2,7 +2,6 @@ package com.lideeyunji.core.framework.service;
import java.util.List;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
import com.lideeyunji.core.framework.params.SaAggParam;
/**
* 综合销售情况年维度Service接口
@@ -59,6 +58,4 @@ public interface INewGrBiSaAggYearCountService
* @return 结果
*/
public int deleteNewGrBiSaAggYearCountById(Long id);
List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam);
}

View File

@@ -83,7 +83,12 @@ public class EnhanceJavaServiceImpl extends ServiceImpl<EnhanceJavaMapper, Enhan
this.saveHistoryLog(enhanceJavaEntity.getId(),enhanceJavaEntity);
}
@DSTransactional(rollbackFor = Exception.class)
@lideeYunjiCache(cacheNames = lideeRedisConstants.REDIS_DBFORM +":*",delCache = true)
@Override
public void handleEnhanceJava(EnhanceJavaEntity enhanceJavaEntity) {
this.updateById(enhanceJavaEntity);
}
@DS(lideeYunJiBaseConstant.DS_lideeyunji)
@Override
@@ -159,4 +164,6 @@ public class EnhanceJavaServiceImpl extends ServiceImpl<EnhanceJavaMapper, Enhan
baseMapper.deleteById(id);
}
}
}

View File

@@ -35,27 +35,27 @@ public class GrNhServiceImpl extends ServiceImpl<GrNhMapper, GrNhEntity> impleme
@Override
@DSTransactional
public Integer deltetNH(GrNhEntity grNhEntity) {
GrNhEntity old = baseMapper.selectOne(new Wrapper<GrNhEntity>() {
@Override
public GrNhEntity getEntity() {
return null;
}
@Override
public MergeSegments getExpression() {
return null;
}
@Override
public void clear() {
}
@Override
public String getSqlSegment() {
return "";
}
}).setAddTime(new Date());
// GrNhEntity old = baseMapper.selectOne(new Wrapper<GrNhEntity>() {
// @Override
// public GrNhEntity getEntity() {
// return null;
// }
//
// @Override
// public MergeSegments getExpression() {
// return null;
// }
//
// @Override
// public void clear() {
//
// }
//
// @Override
// public String getSqlSegment() {
// return "";
// }
// }).setAddTime(new Date());
int re = this.baseMapper.deltetNH(lideeYunJiBaseConstant.DS_ERP_BI_DATA, grNhEntity);
return re;
}
@@ -65,27 +65,27 @@ public class GrNhServiceImpl extends ServiceImpl<GrNhMapper, GrNhEntity> impleme
@Override
@DSTransactional
public Integer saveNH(GrNhEntity grNhEntity) {
GrNhEntity old = baseMapper.selectOne(new Wrapper<GrNhEntity>() {
@Override
public GrNhEntity getEntity() {
return null;
}
@Override
public MergeSegments getExpression() {
return null;
}
@Override
public void clear() {
}
@Override
public String getSqlSegment() {
return "";
}
}).setAddTime(new Date());
// GrNhEntity old = baseMapper.selectOne(new Wrapper<GrNhEntity>() {
// @Override
// public GrNhEntity getEntity() {
// return null;
// }
//
// @Override
// public MergeSegments getExpression() {
// return null;
// }
//
// @Override
// public void clear() {
//
// }
//
// @Override
// public String getSqlSegment() {
// return "";
// }
// }).setAddTime(new Date());
int re = this.baseMapper.save(lideeYunJiBaseConstant.DS_ERP_BI_DATA, grNhEntity);
return re;
}

View File

@@ -1,10 +1,7 @@
package com.lideeyunji.core.framework.service.impl;
import java.util.Collections;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lideeyunji.core.framework.params.SaAggParam;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import org.springframework.stereotype.Service;
import com.lideeyunji.core.framework.mapper.NewGrBiSaAggMonthCountMapper;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount;
@@ -90,9 +87,4 @@ public class NewGrBiSaAggMonthCountServiceImpl extends ServiceImpl<NewGrBiSaAggM
{
return this.baseMapper.deleteNewGrBiSaAggMonthCountById(id);
}
@Override
public List<NewGrBiSaAggMonthCount> getTotalDetail(SaAggParam saAggParam) {
return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam);
}
}

View File

@@ -1,10 +1,7 @@
package com.lideeyunji.core.framework.service.impl;
import java.util.Collections;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.lideeyunji.core.framework.params.SaAggParam;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import org.springframework.stereotype.Service;
import com.lideeyunji.core.framework.mapper.NewGrBiSaAggYearCountMapper;
import com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount;
@@ -90,9 +87,4 @@ public class NewGrBiSaAggYearCountServiceImpl extends ServiceImpl<NewGrBiSaAggYe
{
return this.baseMapper.deleteNewGrBiSaAggYearCountById(id);
}
@Override
public List<NewGrBiSaAggYearCount> getTotalDetail(SaAggParam saAggParam) {
return this.baseMapper.getTotalDetail(lideeYunJiBaseConstant.DS_ERP_BI_DATA, saAggParam);
}
}

View File

@@ -38,44 +38,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="lastMonthProfitShare" column="last_month_profit_share" />
<result property="thisMonthSaMoneyShare" column="this_month_sa_money_share" />
<result property="thisMonthProfitShare" column="this_month_profit_share" />
<result property="thissamoney_s" column="thissamoney_s" />
<result property="thisprofit_s" column="thisprofit_s" />
</resultMap>
<sql id="selectNewGrBiSaAggMonthCountVo">
select id, use_year, use_month, zone_id, zone_name, sale_type_id, sale_type_name, custom_id, custom_name, dosage_id, dosage_name, goods_id, std_goods_name, province_id, province_name, saler_id, saler_name, this_month_sa_qty, last_month_sa_qty, yoy_month_sa_qty, this_month_sa_money, last_month_sa_money, yoy_month_sa_money, this_month_profit, last_month_profit, yoy_month_profit, this_month_cost, last_month_cost, yoy_month_cost, this_month_profit_rate, last_month_profit_rate, last_month_profit_share, this_month_sa_money_share, this_month_profit_share from new_gr_bi_sa_agg_month_count
</sql>
<select id="getTotalDetail" parameterType="com.lideeyunji.core.framework.params.SaAggParam" resultMap="NewGrBiSaAggMonthCountResult">
SELECT
use_year,
SUM( this_month_sa_money ) AS thissamoney_s,
SUM( this_month_profit ) AS thisprofit_s
FROM new_gr_bi_sa_agg_month_count
<where>
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
<if test="saAggParam.useMonth != null and saAggParam.useMonth != ''"> and use_month = #{saAggParam.useMonth}</if>
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
<foreach collection="saAggParam.customName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
<foreach collection="saAggParam.zoneName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.saleTypeName != null and saAggParam.saleTypeName != ''"> and sale_type_name in
<foreach collection="saAggParam.saleTypeName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.salerName != null and saAggParam.salerName != '' "> and saler_name in
<foreach collection="saAggParam.salerName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.dosageName != null and saAggParam.dosageName != ''"> and dosage_name in
<foreach collection="saAggParam.dosageName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.stdGoodsName != null and saAggParam.stdGoodsName != '' "> and std_goods_name in
<foreach item="field" collection="saAggParam.stdGoodsName" separator="," open="(" close=")">#{field}</foreach>
</if>
</where>
</select>
<select id="selectNewGrBiSaAggMonthCountList" parameterType="com.lideeyunji.core.framework.entity.NewGrBiSaAggMonthCount" resultMap="NewGrBiSaAggMonthCountResult">
<include refid="selectNewGrBiSaAggMonthCountVo"/>
<where>

View File

@@ -37,50 +37,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="thisYearSaMoneyGrowth" column="this_year_sa_money_growth" />
<result property="thisYearProfitGrowth" column="this_year_profit_growth" />
<result property="thisYearProfitChange" column="this_year_profit_change" />
<result property="thisYearSaMoney_s" column="this_year_sa_money_s" />
<result property="thisYearProfit_s" column="this_year_profit_s" />
</resultMap>
<sql id="selectNewGrBiSaAggYearCountVo">
select id, use_year, zone_id, zone_name, sale_type_id, sale_type_name, custom_id, custom_name, dosage_id, dosage_name, std_goods_name, province_id, province_name, saler_id, saler_name, this_year_sa_qty, last_year_sa_qty, this_year_sa_money, last_year_sa_money, this_year_profit, last_year_profit, this_year_cost, last_year_cost, this_year_profit_rate, last_year_profit_rate, this_year_profit_share, last_year_profit_share, this_year_sa_money_share, last_year_sa_money_share, this_year_sa_money_growth, this_year_profit_growth, this_year_profit_change from new_gr_bi_sa_agg_year_count
</sql>
<select id="getTotalDetail" parameterType="com.lideeyunji.core.framework.params.SaAggParam" resultMap="NewGrBiSaAggYearCountResult">
SELECT
use_year,
SUM( this_year_sa_money ) AS this_year_sa_money_s,
SUM( this_year_profit ) AS this_year_profit_s
FROM new_gr_bi_sa_agg_year_count
<where>
<if test="saAggParam.useYear != null and saAggParam.useYear != ''"> and use_year = #{saAggParam.useYear}</if>
<if test="saAggParam.customName != null and saAggParam.customName != ''"> and custom_name in
<foreach collection="saAggParam.customName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.zoneName != null and saAggParam.zoneName != ''"> and zone_name in
<foreach collection="saAggParam.zoneName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.saleTypeName != null and saAggParam.saleTypeName != ''"> and sale_type_name in
<foreach collection="saAggParam.saleTypeName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.salerName != null and saAggParam.salerName != '' "> and saler_name in
<foreach collection="saAggParam.salerName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.dosageName != null and saAggParam.dosageName != ''"> and dosage_name in
<foreach collection="saAggParam.dosageName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
<if test="saAggParam.stdGoodsName != null and saAggParam.stdGoodsName != '' "> and std_goods_name in
<foreach collection="saAggParam.stdGoodsName" item="field" separator="," open="(" close=")">#{field}</foreach>
</if>
</where>
<!-- <if test="saAggParam.groupFieldList != null and saAggParam.groupFieldList.size() > 0">-->
<!-- &lt;!&ndash; 这里根据前端传入的参数拼接动态的 GROUP BY 子句 &ndash;&gt;-->
<!-- GROUP BY-->
<!-- <foreach item="field" collection="saAggParam.groupFieldList" separator=",">-->
<!-- #{field}-->
<!-- </foreach>-->
<!-- </if>-->
</select>
<select id="selectNewGrBiSaAggYearCountList" parameterType="com.lideeyunji.core.framework.entity.NewGrBiSaAggYearCount" resultMap="NewGrBiSaAggYearCountResult">
<include refid="selectNewGrBiSaAggYearCountVo"/>
<where>

View File

@@ -0,0 +1,40 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.service.DevGzbxService;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import com.lideeyunji.tool.framework.common.pojo.CommonResult;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.stereotype.Component;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import static com.lideeyunji.tool.framework.common.pojo.CommonResult.success;
/**
* @author DX
* @create 2026-03-3 11:59
* @dedescription:
*/
@Tag(name = "设备故障维修")
@RestController
@Validated
@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START +"/gzbx")
public class DevGzbxController {
@Resource
private DevGzbxService devGzbxService;
@PutMapping("/updateStatus")
@Operation(tags = "故障报修",summary = "故障报修状态修改")
public CommonResult<Boolean> updateConfig(@Valid @RequestBody DevGzbxDO devGzbxDO) {
devGzbxService.updateDevgGzbx(devGzbxDO);
return success(true);
}
}

View File

@@ -0,0 +1,50 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.module.biz.entity.DevArchivesEntity;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.service.EquipmentArchivesService;
import com.lideeyunji.module.biz.vo.DevArchivesVo;
import com.lideeyunji.tool.framework.common.constant.lideeYunJiBaseConstant;
import com.lideeyunji.tool.framework.common.pojo.CommonResult;
import com.lideeyunji.tool.framework.sql.core.toolkit.CollectionUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.mapstruct.ap.internal.util.Collections;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Collection;
import java.util.List;
import static com.lideeyunji.tool.framework.common.pojo.CommonResult.success;
/**
* @author DX
* @create 2026-03-3 11:59
* @dedescription:
*/
@Tag(name = "设备档案控制器")
@RestController
@Validated
@RequestMapping(lideeYunJiBaseConstant.REQUEST_URL_START +"/dev")
public class EquipmentArchivesController {
@Resource
private EquipmentArchivesService equipmentArchivesService;
@GetMapping("/selectByType/{devType}")
@Operation(summary = "根据设备类型获取设备档案")
public CommonResult<List<DevArchivesEntity>> getByDeviceType(@Valid @PathVariable("devType") String devType) {
List<DevArchivesEntity> devArchives = equipmentArchivesService.selectByType(devType);
if (CollectionUtils.isEmpty(devArchives)) {
return CommonResult.error(400,"未找到对应设备类型的档案");
}
return success(devArchives);
}
}

View File

@@ -0,0 +1,48 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.module.biz.entity.*;
import com.lideeyunji.module.biz.mapper.*;
import com.lideeyunji.tool.framework.yunji.enums.AcceptanceStatusEnum;
import com.lideeyunji.tool.framework.yunji.enums.ProcessingStatusEnum;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Map;
/**
* 设备报修-环绕
*/
@Component("EquipmentMalfunctionCheck")
public class EquipmentMalfunctionCheck implements AroundAdvicePlugin {
@Resource
private DevGzbxWxgdMapper devGzbxWxgdMapper;
@Resource
private DevGzbxMapper devGzbxMapper;
@Override
@Transactional
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
Long id = lideeYunJiUtils.getMap2Long(params, "id");
DevGzbxWxgdDO yorn = devGzbxWxgdMapper.selectOne("id",id);
yorn.setProcessingStatus(ProcessingStatusEnum.ACCEPTED.getType());
yorn.setDevStatus(AcceptanceStatusEnum.COMPLETED.getType());
yorn.setCompletionTime(new Date());
yorn.setAcceptanceTime(new Date());
DevGzbxDO devGzbxDO = devGzbxMapper.selectOne("id", yorn.getGzbxId());
devGzbxDO.setProcessingStatus(AcceptanceStatusEnum.COMPLETED.getType());
devGzbxWxgdMapper.updateById(yorn);
devGzbxMapper.updateById(devGzbxDO);
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
}

View File

@@ -0,0 +1,77 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxfaDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.module.biz.mapper.DevGzbxMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxfaMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxgdMapper;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Map;
/**
* 设备报修方案-环绕
*/
@Component("equipmentMalfunctionOrder")
public class EquipmentMalfunctionOrder implements AroundAdvicePlugin {
@Resource
private DevGzbxWxfaMapper devGzbxWxfaMapper;
@Resource
private DevGzbxWxgdMapper devGzbxWxgdMapper;
@Resource
private DevGzbxMapper devGzbxMapper;
@Override
@Transactional
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
Long status = lideeYunJiUtils.getMap2Long(params, "dev_status");
Long gzbx_id = lideeYunJiUtils.getMap2Long(params, "gzbx_id");
Long id = lideeYunJiUtils.getMap2Long(params, "gzbx_id");
DevGzbxWxfaDO yorn = devGzbxWxfaMapper.selectById(id);
if (status == 2) {
if (yorn == null) {
DevGzbxWxfaDO devGzbxWxfaDO = new DevGzbxWxfaDO();
devGzbxWxfaDO.setDevStatus(2);
devGzbxWxfaDO.setGzbxId(gzbx_id);
devGzbxWxfaMapper.insertOrUpdate(devGzbxWxfaDO);
} else {
yorn.setDevStatus(2);
devGzbxWxfaMapper.insertOrUpdate(yorn);
DevGzbxWxgdDO devGzbxWxgdDO = devGzbxWxgdMapper.selectOne("gzbx_id", gzbx_id);
devGzbxWxgdDO.setDevStatus(2);
devGzbxWxgdMapper.updateBatch(devGzbxWxgdDO);
DevGzbxDO devGzbxDO = devGzbxMapper.selectById(gzbx_id);
devGzbxDO.setDevStatus(2);
devGzbxMapper.insertOrUpdate(devGzbxDO);
}
} else if (status == 0) {
if (!(yorn == null)) {
DevGzbxWxfaDO devGzbxWxfaDO = devGzbxWxfaMapper.selectOne("gzbx_id", gzbx_id);
devGzbxWxfaDO.setDevStatus(0);
devGzbxWxfaMapper.updateBatch(devGzbxWxfaDO);
DevGzbxDO devGzbxDO = devGzbxMapper.selectById(gzbx_id);
devGzbxDO.setDevStatus(0);
devGzbxMapper.insertOrUpdate(devGzbxDO);
} else {
DevGzbxDO devGzbxDO = devGzbxMapper.selectById(gzbx_id);
devGzbxDO.setDevStatus(0);
devGzbxMapper.insertOrUpdate(devGzbxDO);
}
}
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
}

View File

@@ -0,0 +1,67 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.module.biz.entity.DevGzbxWxfaDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.module.biz.mapper.DevGzbxWxfaMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxgdMapper;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Map;
/**
* 维修方案-java增强
*/
@Component("equipmentMalfunctionRecord")
public class EquipmentMalfunctionRecord implements AroundAdvicePlugin {
@Resource
private DevGzbxWxfaMapper devGzbxWxfaMapper;
@Resource
private DevGzbxWxgdMapper devGzbxWxgdMapper;
@Override
@Transactional
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String submitType = lideeYunJiUtils.getMap2Str(params, "submitType");
if (!"ys".equals(submitType)) {
return;
}
Long id = lideeYunJiUtils.getMap2Long(params, "id");
if (id == null) {
return;
}
DevGzbxWxfaDO devGzbxWxfaDO = devGzbxWxfaMapper.selectOne("id", id);
if (devGzbxWxfaDO == null) {
return;
}
devGzbxWxfaDO.setDevStatus(1);
devGzbxWxfaMapper.updateById(devGzbxWxfaDO);
Long gzbxId = devGzbxWxfaDO.getGzbxId();
if (gzbxId == null) {
return;
}
DevGzbxWxgdDO devGzbxWxgdDO = devGzbxWxgdMapper.selectOne("id", gzbxId);
if (devGzbxWxgdDO != null) {
devGzbxWxgdDO.setDevStatus(2);
devGzbxWxgdMapper.updateById(devGzbxWxgdDO);
}
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
}

View File

@@ -0,0 +1,90 @@
package com.lideeyunji.module.biz.controller;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.core.framework.mapper.AdapterMapper;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.module.biz.mapper.DevGzbxMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxgdMapper;
import com.lideeyunji.tool.framework.security.core.LoginUser;
import com.lideeyunji.tool.framework.security.core.util.SecurityFrameworkUtils;
import com.lideeyunji.tool.framework.yunji.enums.AcceptanceStatusEnum;
import com.lideeyunji.tool.framework.yunji.enums.ProcessingStatusEnum;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import jodd.util.StringUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Objects;
/**
* 设备报修工单-环绕
*/
@Component("equipmentMalfunctionRepair")
public class EquipmentMalfunctionRepair implements AroundAdvicePlugin {
@Resource
private DevGzbxWxgdMapper devGzbxWxgdMapper;
@Resource
private DevGzbxMapper devGzbxMapper;
@Resource
private AdapterMapper adapterMapper;
@Override
@Transactional
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String submitType = lideeYunJiUtils.getMap2Str(params, "submitType");
if (!"ys".equals(submitType)) {
return;
}
Long id = lideeYunJiUtils.getMap2Long(params, "id");
if (id == null) {
return;
}
DevGzbxWxgdDO existingRecord = devGzbxWxgdMapper.selectOne("gzbx_id", id);
if (existingRecord != null) {
return;
}
DevGzbxDO gzbxDO = devGzbxMapper.selectOne("id", id);
if (gzbxDO == null) {
return;
}
DevGzbxWxgdDO newRecord = new DevGzbxWxgdDO();
BeanUtils.copyProperties(gzbxDO, newRecord);
newRecord.setId(null);
newRecord.setGzbxId(id);
newRecord.setFaultType(gzbxDO.getType());
newRecord.setFaultRemark(gzbxDO.getRemark());
newRecord.setNumber(generateFaultNumber(params));
newRecord.setCreateUserName(gzbxDO.getCreateUserName());
devGzbxWxgdMapper.insert(newRecord);
gzbxDO.setProcessingStatus(AcceptanceStatusEnum.TREATED.getType());
devGzbxMapper.updateById(gzbxDO);
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
private String generateFaultNumber(Map<String, Object> params) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return "GD" + LocalDateTime.now().format(formatter);
}
}

View File

@@ -0,0 +1,66 @@
package com.lideeyunji.module.biz.controller.maintenance;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.core.framework.mapper.AdapterMapper;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.mapper.DevGzbxMapper;
import com.lideeyunji.tool.framework.security.core.LoginUser;
import com.lideeyunji.tool.framework.security.core.util.SecurityFrameworkUtils;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import jodd.util.StringUtil;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
/**
* 故障报修-新增-java增强
*/
@Component("AddFMaintenanceOrderFunctionRecord")
public class AddFMaintenanceOrderFunctionRecord implements AroundAdvicePlugin {
@Resource
private DevGzbxMapper devGzbxMapper;
@Resource
private AdapterMapper adapterMapper;
@Override
public void beforeExecute(EnhanceContext enhanceContext) {
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String faultNumber = generateFaultNumber(params);
Long id = lideeYunJiUtils.getMap2Long(params, "id");
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
if (loginUser == null) {
return;
}
Long userId = loginUser.getId();
DevGzbxDO devGzbxDO = new DevGzbxDO();
devGzbxDO.setId(id);
devGzbxDO.setFaultNumber(faultNumber);
devGzbxDO.setReporter(userId);
devGzbxDO.setCreateUserName(adapterMapper.getNickname(userId));
devGzbxMapper.updateById(devGzbxDO);
}
private String generateFaultNumber(Map<String, Object> params) {
String faultNumber = lideeYunJiUtils.getMap2Str(params, "fault_number");
if (StringUtil.isBlank(faultNumber)) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return "GZ" + LocalDateTime.now().format(formatter);
}
return faultNumber;
}
}

View File

@@ -0,0 +1,71 @@
package com.lideeyunji.module.biz.controller.maintenance;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.core.framework.mapper.AdapterMapper;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.module.biz.mapper.DevGzbxMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxgdMapper;
import com.lideeyunji.tool.framework.security.core.LoginUser;
import com.lideeyunji.tool.framework.security.core.util.SecurityFrameworkUtils;
import com.lideeyunji.tool.framework.yunji.enums.ProcessingStatusEnum;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Objects;
/**
* 故障报修-新增-java增强
*/
@Component("AddFaultFeportingFunctionRecord")
public class AddFaultReportingFunctionRecord implements AroundAdvicePlugin {
@Resource
private DevGzbxMapper devGzbxMapper;
@Resource
private AdapterMapper adapterMapper;
@Override
public void beforeExecute(EnhanceContext enhanceContext) {
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String faultNumber = generateFaultNumber(params);
Long id = lideeYunJiUtils.getMap2Long(params, "id");
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
if (loginUser == null) {
return;
}
Long userId = loginUser.getId();
DevGzbxDO devGzbxDO = new DevGzbxDO();
devGzbxDO.setId(id);
devGzbxDO.setFaultNumber(faultNumber);
devGzbxDO.setReporter(userId);
devGzbxDO.setCreateUserName(adapterMapper.getNickname(userId));
devGzbxMapper.updateById(devGzbxDO);
}
private String generateFaultNumber(Map<String, Object> params) {
String faultNumber = lideeYunJiUtils.getMap2Str(params, "number");
if (StringUtil.isBlank(faultNumber)) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return "GZ" + LocalDateTime.now().format(formatter);
}
return faultNumber;
}
}

View File

@@ -0,0 +1,43 @@
package com.lideeyunji.module.biz.controller.maintenance;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.module.biz.mapper.EquipmentArchivesMapper;
import com.lideeyunji.tool.framework.sql.core.toolkit.StringUtils;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Map;
import java.util.Objects;
/**
* 设备档案-java增强
*/
@Component("EquipmentArchivesFunctionRecord")
public class EquipmentArchivesFunctionRecord implements AroundAdvicePlugin {
@Resource
private EquipmentArchivesMapper equipmentArchivesMapper;
@Override
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String decCode = lideeYunJiUtils.getMap2Str(params, "dev_code");
if (StringUtils.isBlank(decCode)) {
String newDevCode = generateFaultNumber();
params.put("dev_code", newDevCode);
}
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
private String generateFaultNumber() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return "SB" + LocalDateTime.now().format(formatter);
}
}

View File

@@ -0,0 +1,80 @@
package com.lideeyunji.module.biz.controller.maintenance;
import com.lideeyunji.core.framework.config.aspect.enhance.model.EnhanceContext;
import com.lideeyunji.core.framework.config.aspect.enhance.plugin.AroundAdvicePlugin;
import com.lideeyunji.module.biz.entity.DevGzbxWxfaDO;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.module.biz.mapper.DevGzbxWxfaMapper;
import com.lideeyunji.module.biz.mapper.DevGzbxWxgdMapper;
import com.lideeyunji.tool.framework.yunji.enums.AcceptanceStatusEnum;
import com.lideeyunji.tool.framework.yunji.enums.ProcessingStatusEnum;
import com.lideeyunji.tool.framework.yunji.utils.lideeYunJiUtils;
import jodd.util.StringUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
import java.util.Map;
/**
* 设备报修工单-环绕
*/
@Component("FaultRepairFunctionRecord")
public class FaultRepairFunctionRecord implements AroundAdvicePlugin {
@Resource
private DevGzbxWxfaMapper devGzbxWxfaMapper;
@Resource
private DevGzbxWxgdMapper devGzbxWxgdMapper;
// @Resource
@Override
public void beforeExecute(EnhanceContext enhanceContext) {
Map<String, Object> params = enhanceContext.getParam().getParams();
String submitType = lideeYunJiUtils.getMap2Str(params, "submitType");
if (!"ys".equals(submitType)) {
return;
}
Long id = lideeYunJiUtils.getMap2Long(params, "id");
if (id == null) {
return;
}
DevGzbxWxfaDO existingRecord = devGzbxWxfaMapper.selectOne("gzbx_id", id);
if (existingRecord != null) {
return;
}
DevGzbxWxgdDO wxgdDO = devGzbxWxgdMapper.selectOne("id", id);
if (wxgdDO == null) {
return;
}
DevGzbxWxfaDO newRecord = new DevGzbxWxfaDO();
BeanUtils.copyProperties(wxgdDO, newRecord);
newRecord.setId(null);
newRecord.setGzbxId(id);
newRecord.setDevStatus(0);
newRecord.setCreateTime(new Date());
newRecord.setNumber(generateFaultNumber(params));
devGzbxWxfaMapper.insert(newRecord);
wxgdDO.setDevStatus(AcceptanceStatusEnum.TREATED.getType());
wxgdDO.setProcessingStatus(null);
devGzbxWxgdMapper.updateById(wxgdDO);
}
@Override
public void afterExecute(EnhanceContext enhanceContext) {
}
private String generateFaultNumber(Map<String, Object> params) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
return "FA" + LocalDateTime.now().format(formatter);
}
}

View File

@@ -0,0 +1,125 @@
package com.lideeyunji.module.biz.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
/**
* 设备档案-实体类
*
* @author duanxiang
*/
@TableName(value = "sys_device", autoResultMap = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevArchivesEntity {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 设备编码
*/
private String devCode;
/**
* 设备名称
*/
private String devName;
/**
* 设备类型
*/
private String devType;
/**
* 设备型号
*/
private String devXh;
/**
* 设备部门
*/
private String devDept;
/**
* 设备所属单位
*/
private String devZzdw;
/**
* 设备出厂日期
*/
private Date devCcrq;
/**
* 设备启用日期
*/
private Date devQyrq;
/**
* 设备功率/管理
*/
private String devGl;
/**
* 设备安装位置
*/
private String devAzwz;
/**
* 设备固定资产编码
*/
private String devGdzcbm;
/**
* 设备图片
*/
private String devTp;
/**
* 租户ID
*/
private Long tenantId;
/**
* 创建人
*/
private Long createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建部门
*/
private Long createDept;
/**
* 修改人
*/
private Long updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 逻辑删除标志0-未删除1-已删除)
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,156 @@
package com.lideeyunji.module.biz.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.lideeyunji.tool.framework.tenant.core.db.TenantBaseDO;
import lombok.*;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 故障保修 DO
*
* @author duanxiang
*/
@TableName(value = "dev_gzbx", autoResultMap = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevGzbxDO {
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 租户ID
*/
@TableField("tenant_id")
private Long tenantId;
/**
* 故障编号
*/
@TableField("fault_number")
private String faultNumber;
/**
* 故障名称
*/
@TableField("name")
private String name;
/**
* 设备类型
*/
@TableField("dev_type")
private Integer devType;
/**
* 设备名称
*/
@TableField("dev_name")
private String devName;
/**
* 设备编号
*/
@TableField("dev_no")
private String devNo;
/**
* 故障类型0-硬件故障 1-软件故障 2-网络故障 3-其他)
*/
@TableField("type")
private Integer type;
/**
* 故障备注/描述
*/
@TableField("remark")
private String remark;
/**
* 故障级别(严重/高/中/低)
*/
@TableField("level")
private Integer level;
/**
* 是否停机0-否 1-是)
*/
@TableField("is_stop")
private Integer isStop;
/**
* 上报人ID
*/
@TableField("reporter")
private Long reporter;
/**
* 手机号码
*/
@TableField("phone_number")
private String phoneNumber;
/**
* 创建人
*/
@TableField("create_user")
private Long createUser;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
* 创建部门ID
*/
@TableField("create_dept")
private Long createDept;
/**
* 更新人
*/
@TableField("update_user")
private Long updateUser;
/**
* 更新时间
*/
@TableField("update_time")
private Date updateTime;
/**
* 删除标志0-未删除 1-已删除)
*/
@TableField("is_deleted")
@TableLogic
private Integer isDeleted;
/**
* 设备状态0-正常 1-异常 2-维护中 3-已报废)
*/
@TableField("dev_status")
private Integer devStatus;
/**
* 处理状态0-待处理 1-处理中 2-已处理 3-已关闭)
*/
@TableField("processing_status")
private Integer processingStatus;
/**
* 创建人姓名
*/
@TableField("create_user_name")
private String createUserName;
}

View File

@@ -0,0 +1,121 @@
package com.lideeyunji.module.biz.entity;
import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.Date;
/**
* 维修方案 DO
*
* @author duanxiang
*/
@TableName(value = "dev_gzbx_wxfa", autoResultMap = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevGzbxWxfaDO {
/**
* 主键ID
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 更新时间
*/
@TableField(fill = FieldFill.UPDATE)
private Date updateTime;
/**
* 更新人
*/
@TableField(fill = FieldFill.UPDATE)
private Long updateUser;
/**
* 创建部门
*/
private Long createDept;
/**
* 创建时间
*/
@TableField(fill = FieldFill.INSERT)
private Date createTime;
/**
* 创建人
*/
@TableField(fill = FieldFill.INSERT)
private Long createUser;
/**
* 租户ID
*/
private Long tenantId;
/**
* 逻辑删除标志0-正常1-已删除)
*/
@TableLogic
@TableField(select = false)
private Integer isDeleted;
/**
* 设备类型0-电脑1-打印机2-网络设备3-其他)
*/
private Integer devType;
/**
* 设备名称
*/
private String devName;
/**
* 设备编号
*/
private String devNo;
/**
* 故障类型0-硬件故障1-软件故障2-网络故障3-其他)
*/
private Integer faultType;
/**
* 故障描述
*/
private String faultRemark;
/**
* 设备状态0-正常1-故障2-维修中3-已报废)
*/
private Integer devStatus;
/**
* 工单报修ID
*/
private Long gzbxId;
/**
* 处理状态0-待处理1-处理中2-已完成3-已关闭)
*/
private Integer processingStatus;
/**
* 姓名/联系人
*/
private String name;
/**
* 号码/联系电话
*/
private String number;
}

View File

@@ -0,0 +1,199 @@
package com.lideeyunji.module.biz.entity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.Date;
import static com.lideeyunji.tool.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
import static com.lideeyunji.tool.framework.common.util.date.DateUtils.TIME_ZONE_DEFAULT;
/**
* 维修故障 DO
*
* @author duanxiang
*/
@TableName(value = "dev_gzbx_wxgd", autoResultMap = true)
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DevGzbxWxgdDO {
/**
* 主键ID
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 故障报修ID
*/
@TableField("gzbx_id")
private Long gzbxId;
/**
* 删除标志0-未删除 1-已删除)
*/
@TableField("is_deleted")
@TableLogic
private Integer isDeleted;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
/**
* 更新人
*/
@TableField("update_user")
private Long updateUser;
/**
* 创建部门ID
*/
@TableField("create_dept")
private Long createDept;
/**
* 创建时间
*/
@TableField("create_time")
private Date createTime;
/**
* 创建人
*/
@TableField("create_user")
private Long createUser;
/**
* 租户ID
*/
@TableField("tenant_id")
private Long tenantId;
/**
* 处理状态0-待处理 1-处理中 2-已处理 3-已关闭)
*/
@TableField("processing_status")
private Integer processingStatus;
/**
* 故障名称
*/
@TableField("name")
private String name;
/**
* 故障类型
*/
@TableField("fault_type")
private Integer faultType;
/**
* 设备编号
*/
@TableField("dev_no")
private String devNo;
/**
* 设备名称
*/
@TableField("dev_name")
private String devName;
/**
* 优先级(
*/
@TableField("priority")
private String priority;
/**
* 工单类型
*/
@TableField("type")
private String type;
/**
* 工单编号
*/
@TableField("number")
private String number;
/**
* 故障备注/描述
*/
@TableField("fault_remark")
private String faultRemark;
/**
* 设备类型(
*/
@TableField("dev_type")
private Integer devType;
/**
* 维修人员ID
*/
@TableField("maintenance_person")
private Long maintenancePerson;
/**
* 是否停机0-否 1-是)
*/
@TableField("is_top")
private Integer isTop;
/**
* 是否备案0-否 1-是)
*/
@TableField("is_filing")
private Integer isFiling;
/**
* 上报人ID
*/
@TableField("reporter")
private Long reporter;
/**
* 手机号码
*/
@TableField("phone_number")
private String phoneNumber;
/**
* 设备状态
*/
@TableField("dev_status")
private Integer devStatus;
/**
* 严重级别
*/
private Integer level;
/**
* 完成时间
*/
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date completionTime;
/**
* 完成时间
*/
@JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND, timezone = TIME_ZONE_DEFAULT)
private Date acceptanceTime;
/**
* 创建人姓名
*/
@TableField("create_user_name")
private String createUserName;
}

View File

@@ -0,0 +1,15 @@
package com.lideeyunji.module.biz.mapper;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.tool.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
/**
* demo相关
*/
@Mapper
public interface DevGzbxMapper extends BaseMapperX<DevGzbxDO> {
}

View File

@@ -0,0 +1,15 @@
package com.lideeyunji.module.biz.mapper;
import com.lideeyunji.module.biz.entity.DevGzbxWxfaDO;
import com.lideeyunji.tool.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
/**
* demo相关
*/
@Mapper
public interface DevGzbxWxfaMapper extends BaseMapperX<DevGzbxWxfaDO> {
}

View File

@@ -0,0 +1,15 @@
package com.lideeyunji.module.biz.mapper;
import com.lideeyunji.module.biz.entity.DevGzbxWxgdDO;
import com.lideeyunji.tool.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
/**
* demo相关
*/
@Mapper
public interface DevGzbxWxgdMapper extends BaseMapperX<DevGzbxWxgdDO> {
}

View File

@@ -0,0 +1,17 @@
package com.lideeyunji.module.biz.mapper;
import com.lideeyunji.module.biz.entity.DevArchivesEntity;
import com.lideeyunji.tool.framework.mybatis.core.mapper.BaseMapperX;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 设备档案
*/
@Mapper
public interface EquipmentArchivesMapper extends BaseMapperX<DevArchivesEntity> {
DevArchivesEntity selectByType(@Param("devType")String devType);
}

View File

@@ -0,0 +1,23 @@
package com.lideeyunji.module.biz.service;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import javax.validation.Valid;
/**
* 故障报修 Service 接口
*
* @author dx
*/
public interface DevGzbxService {
/**
* 创建故障报修
*
* @param devGzbxDO 修改报修状态
* @return 配置编号
*/
void updateDevgGzbx(@Valid DevGzbxDO devGzbxDO);
}

View File

@@ -0,0 +1,11 @@
package com.lideeyunji.module.biz.service;
import com.lideeyunji.module.biz.entity.DevArchivesEntity;
import javax.validation.Valid;
import java.util.List;
public interface EquipmentArchivesService
{
List<DevArchivesEntity> selectByType(@Valid String devType);
}

View File

@@ -0,0 +1,30 @@
package com.lideeyunji.module.biz.service.impl;
import com.google.common.annotations.VisibleForTesting;
import com.lideeyunji.module.biz.entity.DevGzbxDO;
import com.lideeyunji.module.biz.mapper.DevGzbxMapper;
import com.lideeyunji.module.biz.service.DevGzbxService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
/**
* 参数配置 Service 实现类
*/
@Service
@Slf4j
@Validated
public class DevGzbxServiceImpl implements DevGzbxService {
@Resource
private DevGzbxMapper devGzbxMapper;
@Override
public void updateDevgGzbx(DevGzbxDO devGzbxDO) {
devGzbxDO.setDevStatus(1);
devGzbxMapper.updateById(devGzbxDO);
}
}

View File

@@ -0,0 +1,28 @@
package com.lideeyunji.module.biz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.lideeyunji.module.biz.entity.DevArchivesEntity;
import com.lideeyunji.module.biz.mapper.EquipmentArchivesMapper;
import com.lideeyunji.module.biz.service.EquipmentArchivesService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.List;
@Service
@Slf4j
@Validated
public class EquipmentArchivesServiceImpl implements EquipmentArchivesService {
@Resource
private EquipmentArchivesMapper equipmentArchivesMapper;
@Override
public List<DevArchivesEntity> selectByType(String devType) {
LambdaQueryWrapper<DevArchivesEntity> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(DevArchivesEntity::getDevType, devType).eq(DevArchivesEntity::getIsDeleted, 0);
return equipmentArchivesMapper.selectList(queryWrapper);
}
}

View File

@@ -0,0 +1,112 @@
package com.lideeyunji.module.biz.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import java.util.Date;
@Data
public class DevArchivesVo {
/**
* 主键
*/
@TableId(type = IdType.ASSIGN_ID)
private Long id;
/**
* 设备编码
*/
private String devCode;
/**
* 设备名称
*/
private String devName;
/**
* 设备类型
*/
private String devType;
/**
* 设备型号
*/
private String devXh;
/**
* 设备部门
*/
private String devDept;
/**
* 设备所属单位
*/
private String devZzdw;
/**
* 设备出厂日期
*/
private Date devCcrq;
/**
* 设备启用日期
*/
private Date devQyrq;
/**
* 设备功率/管理
*/
private String devGl;
/**
* 设备安装位置
*/
private String devAzwz;
/**
* 设备固定资产编码
*/
private String devGdzcbm;
/**
* 设备图片
*/
private String devTp;
/**
* 租户ID
*/
private Long tenantId;
/**
* 创建人
*/
private Long createUser;
/**
* 创建时间
*/
private Date createTime;
/**
* 创建部门
*/
private Long createDept;
/**
* 修改人
*/
private Long updateUser;
/**
* 修改时间
*/
private Date updateTime;
/**
* 逻辑删除标志0-未删除1-已删除)
*/
private Integer isDeleted;
}

View File

@@ -0,0 +1,31 @@
package com.lideeyunji.tool.framework.yunji.enums;
/**
* 处理状态枚举
*/
public enum AcceptanceStatusEnum {
UNTREATED(0, "未处理"),
TREATED(1, "已处理"),
PENDING(2, "待验收"),
COMPLETED(3, "已完成"),
;
private final Integer type;
private final String name;
public Integer getType() {
return type;
}
public String getName() {
return name;
}
AcceptanceStatusEnum(Integer type, String name) {
this.type = type;
this.name = name;
}
}

View File

@@ -0,0 +1,26 @@
package com.lideeyunji.tool.framework.yunji.enums;
/**
* 验收状态枚举
*/
public enum ProcessingStatusEnum {
UNACCEPTED(0, "未验收"),
ACCEPTED(1, "已验收");
private final Integer type;
private final String name;
public Integer getType() {
return type;
}
public String getName() {
return name;
}
ProcessingStatusEnum(Integer type, String name) {
this.type = type;
this.name = name;
}
}

1383
sql/gzgl.sql Normal file

File diff suppressed because one or more lines are too long