密炼机动作维护、日罐物料对应信息、密炼机条件维护、生产订单、金蝶对接配置

This commit is contained in:
2026-05-22 12:04:46 +08:00
parent 874e513c90
commit 467c49f432
30 changed files with 1509 additions and 5 deletions

View File

@@ -31,6 +31,8 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import jakarta.servlet.http.HttpServletRequest;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -61,7 +63,7 @@ public class ThirdAppController {
*/
@GetMapping("/getEnabledType")
public Result getEnabledType() {
Map<String, Boolean> enabledMap = new HashMap(5);
Map<String, Boolean> enabledMap = new HashMap<>(5);
int tenantId;
//是否开启系统管理模块的多租户数据隔离【SAAS多租户模式】
if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) {
@@ -75,6 +77,8 @@ public class ThirdAppController {
boolean dingConfig = false;
//企业微信是否已配置
boolean qywxConfig = false;
//金蝶是否已配置
boolean kingdeeConfig = false;
if(null != list && list.size()>0){
for (SysThirdAppConfig config:list) {
if(MessageTypeEnum.DD.getType().equals(config.getThirdType())){
@@ -85,10 +89,14 @@ public class ThirdAppController {
qywxConfig = true;
continue;
}
if("kingdee".equals(config.getThirdType())){
kingdeeConfig = true;
}
}
}
enabledMap.put("wechatEnterprise", qywxConfig);
enabledMap.put("dingtalk", dingConfig);
enabledMap.put("kingdee", kingdeeConfig);
return Result.OK(enabledMap);
}
@@ -473,6 +481,59 @@ public class ThirdAppController {
return result;
}
/**
* 测试金蝶配置连通性
*/
@GetMapping("/testKingdeeConnect")
public Result<String> testKingdeeConnect(@RequestParam(name = "tenantId", required = false) Integer tenantId) {
if (MybatisPlusSaasConfig.OPEN_SYSTEM_TENANT_CONTROL) {
if (tenantId == null) {
return Result.error("开启多租户模式租户ID参数不允许为空");
}
} else if (tenantId == null) {
tenantId = oConvertUtils.getInt(TenantContext.getTenant(), 0);
}
SysThirdAppConfig config = appConfigService.getThirdConfigByThirdType(tenantId, "kingdee");
if (config == null) {
return Result.error("金蝶尚未配置,请先完成配置");
}
String rawUrl = config.getCorpId();
if (oConvertUtils.isEmpty(rawUrl)) {
return Result.error("金蝶服务地址为空,请先维护服务地址");
}
String endpoint = normalizeUrl(rawUrl);
HttpURLConnection conn = null;
try {
URL url = new URL(endpoint);
conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
conn.setReadTimeout(5000);
conn.setUseCaches(false);
int code = conn.getResponseCode();
if (code >= 200 && code < 400) {
return Result.OK("连接成功HTTP状态码" + code);
}
return Result.error("连接失败HTTP状态码" + code);
} catch (Exception e) {
log.error("金蝶连通性测试失败", e);
return Result.error("连接失败:" + e.getMessage());
} finally {
if (conn != null) {
conn.disconnect();
}
}
}
private String normalizeUrl(String rawUrl) {
String url = rawUrl == null ? "" : rawUrl.trim();
if (!url.startsWith("http://") && !url.startsWith("https://")) {
url = "http://" + url;
}
return url;
}
/**
* 同步【钉钉】[部门和用户]到本地
*

View File

@@ -0,0 +1,18 @@
-- MES 密炼机条件维护
CREATE TABLE IF NOT EXISTS `mes_xsl_mixer_condition` (
`id` varchar(32) NOT NULL COMMENT '主键',
`equipment_id` varchar(32) NOT NULL COMMENT '设备台账IDmes_xsl_equipment_ledger.id',
`equipment_name` varchar(500) NOT NULL COMMENT '设备名称冗余',
`condition_name` varchar(500) NOT NULL COMMENT '条件名称',
`condition_code` varchar(500) NOT NULL COMMENT '条件代码',
`remark` varchar(1000) DEFAULT NULL COMMENT '备注',
`tenant_id` int DEFAULT NULL COMMENT '租户',
`sys_org_code` varchar(500) DEFAULT NULL COMMENT '部门',
`create_by` varchar(500) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(500) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` int DEFAULT '0' COMMENT '删除标记0正常1删除',
PRIMARY KEY (`id`),
KEY `idx_mxmc_equipment` (`equipment_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES密炼机条件维护';

View File

@@ -0,0 +1,24 @@
-- MES 生产订单
CREATE TABLE IF NOT EXISTS `mes_xsl_production_order` (
`id` varchar(32) NOT NULL COMMENT '主键',
`sales_order_no` varchar(500) DEFAULT NULL COMMENT '销售订单号',
`production_order_no` varchar(500) DEFAULT NULL COMMENT '生产订单号',
`order_date` date DEFAULT NULL COMMENT '订单日期',
`production_workshop` varchar(500) DEFAULT NULL COMMENT '生产车间',
`process_segment_count` int DEFAULT NULL COMMENT '加工段数',
`material_code` varchar(500) DEFAULT NULL COMMENT '物料编号',
`mes_material_name` varchar(500) DEFAULT NULL COMMENT 'MES胶料名称',
`kingdee_material_name` varchar(500) DEFAULT NULL COMMENT '金蝶物料名称',
`kingdee_material_spec` varchar(500) DEFAULT NULL COMMENT '金蝶物料规格',
`plan_qty` decimal(18,4) DEFAULT NULL COMMENT '计划数量',
`split_status` int DEFAULT 0 COMMENT '拆分状态0未拆分 1已拆分',
`tenant_id` int DEFAULT NULL COMMENT '租户',
`sys_org_code` varchar(500) DEFAULT NULL COMMENT '部门',
`create_by` varchar(500) DEFAULT NULL COMMENT '创建人',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(500) DEFAULT NULL COMMENT '更新人',
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
`del_flag` int DEFAULT '0' COMMENT '删除标记0正常1删除',
PRIMARY KEY (`id`),
KEY `idx_mxpo_production_order_no` (`production_order_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='MES生产订单';