# Conflicts: # doc/sql/mes/increase-260120.sqldevelop-QA
commit
54c20120f0
91 changed files with 2222 additions and 680 deletions
@ -0,0 +1,28 @@ |
||||
package org.springblade.job.processor.device; |
||||
|
||||
import jakarta.annotation.Resource; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.device.feign.IotEquipmentTaskClient; |
||||
import org.springblade.desk.quality.feign.ILquidTankTaskClient; |
||||
import org.springframework.stereotype.Component; |
||||
import tech.powerjob.worker.core.processor.ProcessResult; |
||||
import tech.powerjob.worker.core.processor.TaskContext; |
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; |
||||
import tech.powerjob.worker.log.OmsLogger; |
||||
|
||||
/** |
||||
* 同步设备数据任务 |
||||
*/ |
||||
@Component |
||||
@Slf4j |
||||
public class IotEquipmentProcessor implements BasicProcessor { |
||||
|
||||
@Resource |
||||
private IotEquipmentTaskClient iotEquipmentTaskClient; |
||||
|
||||
@Override |
||||
public ProcessResult process(TaskContext context) throws Exception { |
||||
iotEquipmentTaskClient.synchronizeEquipmentTask(); |
||||
return new ProcessResult(true); |
||||
} |
||||
} |
||||
@ -1,25 +1,26 @@ |
||||
package org.springblade.job.processor.quality; |
||||
package org.springblade.job.processor.device; |
||||
|
||||
import jakarta.annotation.Resource; |
||||
import lombok.Data; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.quality.feign.ICycleTestTaskClient; |
||||
import org.springblade.desk.device.feign.IotEquipmentTaskClient; |
||||
import org.springframework.stereotype.Component; |
||||
import tech.powerjob.worker.core.processor.ProcessResult; |
||||
import tech.powerjob.worker.core.processor.TaskContext; |
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; |
||||
|
||||
/** |
||||
* 同步飞靶数据任务 |
||||
*/ |
||||
@Component |
||||
@Data |
||||
@Slf4j |
||||
public class CycleTestTaskGenOneTimeProcessor implements BasicProcessor { |
||||
public class IotFeiBaProcessor implements BasicProcessor { |
||||
|
||||
@Resource |
||||
private ICycleTestTaskClient client; |
||||
private IotEquipmentTaskClient iotEquipmentTaskClient; |
||||
|
||||
@Override |
||||
public ProcessResult process(TaskContext context) throws Exception { |
||||
client.generateOneTime(); |
||||
iotEquipmentTaskClient.synchronizeFeibaTask(); |
||||
return new ProcessResult(true); |
||||
} |
||||
} |
||||
@ -0,0 +1,26 @@ |
||||
package org.springblade.job.processor.device; |
||||
|
||||
import jakarta.annotation.Resource; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.device.feign.IotEquipmentTaskClient; |
||||
import org.springframework.stereotype.Component; |
||||
import tech.powerjob.worker.core.processor.ProcessResult; |
||||
import tech.powerjob.worker.core.processor.TaskContext; |
||||
import tech.powerjob.worker.core.processor.sdk.BasicProcessor; |
||||
|
||||
/** |
||||
* 同步记录仪记录数据任务 |
||||
*/ |
||||
@Component |
||||
@Slf4j |
||||
public class IotRecorderProcessor implements BasicProcessor { |
||||
|
||||
@Resource |
||||
private IotEquipmentTaskClient iotEquipmentTaskClient; |
||||
|
||||
@Override |
||||
public ProcessResult process(TaskContext context) throws Exception { |
||||
iotEquipmentTaskClient.synchronizeRecorderTask(); |
||||
return new ProcessResult(true); |
||||
} |
||||
} |
||||
@ -0,0 +1,17 @@ |
||||
package org.springblade.desk.basic.constant; |
||||
|
||||
public interface FormulaAviatorConst { |
||||
|
||||
/** |
||||
* 添加点 |
||||
*/ |
||||
String ADD = "add"; |
||||
/** |
||||
* 测量值 |
||||
*/ |
||||
String TEST = "test"; |
||||
/** |
||||
* 体积 |
||||
*/ |
||||
String VOL = "vol"; |
||||
} |
||||
@ -0,0 +1,42 @@ |
||||
package org.springblade.desk.device.feign; |
||||
|
||||
import org.springblade.core.launch.constant.AppConstant; |
||||
import org.springframework.cloud.openfeign.FeignClient; |
||||
import org.springframework.web.bind.annotation.GetMapping; |
||||
|
||||
@FeignClient( |
||||
value = AppConstant.APPLICATION_DESK_NAME |
||||
) |
||||
/** |
||||
* 同步IOT设备相关信息 |
||||
*/ |
||||
public interface IotEquipmentTaskClient { |
||||
|
||||
String API_PREFIX = "/feign/device/iot-task"; |
||||
|
||||
String SYNCHRONIZE_EQUIPMENT_TASK = API_PREFIX + "/synchronize-equipment-task"; |
||||
|
||||
String SYNCHRONIZE_FEIBA_TASK = API_PREFIX + "/synchronize-feiba-task"; |
||||
|
||||
String SYNCHRONIZE_RECORDER_TASK = API_PREFIX + "/synchronize-recorder-task"; |
||||
|
||||
|
||||
/** |
||||
* 同步设备数据 |
||||
*/ |
||||
@GetMapping(SYNCHRONIZE_EQUIPMENT_TASK) |
||||
void synchronizeEquipmentTask(); |
||||
|
||||
/** |
||||
* 同步飞靶数据 |
||||
*/ |
||||
@GetMapping(SYNCHRONIZE_FEIBA_TASK) |
||||
void synchronizeFeibaTask(); |
||||
|
||||
/** |
||||
* 同步记录仪记录数据 |
||||
*/ |
||||
@GetMapping(SYNCHRONIZE_RECORDER_TASK) |
||||
void synchronizeRecorderTask(); |
||||
|
||||
} |
||||
@ -0,0 +1,14 @@ |
||||
package org.springblade.desk.quality.pojo.request; |
||||
|
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.ToString; |
||||
import org.springblade.desk.quality.pojo.entity.CycleTest; |
||||
import org.springblade.desk.quality.pojo.vo.CycleTestVO; |
||||
|
||||
@Data |
||||
@EqualsAndHashCode(callSuper = true) |
||||
@ToString(callSuper = true) |
||||
public class CycleTestSearch extends CycleTestVO { |
||||
|
||||
} |
||||
@ -0,0 +1,31 @@ |
||||
/** |
||||
* Author: Tom Shuo |
||||
*/ |
||||
package org.springblade.desk.quality.pojo.vo; |
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import org.springblade.desk.quality.pojo.entity.LiquidTankReport; |
||||
import org.springblade.desk.quality.pojo.entity.LiquidTankTaskCopy; |
||||
|
||||
import java.io.Serial; |
||||
import java.util.List; |
||||
|
||||
/** |
||||
* [槽液报告] 视图实体类 |
||||
* |
||||
* @author Tom Shuo |
||||
* @since 2025-12-18 |
||||
*/ |
||||
@Data |
||||
@EqualsAndHashCode(callSuper = true) |
||||
public class LiquidTankReportDetailVO extends LiquidTankReport { |
||||
@Serial |
||||
private static final long serialVersionUID = 1L; |
||||
|
||||
@Schema(description = "维护人") |
||||
private String updateUserRealName; |
||||
@Schema(description = "复制槽液任务列表") |
||||
private List<LiquidTankTaskCopyVO> copyList; |
||||
} |
||||
@ -1,11 +1,75 @@ |
||||
package org.springblade.erpdata.pojo.dto.table; |
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* 对应ERP中表 t_prtmsg |
||||
* |
||||
* @author lqk |
||||
* @date 2026-01-16 17:32 |
||||
*/ |
||||
@Data |
||||
public class Prtmsg { |
||||
|
||||
private String prtarea; //面积
|
||||
|
||||
private String prtsize; //尺寸
|
||||
|
||||
private String prtmeterial; //材料
|
||||
|
||||
private String remark; //备注
|
||||
|
||||
private String hangflag; //是否挂件0--否,1--是
|
||||
|
||||
private String thofpla; //插针面积
|
||||
|
||||
private String kdofplat; //镀种
|
||||
|
||||
private String filecode; //文件号
|
||||
|
||||
private String excsttdate; //下发日期
|
||||
|
||||
private String excenddate; //有效截至日期
|
||||
|
||||
private String rigidity; //有效日期
|
||||
|
||||
private String dorules; //标记要求
|
||||
|
||||
private String cfmflag; //审核标记 0 未审核,1已审核
|
||||
|
||||
private String cmsign; //标记要求
|
||||
|
||||
private String cfmname; //审核人
|
||||
|
||||
private String cfmdate; //审核日期
|
||||
|
||||
private String chgname; //更改人
|
||||
|
||||
private String chgdate; //更改时间
|
||||
|
||||
private String zlxx; //质量信息
|
||||
|
||||
private String seqrunhr; //工时
|
||||
|
||||
private String mtntype; //维护类型:1-正常,2-虚拟零件
|
||||
|
||||
private String height; //厚度
|
||||
|
||||
private String sdnumber; //色带
|
||||
|
||||
private String sbnumber; //色标
|
||||
|
||||
private String ispaint; //是否油漆0,否,1,是
|
||||
|
||||
private String jtnumber; //箭头
|
||||
|
||||
private String mtlspcf; //规格
|
||||
|
||||
private String istrialkey; //是否试键位:0,否;1,是
|
||||
|
||||
private String iscs; //是否吹沙:0,否;1,是
|
||||
|
||||
private String seqrunhrsj; //烧结装配工时
|
||||
|
||||
private String isyz; //是否印字:0,否;1,是
|
||||
} |
||||
|
||||
@ -1,10 +1,173 @@ |
||||
package org.springblade.erpdata.pojo.dto.table; |
||||
|
||||
import lombok.Data; |
||||
|
||||
/** |
||||
* 对应ERP中表 t_wo |
||||
* |
||||
* @author lqk |
||||
* @date 2026-01-16 17:32 |
||||
*/ |
||||
@Data |
||||
public class Wo { |
||||
|
||||
private String wono; //工作订单
|
||||
|
||||
private String splcode; //批次号
|
||||
|
||||
private String plnsign; //计划标记
|
||||
|
||||
private String qstsign; //实际质量等级
|
||||
|
||||
private String invadjcode; //入库单号
|
||||
|
||||
private String prtmdept; //主制车间号
|
||||
|
||||
private String prtudept; //使用车间号
|
||||
|
||||
private String prtno; //物料号
|
||||
|
||||
private String pkno; //配料单号
|
||||
|
||||
private String woreqdat; //wo需求日期
|
||||
|
||||
private String wopordat; //wo下达日期
|
||||
|
||||
private String woporqty; //wo需求数量
|
||||
|
||||
private String wototqty; //累计完成数量
|
||||
|
||||
private String pkflag; //生成配料单标志: ''0'' ''配料 , ''1''未配料
|
||||
|
||||
private String wosttdat; //wo实际开工日期
|
||||
|
||||
private String worelstat; //wo下达状态: ''0'' 未下达 ''1'' 已正常下达
|
||||
|
||||
private String woexcstat; //wo执行状态 ''0'' 执行中,''1''正常完成,''2''欠交完成,''3''超量完成,''4''未执行,''5''脱期完成
|
||||
|
||||
private String woclsdat; //wo关闭日期
|
||||
|
||||
private String wodueqty; //wo交付数量
|
||||
|
||||
private String woboqty; //毛需求数量
|
||||
|
||||
private String prtltstat; //提前期状态码: ''0''未检查提前期,''1''满足,''2''不满足
|
||||
|
||||
private String sprtstat; //子件可用状态码, ''0''未检查,''1''满足,''2''不满足
|
||||
|
||||
private String wotosoil; //车间生成订单so标志: ''0'' 未生成,''1''已生成
|
||||
|
||||
private String woenddat; //wo实际完工日期
|
||||
|
||||
private String mono; //制造订单号
|
||||
|
||||
private String wotopur; //wo生成采购需求计划标记 ''0'' 未生成,''1'' 已生成
|
||||
|
||||
private String wotoschdl; //wo生成工序作业单标记 ''0'' 未生成,''1''已生成
|
||||
|
||||
private String schdrelstat; //工序作业单下达标记 ''0'' 未下达,''1'' 已下达
|
||||
|
||||
private String schdrelname; //工序作业单下达标记
|
||||
|
||||
private String schdreldate; //工序作业单下达日期
|
||||
|
||||
private String itemno; //项目代码
|
||||
|
||||
private String prtlotno; //等级
|
||||
|
||||
private String prt_mask; //外协分派标记,0未分派1未分完2已分完
|
||||
|
||||
private String invstat; //入库状态 ''0''未入库 ''1''已入库(市场使用)2a毛坯状态1不需要毛坯
|
||||
|
||||
private String prtwkccode; //工作中心代码
|
||||
|
||||
private String assino; //工作定单满足计算标记,0-未计算,1-已计算
|
||||
|
||||
private String remark; //备注
|
||||
|
||||
private String mtltmrk; //型号
|
||||
|
||||
private String planner; //计划员码
|
||||
|
||||
private String chksign; //审核标记 ''0''未审核,''1'' 正式,‘2’临时,‘3’待定,‘4’无图,‘5’有存档工艺,无需晒图 ,‘6’有存档工艺,需晒图 。‘7’需要输入erp信息 ,‘8’生产计划有误 ,‘9’有正式需下临时,不晒图
|
||||
|
||||
private String chkman; //审核人
|
||||
|
||||
private String chkdate; //审核日期
|
||||
|
||||
private String woclsman; //工作订单完工人
|
||||
|
||||
private String chqty; //累计领取数
|
||||
|
||||
private String prtreqflag; //物料需求上报状态
|
||||
|
||||
private String wopowerstatus; //外协计划能力平衡:0未平衡,1正常下达,2超量未下达,3超量下达
|
||||
|
||||
private String powerremark; //外协能力平衡结果
|
||||
|
||||
private String lackreason; //清欠原因分析,0-尚待确定,1-技术问题,2-报废返修,3-物资采购,4-成件采购,5-生产组织
|
||||
|
||||
private String planbedat; //预计开工日期:在下达工作订单时计算,约定‘1111’年份未不满足开工条件
|
||||
|
||||
private String planendat; //预计完工日期:在工序作业单生成时计算
|
||||
|
||||
private String plndept; //计划部门
|
||||
|
||||
private String usedept; //使用部门
|
||||
|
||||
private String woaddqty; //加工余量
|
||||
|
||||
private String woplanner; //调度员
|
||||
|
||||
private String plnarea; //计划加工厂区(0--未定义 1--新区 2--本部)
|
||||
|
||||
private String wxduedat; //外协加工实际完成日期
|
||||
|
||||
private String plntype; //计划类型
|
||||
|
||||
private String shplnflag; //送货计划标记
|
||||
|
||||
private String ycckflag; //异常审核标记1、无需审核2、需要审核未审核3、需要审核已审核
|
||||
|
||||
private String ycckman; //异常审核人
|
||||
|
||||
private String ycckdat; //异常审核日期
|
||||
|
||||
private String shdate; //送货时间
|
||||
|
||||
private String cfmflag; //机加分厂团队确认标识 0--未确认 1--已确认
|
||||
|
||||
private String pkfxflag; //配套分批放行标识 0-未放行 1-放行
|
||||
|
||||
private String wxplanner; //外协计划员
|
||||
|
||||
private String wxrecdat; //''生产订单接收日期''
|
||||
|
||||
private String cancelqty; //返修报废/取消执行数
|
||||
|
||||
private String cfmdate; //机加分厂记录工作订单分派日期
|
||||
|
||||
private String etlid; //guid,etl使用的唯一性索引列
|
||||
|
||||
private String wochkqty; //抽检数
|
||||
|
||||
private String id; //新系统同步id
|
||||
|
||||
private String dataflag; //新老系统数据标识: 0-老系统,1-新系统
|
||||
|
||||
private String specreq; //特殊要求
|
||||
|
||||
private String wostopstat; //暂停标记:1-暂停,,2-冻结
|
||||
|
||||
private String wostopdat; //暂停日期
|
||||
|
||||
private String wocleanremark; //计划清理备注
|
||||
|
||||
private String wocleanmtnman; //计划清理备注维护人
|
||||
|
||||
private String wocleanmtndate; //计划清理备注维护时间
|
||||
|
||||
private String cuscode; //客户代码
|
||||
|
||||
private String prtmdeptbranch; //主制车间号对应二级中心
|
||||
} |
||||
|
||||
@ -0,0 +1,29 @@ |
||||
package org.springblade.desk.basic.aviator.config; |
||||
|
||||
import com.googlecode.aviator.AviatorEvaluator; |
||||
import com.googlecode.aviator.AviatorEvaluatorInstance; |
||||
import com.googlecode.aviator.Options; |
||||
import org.springframework.context.annotation.Bean; |
||||
import org.springframework.context.annotation.Configuration; |
||||
|
||||
@Configuration |
||||
public class AviatorConfig { |
||||
|
||||
@Bean |
||||
public AviatorEvaluatorInstance aviatorEvaluatorInstance() { |
||||
AviatorEvaluatorInstance instance = AviatorEvaluator.newInstance(); |
||||
// 核心配置项
|
||||
instance.setOption(Options.USE_USER_ENV_AS_TOP_ENV_DIRECTLY, true); // 环境变量透传
|
||||
// instance.setOption(Options.MAX_CACHE_SIZE, 2000); // 表达式缓存大小
|
||||
instance.setOption(Options.TRACE_EVAL, false); // 生产环境关闭追踪
|
||||
|
||||
// JDK17+ 优化配置
|
||||
instance.setOption(Options.OPTIMIZE_LEVEL, AviatorEvaluator.EVAL); // 优化级别
|
||||
// 开启表达式缓存,提升性能
|
||||
instance.setCachedExpressionByDefault(true); |
||||
// 注册自定义函数(如有)
|
||||
// instance.addFunction(new YourCustomFunction());
|
||||
return instance; |
||||
} |
||||
} |
||||
|
||||
@ -0,0 +1,46 @@ |
||||
package org.springblade.desk.basic.aviator.func; |
||||
|
||||
import com.googlecode.aviator.AviatorEvaluatorInstance; |
||||
import com.googlecode.aviator.runtime.function.AbstractFunction; |
||||
import com.googlecode.aviator.runtime.type.AviatorObject; |
||||
import com.googlecode.aviator.runtime.type.AviatorString; |
||||
import jakarta.annotation.Resource; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.ToString; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.beans.factory.InitializingBean; |
||||
import org.springframework.stereotype.Component; |
||||
|
||||
import java.util.Map; |
||||
|
||||
@Component |
||||
@Data |
||||
@AllArgsConstructor |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@ToString(callSuper = false) |
||||
@Slf4j |
||||
public class CustomFunctionRegistry implements InitializingBean { |
||||
|
||||
@Resource |
||||
private AviatorEvaluatorInstance aviatorEvaluator; |
||||
|
||||
@Override |
||||
public void afterPropertiesSet() throws Exception { |
||||
// 注册自定义函数
|
||||
// 此时 aviatorEvaluator 已被注入
|
||||
aviatorEvaluator.addFunction(new AbstractFunction() { |
||||
@Override |
||||
public String getName() { |
||||
return "myCustomFunc"; |
||||
} |
||||
|
||||
@Override |
||||
public AviatorObject call(Map<String, Object> env, AviatorObject arg1) { |
||||
String value = (String) arg1.getValue(env); |
||||
return new AviatorString("自定义结果: " + value); |
||||
} |
||||
}); |
||||
} |
||||
} |
||||
@ -0,0 +1,32 @@ |
||||
package org.springblade.desk.basic.aviator.service; |
||||
|
||||
import com.googlecode.aviator.AviatorEvaluatorInstance; |
||||
import jakarta.annotation.Resource; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.ToString; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
import java.util.Map; |
||||
|
||||
@Service |
||||
@Data |
||||
@AllArgsConstructor |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@ToString(callSuper = false) |
||||
@Slf4j |
||||
public class AviatorService { |
||||
|
||||
@Resource |
||||
private AviatorEvaluatorInstance aviatorEvaluator; |
||||
|
||||
public Object evaluateExpression(String expression, Map<String, Object> variables) { |
||||
try { |
||||
return aviatorEvaluator.execute(expression, variables); |
||||
} catch (Exception e) { |
||||
throw new RuntimeException("表达式执行失败: " + e.getMessage(), e); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,60 @@ |
||||
package org.springblade.desk.basic.controller; |
||||
|
||||
import com.googlecode.aviator.AviatorEvaluatorInstance; |
||||
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
import jakarta.annotation.Resource; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Data; |
||||
import lombok.EqualsAndHashCode; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.basic.aviator.service.AviatorService; |
||||
import org.springblade.desk.basic.constant.BAModuleConst; |
||||
import org.springframework.web.bind.annotation.*; |
||||
|
||||
import java.util.Collections; |
||||
import java.util.Map; |
||||
|
||||
@RestController |
||||
@RequestMapping(BAModuleConst.CONTROLLER_PREFIX + "/Aviator") |
||||
@Data |
||||
@AllArgsConstructor |
||||
@EqualsAndHashCode(callSuper = false) |
||||
@Slf4j |
||||
@Tag(name = "Aviator", description = "Aviator接口") |
||||
public class AviatorController { |
||||
|
||||
@Resource |
||||
private AviatorService aviatorService; |
||||
@Resource |
||||
private AviatorEvaluatorInstance aviatorEvaluator; |
||||
|
||||
/** |
||||
* { |
||||
* "expression": "a + b * (c - d)", |
||||
* "variables": { |
||||
* "a": 5, |
||||
* "b": 2, |
||||
* "c": 10, |
||||
* "d": 3 |
||||
* } |
||||
* } |
||||
* |
||||
* @param request |
||||
* @return |
||||
*/ |
||||
@PostMapping("/evaluate") |
||||
public Object evaluate(@RequestBody Map<String, Object> request) { |
||||
String expression = (String) request.get("expression"); |
||||
Map<String, Object> variables = (Map<String, Object>) request.get("variables"); |
||||
return aviatorService.evaluateExpression(expression, variables); |
||||
} |
||||
|
||||
@GetMapping("/customFunc") |
||||
public Object customFunc() { |
||||
// 直接使用注册的自定义函数
|
||||
return aviatorEvaluator.execute( |
||||
"myCustomFunc('Hello')", |
||||
Collections.emptyMap() |
||||
); |
||||
} |
||||
} |
||||
@ -0,0 +1,39 @@ |
||||
package org.springblade.desk.device.feign; |
||||
|
||||
import io.swagger.v3.oas.annotations.Hidden; |
||||
import jakarta.annotation.Resource; |
||||
import org.springblade.desk.device.service.IEquipmentService; |
||||
import org.springblade.desk.device.service.IFeiBaSetService; |
||||
import org.springblade.desk.device.service.IRecorderService; |
||||
import org.springblade.desk.quality.feign.IIotThicknessClient; |
||||
import org.springblade.desk.quality.service.IotThicknessService2; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
@RestController |
||||
@Hidden |
||||
public class IotEquipmentTaskClientImpl implements IotEquipmentTaskClient { |
||||
|
||||
@Resource |
||||
private IEquipmentService equipmentService; |
||||
|
||||
@Resource |
||||
private IFeiBaSetService feiBaSetService; |
||||
|
||||
@Resource |
||||
private IRecorderService recorderService; |
||||
|
||||
@Override |
||||
public void synchronizeEquipmentTask() { |
||||
equipmentService.regularlyUpdated(); |
||||
} |
||||
|
||||
@Override |
||||
public void synchronizeFeibaTask() { |
||||
feiBaSetService.regularlyUpdated(); |
||||
} |
||||
|
||||
@Override |
||||
public void synchronizeRecorderTask() { |
||||
recorderService.regularlyUpdated(); |
||||
} |
||||
} |
||||
@ -0,0 +1,37 @@ |
||||
/** |
||||
* Author: Tom Shuo |
||||
*/ |
||||
package org.springblade.desk.quality.wrapper; |
||||
|
||||
import org.springblade.core.mp.support.BaseEntityWrapper; |
||||
import org.springblade.core.tool.utils.BeanUtil; |
||||
import org.springblade.desk.quality.pojo.entity.LiquidTankReport; |
||||
import org.springblade.desk.quality.pojo.vo.LiquidTankReportDetailVO; |
||||
import org.springblade.desk.quality.pojo.vo.LiquidTankReportVO; |
||||
|
||||
import java.util.Objects; |
||||
|
||||
/** |
||||
* [槽液报告] 包装类,返回视图层所需的字段 |
||||
* |
||||
* @author Tom Shuo |
||||
* @since 2025-12-18 |
||||
*/ |
||||
public class LiquidTankReportDetailWrapper extends BaseEntityWrapper<LiquidTankReport, LiquidTankReportDetailVO> { |
||||
|
||||
public static LiquidTankReportDetailWrapper build() { |
||||
return new LiquidTankReportDetailWrapper(); |
||||
} |
||||
|
||||
@Override |
||||
public LiquidTankReportDetailVO entityVO(LiquidTankReport liquidTankReport) { |
||||
LiquidTankReportDetailVO VO = Objects.requireNonNull(BeanUtil.copyProperties(liquidTankReport, LiquidTankReportDetailVO.class)); |
||||
|
||||
//User createUser = UserCache.getUser(liquidTankReport.getCreateUser());
|
||||
//User updateUser = UserCache.getUser(liquidTankReport.getUpdateUser());
|
||||
//liquidTankReportVO.setCreateUserName(createUser.getName());
|
||||
//liquidTankReportVO.setUpdateUserName(updateUser.getName());
|
||||
|
||||
return VO; |
||||
} |
||||
} |
||||
@ -0,0 +1,22 @@ |
||||
package org.springblade.erpdata.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.Mapper; |
||||
import org.springblade.erpdata.pojo.dto.view.MesRbPk; |
||||
import org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* Mapper 接口 |
||||
* |
||||
* @author lqk |
||||
*/ |
||||
public interface ErpMesRbPkMapper extends Mapper { |
||||
|
||||
/** |
||||
* 从ERP视图中获取要同步的推进计划转工单 |
||||
* |
||||
* @return |
||||
*/ |
||||
List<MesRbPk> getMesRbPkErpList(); |
||||
} |
||||
@ -0,0 +1,9 @@ |
||||
<?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 = "org.springblade.erpdata.mapper.ErpMesRbPkMapper"> |
||||
|
||||
<select id = "getMesRbPkErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbPk"> |
||||
SELECT * FROM v_mes_rb_pk WHERE is_deleted = 0 |
||||
</select> |
||||
|
||||
</mapper> |
||||
@ -0,0 +1,21 @@ |
||||
package org.springblade.erpdata.mapper; |
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.Mapper; |
||||
import org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg; |
||||
|
||||
import java.util.List; |
||||
|
||||
/** |
||||
* Mapper 接口 |
||||
* |
||||
* @author lqk |
||||
*/ |
||||
public interface ErpMesRbSodelreczgMapper extends Mapper { |
||||
|
||||
/** |
||||
* 从ERP视图中获取要同步的推进计划转工单 |
||||
* |
||||
* @return |
||||
*/ |
||||
List<MesRbSodelreczg> getMesRbSodelreczgErpList(); |
||||
} |
||||
@ -0,0 +1,9 @@ |
||||
<?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 = "org.springblade.erpdata.mapper.ErpMesRbSodelreczgMapper"> |
||||
|
||||
<select id = "getMesRbSodelreczgErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbSodelreczg"> |
||||
SELECT * FROM v_mes_rb_sodelreczg WHERE is_deleted = 0 |
||||
</select> |
||||
|
||||
</mapper> |
||||
@ -1,9 +1,28 @@ |
||||
<?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 = "org.springblade.erpdata.mapper.ErpMesRbWoMapper"> |
||||
|
||||
<!-- 周新昊 20240719 计划游标新增条件工艺路线不应为烧结子件的路线 |
||||
AND a.processline NOT IN (SELECT KEY FROM t_listelement WHERE listname = 'SJZJPROCESSLINE') --> |
||||
<select id = "getYieldPlanErpList" resultType = "org.springblade.erpdata.pojo.dto.view.MesRbWo"> |
||||
SELECT * FROM v_mes_rb_wo WHERE is_deleted = 0 |
||||
SELECT DISTINCT rownum, |
||||
a.wono, |
||||
a.prtno, |
||||
a.prtlotno, |
||||
a.plndept, |
||||
a.woporqty, |
||||
a.woreqdat, |
||||
a.plannerdesc, |
||||
a.wopordat, |
||||
a.remark, |
||||
a.wototqty, |
||||
a.prtmdept, |
||||
a.processline, |
||||
a.warctlrdesc, |
||||
a.kdofplat, |
||||
a.processlinedesc, |
||||
a.prodline |
||||
FROM v_mes_rb_wo |
||||
WHERE rownum <![CDATA[ <= ]]> 2000 |
||||
</select> |
||||
|
||||
</mapper> |
||||
|
||||
@ -0,0 +1,14 @@ |
||||
package org.springblade.erpdata.service; |
||||
|
||||
/** |
||||
* ERP数据查询service |
||||
* |
||||
* @author lqk |
||||
*/ |
||||
public interface IErpMesRbPkService { |
||||
|
||||
/** |
||||
* 同步数据 |
||||
*/ |
||||
void synMesRbPk(); |
||||
} |
||||
@ -0,0 +1,14 @@ |
||||
package org.springblade.erpdata.service; |
||||
|
||||
/** |
||||
* ERP数据查询service |
||||
* |
||||
* @author lqk |
||||
*/ |
||||
public interface IErpMesRbSodelreczgService { |
||||
|
||||
/** |
||||
* 同步数据 |
||||
*/ |
||||
void synMesRbSodelreczg(); |
||||
} |
||||
@ -0,0 +1,27 @@ |
||||
package org.springblade.erpdata.service.impl; |
||||
|
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.order.feign.IApsClient; |
||||
import org.springblade.erpdata.mapper.ErpMesRbPkMapper; |
||||
import org.springblade.erpdata.service.IErpMesRbPkService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @author lqk |
||||
* @date 2025-11-26 9:39 |
||||
*/ |
||||
@Slf4j |
||||
@RequiredArgsConstructor |
||||
@Service |
||||
public class ErpMesRbPkServiceImpl implements IErpMesRbPkService { |
||||
|
||||
private final ErpMesRbPkMapper mesRbPkMapper; |
||||
|
||||
private final IApsClient apsClient; |
||||
|
||||
@Override |
||||
public void synMesRbPk() { |
||||
|
||||
} |
||||
} |
||||
@ -0,0 +1,29 @@ |
||||
package org.springblade.erpdata.service.impl; |
||||
|
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springblade.desk.order.feign.IApsClient; |
||||
import org.springblade.erpdata.mapper.ErpMesRbSodelrecwxMapper; |
||||
import org.springblade.erpdata.mapper.ErpMesRbSodelreczgMapper; |
||||
import org.springblade.erpdata.service.IErpMesRbSodelrecwxService; |
||||
import org.springblade.erpdata.service.IErpMesRbSodelreczgService; |
||||
import org.springframework.stereotype.Service; |
||||
|
||||
/** |
||||
* @author lqk |
||||
* @date 2025-11-26 9:39 |
||||
*/ |
||||
@Slf4j |
||||
@RequiredArgsConstructor |
||||
@Service |
||||
public class ErpMesRbSodelreczgServiceImpl implements IErpMesRbSodelreczgService { |
||||
|
||||
private final ErpMesRbSodelreczgMapper mesRbSodelreczgMapper; |
||||
|
||||
private final IApsClient apsClient; |
||||
|
||||
@Override |
||||
public void synMesRbSodelreczg() { |
||||
|
||||
} |
||||
} |
||||
Loading…
Reference in new issue