fix: 分切业务修改

This commit is contained in:
2024-03-04 18:08:34 +08:00
parent 2586cb6405
commit 317f6a848f
16 changed files with 162 additions and 23 deletions

View File

@@ -59,4 +59,11 @@ public interface IBstIvtShafttubeivtService extends IService<BstIvtShafttubeivt>
* @return
*/
BstIvtShafttubeivt getByPointCode(String point, boolean flag);
/**
* 获得气胀轴库对应的气涨轴位置
* @param qzzSize
* @return
*/
List<BstIvtShafttubeivt> getByQzzSize(String qzzSize);
}

View File

@@ -12,4 +12,6 @@ import java.util.List;
public interface BstIvtShafttubeivtMapper extends BaseMapper<BstIvtShafttubeivt> {
List<BstIvtShafttubeivt> getAllShaftPointsByConditions(String type, String location, String have);
List<BstIvtShafttubeivt> getByQzzSize(String qzzSize);
}

View File

@@ -13,4 +13,11 @@
SELECT COUNT(*) FROM sch_base_task t WHERE t.task_status <![CDATA[ < ]]> '07' AND t.point_code2 = bst.point_code
)
</select>
<select id="getByQzzSize" resultType="org.nl.b_lms.bst.ivt.shafttubeivt.service.dao.BstIvtShafttubeivt">
SELECT
*
FROM
`bst_ivt_shafttubeivt` bsf
WHERE bsf.is_used = '1' AND bsf.qzz_size = #{qzzSize} AND bsf.point_type = '1'
</select>
</mapper>

View File

@@ -106,4 +106,9 @@ public class BstIvtShafttubeivtServiceImpl extends ServiceImpl<BstIvtShafttubeiv
return bstIvtShafttubeivtMapper.selectOne(lam);
}
@Override
public List<BstIvtShafttubeivt> getByQzzSize(String qzzSize) {
return bstIvtShafttubeivtMapper.getByQzzSize(qzzSize);
}
}

View File

@@ -182,7 +182,7 @@ public class TrussCallAirShaftTask extends AbstractAcsTask {
task.setPriority(priority_jo.getString("value"));
}
taskService.save(task);
// this.immediateNotifyAcs(null);
this.immediateNotifyAcs(null);
return task.getTask_id();
}

View File

@@ -2,6 +2,7 @@ package org.nl.b_lms.sch.tasks.slitter.auto;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import lombok.extern.slf4j.Slf4j;
@@ -17,6 +18,8 @@ import org.nl.b_lms.sch.tasks.slitter.TrussCallAirShaftTask;
import org.nl.b_lms.sch.tasks.slitter.mapper.dto.SlitterPlanDistinctDto;
import org.nl.common.utils.SecurityUtils;
import org.nl.common.utils.TaskUtils;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.wms.ext.acs.service.WmsToAcsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -43,6 +46,8 @@ public class AutoCallAirShaftTask {
private IschBaseTaskService taskService;
@Autowired
private TrussCallAirShaftTask trussCallAirShaftTask;
@Autowired
private WmsToAcsService wmsToAcsService;
@Transactional(rollbackFor = Exception.class)
public void run() {
@@ -79,8 +84,8 @@ public class AutoCallAirShaftTask {
// 从套轴对接位获取相同气涨轴大小
List<BstIvtCutpointivt> qzzPoint = bcutpointivtService.getPointByTypeAndShaftSize("1", qzzSize);
if (qzzPoint.size() == 0) {
// todo 调用ACS滚条气涨轴下来
// 调用ACS滚条气涨轴下来
toAcsOutShaft(qzzSize);
// 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划
saveCutPlanMessage(empty, needPlans, qzzSize);
return;
@@ -89,8 +94,8 @@ public class AutoCallAirShaftTask {
BstIvtCutpointivt startPoint = qzzPoint.stream().filter(point -> checkHaveTask(point)).findFirst().orElse(null);
if (ObjectUtil.isEmpty(startPoint)) {
// 如果不存在,则发起信号滚气涨轴
// todo 调用ACS滚条气涨轴下来
// 调用ACS滚条气涨轴下来
toAcsOutShaft(qzzSize);
// 保存所需要的分切计划数据到点位上(套轴对接位)更新分切计划
saveCutPlanMessage(empty, needPlans, qzzSize);
return;
@@ -127,6 +132,22 @@ public class AutoCallAirShaftTask {
});
}
private void toAcsOutShaft(String qzzSize) {
List<BstIvtShafttubeivt> shafttubeivts = bstIvtShafttubeivtService.getByQzzSize(qzzSize);
if (shafttubeivts.size() == 0) {
throw new BadRequestException("气胀轴库找不到[" + qzzSize + "]规格的气涨轴");
}
BstIvtShafttubeivt shafttubeivt = shafttubeivts.get(0);
JSONArray acsParam = new JSONArray();
JSONObject acsQzz = new JSONObject();
acsQzz.put("device_code", shafttubeivt.getPoint_code());
acsQzz.put("code", "to_command");
acsQzz.put("value", "1");
acsQzz.put("product_area", "Test");
acsParam.add(acsQzz);
wmsToAcsService.action(acsParam);
}
private void saveCutPlanMessage(BstIvtShafttubeivt empty, List<PdmBiSlittingproductionplan> needPlans, String qzzSize) {
empty.setHave_qzz("1");
empty.setQzz_size(qzzSize);

View File

@@ -33,6 +33,9 @@ public class SlitterController {
@PostMapping("/test1")
@Log("1111")
public ResponseEntity<Object> create(@RequestBody JSONObject entity){
if ("1".equals(entity.getString("type"))) {
return new ResponseEntity<>(slitterService.acsRequestShaftPluckTube(entity), HttpStatus.CREATED);
}
return new ResponseEntity<>(slitterService.acsRequestShaftPluckTube(entity), HttpStatus.CREATED);
}
@PostMapping("/test2")

View File

@@ -66,6 +66,7 @@ public class SlitterServiceImpl implements SlitterService {
JSONObject res = new JSONObject();
JSONObject con = new JSONObject();
String deviceCode = param.getString("device_code");
String size = param.getString("size");
BstIvtShafttubeivt point = shafttubeivtService.getByPointCode(deviceCode, false);
res.put("code", HttpStatus.HTTP_OK);
res.put("device_code", deviceCode);

View File

@@ -6,6 +6,7 @@ import org.nl.common.domain.vo.MenuVo;
import org.nl.system.service.menu.dao.SysMenu;
import org.nl.system.service.menu.dto.MenuDto;
import org.nl.system.service.menu.dto.MenuQuery;
import org.springframework.http.ResponseEntity;
import java.util.List;
import java.util.Map;
@@ -166,4 +167,5 @@ public interface ISysMenuService extends IService<SysMenu> {
*/
List<Map> getMenusByRole(String roleId, String systemType, String category);
Map<String, Object> queryAuthority(Map<String, String> param);
}

View File

@@ -1,5 +1,7 @@
package org.nl.system.service.menu.dao.mapper;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
@@ -60,4 +62,6 @@ public interface SysMenuMapper extends BaseMapper<SysMenu> {
List<Map> getMenusByRole(@Param("systemType") String systemType, @Param("category") String category);
String findAllChild(String pid);
JSONArray queryPdaAuthority(String accountId, String component, String pid);
}

View File

@@ -91,4 +91,40 @@
(select @p := #{pid}) t2) t3
where childId != '0'
</select>
<select id="queryPdaAuthority" resultType="com.alibaba.fastjson.JSONObject">
SELECT
max( sys_user.user_id )as accountId,
max( sys_user.username ) as username,
max( sys_roles_menus.menu_id ) as menu_id,
max( sys_menu.component ) as component,
max( sys_menu.path ) as path,
max( sys_menu.`name` ) as name
FROM
sys_user AS sys_user
LEFT JOIN sys_users_roles AS sys_users_roles ON sys_users_roles.user_id = sys_user.user_id
LEFT JOIN sys_role AS sys_role ON sys_role.role_id = sys_users_roles.role_id
LEFT JOIN sys_roles_menus AS sys_roles_menus ON sys_roles_menus.role_id = sys_role.role_id
LEFT JOIN sys_menu AS sys_menu ON sys_menu.menu_id = sys_roles_menus.menu_id
WHERE
sys_menu.path LIKE 'RF%'
and sys_menu.is_pc='0'
AND sys_menu.hidden = 0
<if test="accountId != null">
AND sys_user.user_id = #{accountId}
</if>
<if test="component != null">
AND sys_menu.component = #{component}
</if>
<if test="pid != null">
AND sys_menu.pid = #{pid}
</if>
GROUP BY
sys_menu.menu_id,
sys_menu.title,
sys_menu.component,
sys_menu.path,
sys_menu.NAME,
sys_menu.menu_sort
ORDER BY sys_menu.menu_sort
</select>
</mapper>

View File

@@ -3,6 +3,8 @@ package org.nl.system.service.menu.impl;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -458,4 +460,35 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
baseMapper.getMenusByRole(systemType, category);
return null;
}
@Override
public Map<String, Object> queryAuthority(Map<String, String> param) {
String accountId = SecurityUtils.getCurrentUserId();
JSONObject returnjo = new JSONObject();
if (StrUtil.isEmpty(accountId)) {
returnjo.put("code", "0");
returnjo.put("desc", "用户id不能为空");
returnjo.put("result", new JSONArray());
}
//查询一级
JSONArray pa = baseMapper.queryPdaAuthority(accountId, "0", null);
JSONObject result = pa.getJSONObject(0);
//查询二级
JSONArray SecondResults = baseMapper.queryPdaAuthority(accountId, "1", null);
//查询三级
JSONArray roleTree = new JSONArray();
for (int i = 0; i < SecondResults.size(); i++) {
JSONObject row = SecondResults.getJSONObject(i);
String menu_id = row.getString("menu_id");
JSONArray ThirdResults = baseMapper.queryPdaAuthority(accountId, "1", menu_id);
row.put("sonTree", ThirdResults);
roleTree.add(row);
}
result.put("sonTree", roleTree);
returnjo.put("code", "1");
returnjo.put("desc", "查询成功!");
returnjo.put("result", result);
return returnjo;
}
}

View File

@@ -32,7 +32,6 @@ public class WmsToAcsController {
@PostMapping
@Log(value = "WMS给ACS发送任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> issueTaskToAcs(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.issueTaskToAcs(arr), HttpStatus.OK);
@@ -40,7 +39,6 @@ public class WmsToAcsController {
@PostMapping("/cancel")
@Log(value = "WMS主动取消ACS任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> cancelToAcs(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.cancelToAcs(arr), HttpStatus.OK);
@@ -48,7 +46,6 @@ public class WmsToAcsController {
@PostMapping("/updatePointStatus")
@Log(value = "WMS更新ACS点位状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> updatePointStatus(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.updatePointStatus(arr), HttpStatus.OK);
@@ -56,7 +53,6 @@ public class WmsToAcsController {
@PostMapping("/order")
@Log(value = "WMS开工向acs下发工单", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> startWork(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.order(arr), HttpStatus.OK);
@@ -64,7 +60,6 @@ public class WmsToAcsController {
@PostMapping("/orderStatusUpdate")
@Log(value = "WMS向acs发送强制完成", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> orderStatusUpdate(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.orderStatusUpdate(arr), HttpStatus.OK);
@@ -72,7 +67,6 @@ public class WmsToAcsController {
@PostMapping("/querydevice")
@Log(value = "WMS向acs发送获取点位状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> getPointStatus(@RequestBody JSONArray whereJson) {
return new ResponseEntity<>(wmsToAcsService.getPointStatus(whereJson), HttpStatus.OK);
}
@@ -80,7 +74,6 @@ public class WmsToAcsController {
@PostMapping("/updateTask")
@Log(value = "WMS向acs发送更新任务状态", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> updateTask(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.updateTask(arr), HttpStatus.OK);
@@ -88,7 +81,6 @@ public class WmsToAcsController {
@PostMapping("/action")
@Log(value = "给ACS下发修改PLC的值", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> action(@RequestBody Map whereJson) {
JSONArray arr = JSONArray.parseArray(JSON.toJSONString(whereJson.get("data")));
return new ResponseEntity<>(wmsToAcsService.updateTask(arr), HttpStatus.OK);
@@ -96,49 +88,42 @@ public class WmsToAcsController {
@PostMapping("/putPlusPullAction")
@Log(value = "给ACS下发修改PLC的值", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> putPlusPullAction(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.putPlusPullAction(jo), HttpStatus.OK);
}
@PostMapping("/unLock")
@Log(value = "给ACS下发修立库点位解锁", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> unLock(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.unLock(jo), HttpStatus.OK);
}
@PostMapping("/queryDeviceInfo")
@Log(value = "LMS向acs请求设备信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> queryDeviceInfo(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.queryDeviceInfo(jo), HttpStatus.OK);
}
@PostMapping("/sendAgvChargeTask")
@Log(value = "LMS下发AGV充电任务", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> sendAgvChargeTask(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.sendAgvChargeTask(jo), HttpStatus.OK);
}
@PostMapping("/syncfaultInfo")
@Log(value = "LMS同步ACS报警码信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> syncfaultInfo() {
return new ResponseEntity<>(wmsToAcsService.syncfaultInfo(), HttpStatus.OK);
}
@PostMapping("/realTimefaultInfo")
@Log(value = "LMS查看ACS实时报警信息", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> realTimefaultInfo(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.realTimefaultInfo(jo), HttpStatus.OK);
}
@PostMapping("/PaperTubeAction")
@Log(value = "LMS下发纸管库指令", isInterfaceLog = true, interfaceLogType = InterfaceLogType.LMS_TO_ACS)
public ResponseEntity<Object> PaperTubeAction(@RequestBody JSONObject jo) {
return new ResponseEntity<>(wmsToAcsService.PaperTubeAction(jo), HttpStatus.OK);
}

View File

@@ -0,0 +1,33 @@
package org.nl.wms.pda.authorization.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import lombok.extern.slf4j.Slf4j;
import org.nl.system.service.menu.ISysMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Map;
/**
* @Author: lyd
* @Description: 手持鉴权
* @Date: 2023/7/31
*/
@Slf4j
@RestController
@RequestMapping("/api/pda")
public class AuthorizationsController {
@Autowired
private ISysMenuService menuService;
@PostMapping(value = "/authority")
@SaIgnore
public ResponseEntity<Object> queryAuthority(@RequestBody Map<String, String> param) {
return new ResponseEntity<>(menuService.queryAuthority(param), HttpStatus.OK);
}
}

View File

@@ -44,8 +44,7 @@ public class AcsUtil {
if (StrUtil.isEmpty(product_area)) {
throw new BadRequestException("区域不能为空!下发信息:" + jo.toString());
}
//String acs_url = URLEnum.find(product_area);
String acs_url = "http://192.168.81.65:8011/";
String acs_url = URLEnum.find(product_area);
if (StrUtil.isEmpty(acs_url)) {
log.info(product_area);
throw new BadRequestException("未查询到区域对应的acs地址");

View File

@@ -15,7 +15,8 @@ public enum URLEnum {
ACS_URL_A2("A2", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_A2").getValue()),
ACS_URL_A3("A3", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_A3").getValue()),
ACS_URL_A4("A4", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_A4").getValue()),
ACS_URL_LK("LK", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_LK").getValue());
ACS_URL_LK("LK", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_LK").getValue()),
ACS_URL_Test("Test", () -> SpringContextHolder.getBean(SysParamServiceImpl.class).findByCode("ACS_URL_Test").getValue());
private final String product_area;