psh 12 months ago
parent
commit
9096f100c9
  1. 7
      acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDefination.java
  2. 60
      acs/nladmin-ui/src/views/acs/device/opc/index.vue
  3. 23
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java
  4. 10
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java
  5. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java
  6. 17
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java
  7. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java
  8. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/BPSLTask.java
  9. 2
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/MJXLTask.java
  10. 4
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/TBXBKJTask.java
  11. 10
      lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/ghs/GHSQHTask.java

7
acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/device_driver/basedriver/standard_autodoor/StandardAutodoorDefination.java

@ -55,12 +55,7 @@ public class StandardAutodoorDefination implements OpcDeviceDriverDefination {
} }
public static List<ItemDto> getReadableItemDtos2() { public static List<ItemDto> getReadableItemDtos2() {
List<ItemDto> list = new ArrayList(); return ItemProtocol.getReadableItemDtos();
list.add(new ItemDto(ItemProtocol.item_heartbeat, "心跳", "DB600.B0"));
list.add(new ItemDto(ItemProtocol.item_mode, "工作状态", "DB600.B1", true));
list.add(new ItemDto(ItemProtocol.item_action, "动作信号", "DB600.B2"));
list.add(new ItemDto(ItemProtocol.item_error, "报警信号", "DB600.B4"));
return list;
} }
@Override @Override

60
acs/nladmin-ui/src/views/acs/device/opc/index.vue

@ -14,9 +14,9 @@
class="filter-item" class="filter-item"
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
<rrOperation /> <rrOperation/>
</div> </div>
<crudOperation :permission="permission" /> <crudOperation :permission="permission"/>
<!--表单组件--> <!--表单组件-->
<el-dialog <el-dialog
:close-on-click-modal="false" :close-on-click-modal="false"
@ -27,32 +27,32 @@
> >
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-form-item label="OPC编码" prop="opc_code"> <el-form-item label="OPC编码" prop="opc_code">
<el-input v-model="form.opc_code" style="width: 370px;" /> <el-input v-model="form.opc_code" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="OPC名称" prop="opc_name"> <el-form-item label="OPC名称" prop="opc_name">
<el-input v-model="form.opc_name" style="width: 370px;" /> <el-input v-model="form.opc_name" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="OPC地址"> <el-form-item label="OPC地址">
<el-input v-model="form.opc_host" style="width: 370px;" /> <el-input v-model="form.opc_host" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="用户名"> <el-form-item label="用户名">
<el-input v-model="form.user" style="width: 370px;" /> <el-input v-model="form.user" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="密码" prop="password"> <el-form-item label="密码" prop="password">
<el-input v-model="form.password" style="width: 370px;" type="password" /> <el-input v-model="form.password" style="width: 370px;" type="password"/>
<el-button :loading="crud.cu === 2" type="primary" @click="getDetail()">详情</el-button> <el-button :loading="crud.cu === 2" type="primary" @click="getDetail()">详情</el-button>
</el-form-item> </el-form-item>
<el-form-item label="程序ID"> <el-form-item label="程序ID">
<el-input v-model="form.prog_id" style="width: 370px;" /> <el-input v-model="form.prog_id" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="注册表ID"> <el-form-item label="注册表ID">
<el-input v-model="form.cls_id" style="width: 370px;" /> <el-input v-model="form.cls_id" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="domain"> <el-form-item label="domain">
<el-input v-model="form.domain" style="width: 370px;" /> <el-input v-model="form.domain" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="remark"> <el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea" /> <el-input v-model="form.remark" style="width: 380px;" rows="5" type="textarea"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -63,18 +63,18 @@
<el-dialog title="PLC管理" :visible.sync="dialogPlcFormVisible" width="550px"> <el-dialog title="PLC管理" :visible.sync="dialogPlcFormVisible" width="550px">
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
<el-input v-model="form.opc_server_id" type="hidden" prop="opc_server_id" /> <el-input v-model="form.opc_server_id" type="hidden" prop="opc_server_id"/>
<el-form-item label="PLC编码" prop="plc_code"> <el-form-item label="PLC编码" prop="plc_code">
<el-input v-model="form.plc_code" style="width: 370px;" /> <el-input v-model="form.plc_code" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="OPC名称" prop="plc_opc_name"> <el-form-item label="OPC名称" prop="plc_opc_name">
<el-input v-model="form.plc_opc_name" style="width: 370px;" disabled /> <el-input v-model="form.plc_opc_name" style="width: 370px;" disabled/>
</el-form-item> </el-form-item>
<el-form-item label="PLC名称" prop="plc_name"> <el-form-item label="PLC名称" prop="plc_name">
<el-input v-model="form.plc_name" style="width: 370px;" /> <el-input v-model="form.plc_name" style="width: 370px;"/>
</el-form-item> </el-form-item>
<el-form-item label="PLC地址" prop="plc_host"> <el-form-item label="PLC地址" prop="plc_host">
<el-input v-model="form.plc_host" style="width: 370px;" /> <el-input v-model="form.plc_host" style="width: 370px;"/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -92,23 +92,23 @@
row-key="opc_id" row-key="opc_id"
border border
default-expand-all default-expand-all
:tree-props="{children: 'children', has_children: 'has_children'}" :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
@select="crud.selectChange" @select="crud.selectChange"
@select-all="crud.selectAllChange" @select-all="crud.selectAllChange"
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55"/>
<el-table-column prop="opc_code" label="OPC编码" width="100" /> <el-table-column prop="opc_code" label="OPC编码" width="100"/>
<el-table-column prop="opc_name" label="OPC名称" /> <el-table-column prop="opc_name" label="OPC名称"/>
<el-table-column prop="opc_host" label="OPC地址" min-width="130" /> <el-table-column prop="opc_host" label="OPC地址" min-width="130"/>
<el-table-column prop="type" label="类型" /> <el-table-column prop="type" label="类型"/>
<el-table-column prop="user" label="用户名" min-width="100" /> <el-table-column prop="user" label="用户名" min-width="100"/>
<el-table-column prop="password" label="密码" /> <el-table-column prop="password" label="密码"/>
<el-table-column prop="prog_id" label="程序ID" min-width="150" /> <el-table-column prop="prog_id" label="程序ID" min-width="150"/>
<el-table-column prop="cls_id" label="注册表ID" min-width="150" /> <el-table-column prop="cls_id" label="注册表ID" min-width="150"/>
<el-table-column prop="domain" label="domain" /> <el-table-column prop="domain" label="domain"/>
<el-table-column prop="remark" label="备注" min-width="100" /> <el-table-column prop="remark" label="备注" min-width="100"/>
<el-table-column prop="create_time" label="创建时间" /> <el-table-column prop="createtime" label="创建时间"/>
<el-table-column label="操作" width="200px" align="center" fixed="right"> <el-table-column label="操作" width="200px" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="handleClick(scope.row,'1')">修改</el-button> <el-button type="text" size="small" @click="handleClick(scope.row,'1')">修改</el-button>
@ -120,7 +120,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination/>
</div> </div>
</div> </div>
</template> </template>

23
lms/nladmin-system/nlsso-server/src/main/java/org/nl/system/controller/secutiry/MobileAuthorizationController.java

@ -12,6 +12,7 @@ import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.common.exception.BadRequestException; import org.nl.common.exception.BadRequestException;
import org.nl.common.logging.annotation.Log;
import org.nl.common.utils.RsaUtils; import org.nl.common.utils.RsaUtils;
import org.nl.common.utils.dto.CurrentUser; import org.nl.common.utils.dto.CurrentUser;
import org.nl.config.RsaProperties; import org.nl.config.RsaProperties;
@ -19,7 +20,10 @@ import org.nl.system.service.role.ISysRoleService;
import org.nl.system.service.secutiry.dto.AuthUserDto; import org.nl.system.service.secutiry.dto.AuthUserDto;
import org.nl.system.service.user.ISysUserService; import org.nl.system.service.user.ISysUserService;
import org.nl.system.service.user.dao.SysUser; import org.nl.system.service.user.dao.SysUser;
import org.nl.wms.sch.point.service.ISchBasePointService;
import org.nl.wms.sch.point.service.dao.SchBasePoint;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -29,6 +33,7 @@ import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* @Author: lyd * @Author: lyd
@ -37,15 +42,17 @@ import java.util.List;
*/ */
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/mobile/auth") @RequestMapping("/api/pda")
@Api(tags = "手持:系统授权接口") @Api(tags = "手持:系统授权接口")
public class MobileAuthorizationController { public class MobileAuthorizationController {
@Autowired @Autowired
private ISysUserService userService; private ISysUserService userService;
@Autowired @Autowired
private ISysRoleService roleService; private ISysRoleService roleService;
@Autowired
private ISchBasePointService pointService;
@ApiOperation("登录授权") @ApiOperation("登录授权")
@PostMapping(value = "/login") @PostMapping(value = "/handlogin")
@SaIgnore @SaIgnore
public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception { public ResponseEntity<Object> login(@Validated @RequestBody AuthUserDto authUser, HttpServletRequest request) throws Exception {
// 密码解密 - 前端的加密规则: encrypt(根据实际更改) // 密码解密 - 前端的加密规则: encrypt(根据实际更改)
@ -89,4 +96,16 @@ public class MobileAuthorizationController {
return ResponseEntity.ok(authInfo); return ResponseEntity.ok(authInfo);
} }
@PostMapping("/point")
@Log("查询设备编号及状态")
@ApiOperation("查询设备编号及状态")
@SaIgnore
//@PreAuthorize("@el.check('sect:list')")
//@RequestBody JSONObject json
public ResponseEntity<Object> queryPoint(@RequestBody Map<String, String> whereJson) {
SchBasePoint region = new SchBasePoint();
region.setRegion_code(whereJson.get("region_code"));
return new ResponseEntity<>(pointService.getPointList(region), HttpStatus.OK);
}
} }

10
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/controller/PdaController.java

@ -15,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/** /**
* @Author: lyd * @Author: lyd
* @Description: 手持接口 * @Description: 手持接口
@ -27,6 +29,7 @@ import org.springframework.web.bind.annotation.RestController;
@SaIgnore @SaIgnore
public class PdaController { public class PdaController {
@Resource
private PdaService pdaService; private PdaService pdaService;
@ -37,6 +40,13 @@ public class PdaController {
return new ResponseEntity<>(pdaService.outSave(param), HttpStatus.OK); return new ResponseEntity<>(pdaService.outSave(param), HttpStatus.OK);
} }
@PostMapping("/callingEmpty")
@Log("涂板线叫空架")
@ApiOperation("涂板线叫空架")
public ResponseEntity<Object> callingEmpty(@RequestBody JSONObject param){
return new ResponseEntity<>(pdaService.callingEmpty(param), HttpStatus.OK);
}
@PostMapping("/cleanVehicle") @PostMapping("/cleanVehicle")
@Log("清空物料信息") @Log("清空物料信息")
@ApiOperation("清空物料信息") @ApiOperation("清空物料信息")

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/PdaService.java

@ -11,6 +11,8 @@ import org.nl.wms.pda.service.dao.vo.PdaResponseVo;
public interface PdaService { public interface PdaService {
PdaResponseVo outSave(JSONObject param); PdaResponseVo outSave(JSONObject param);
PdaResponseVo callingEmpty(JSONObject param);
PdaResponseVo cleanVehicle(JSONObject param); PdaResponseVo cleanVehicle(JSONObject param);
PdaResponseVo callingMaterialTask(JSONObject param); PdaResponseVo callingMaterialTask(JSONObject param);

17
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda/service/impl/PdaServiceImpl.java

@ -52,6 +52,19 @@ public class PdaServiceImpl implements PdaService {
acsToWmsService.acsApply(param); acsToWmsService.acsApply(param);
return PdaResponseVo.pdaResultOk("涂板线满架下料请求成功"); return PdaResponseVo.pdaResultOk("涂板线满架下料请求成功");
} }
@Override
public PdaResponseVo callingEmpty(JSONObject param) {
param.put("device_code",param.getString("point_code"));
if(!param.getString("point_code").startsWith("TBX")){
throw new BadRequestException("非涂板线禁止补空架!");
}
param.put("request_medthod_code","TBXBKJTask");
param.put("request_medthod_name","涂板线补空架");
acsToWmsService.acsApply(param);
return PdaResponseVo.pdaResultOk("涂板线补空架");
}
@Override @Override
public PdaResponseVo cleanVehicle(JSONObject param) { public PdaResponseVo cleanVehicle(JSONObject param) {
//根据载具编码寻找点位,并且将它更新掉 //根据载具编码寻找点位,并且将它更新掉
@ -64,7 +77,7 @@ public class PdaServiceImpl implements PdaService {
groupEntity.setUpdate_id(GeneralDefinition.ACS_ID); groupEntity.setUpdate_id(GeneralDefinition.ACS_ID);
groupEntity.setUpdate_name(GeneralDefinition.ACS_NAME); groupEntity.setUpdate_name(GeneralDefinition.ACS_NAME);
groupEntity.setUpdate_time(DateUtil.now()); groupEntity.setUpdate_time(DateUtil.now());
vehiclematerialgroupService.save(groupEntity); vehiclematerialgroupService.update(groupEntity);
SchBasePoint pointObj=pointService.getById(groupEntity.getPoint_code()); SchBasePoint pointObj=pointService.getById(groupEntity.getPoint_code());
if(pointObj.getVehicle_code().contains(",")){ if(pointObj.getVehicle_code().contains(",")){
vehicleCode+=','; vehicleCode+=',';
@ -73,7 +86,7 @@ public class PdaServiceImpl implements PdaService {
pointObj.setVehicle_qty(pointObj.getVehicle_qty()-1); pointObj.setVehicle_qty(pointObj.getVehicle_qty()-1);
pointService.update(pointObj); pointService.update(pointObj);
//清空组盘表的信息 //清空组盘表的信息
return PdaResponseVo.pdaResultOk("呼叫物料请求成功"); return PdaResponseVo.pdaResultOk("清空物料信息请求成功");
} }
@Override @Override
public PdaResponseVo callingMaterialTask(JSONObject param) { public PdaResponseVo callingMaterialTask(JSONObject param) {

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/point/service/impl/SchBasePointServiceImpl.java

@ -182,7 +182,7 @@ public class SchBasePointServiceImpl extends ServiceImpl<SchBasePointMapper, Sch
if (ObjectUtil.isEmpty(region)) return this.list(); if (ObjectUtil.isEmpty(region)) return this.list();
return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>() return pointMapper.selectList(new LambdaQueryWrapper<SchBasePoint>()
.eq(SchBasePoint::getRegion_code, region.getRegion_code()) .eq(SchBasePoint::getRegion_code, region.getRegion_code())
.eq(SchBasePoint::getIs_has_workder, true)); .eq(SchBasePoint::getIs_has_workder, 1));
} }
@Override @Override

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/BPSLTask.java

@ -116,9 +116,9 @@ public class BPSLTask extends AbstractTask {
if("1".equals(materialType)){ if("1".equals(materialType)){
regionCode="HCQ4"; regionCode="HCQ4";
}else if("2".equals(materialType)){ }else if("2".equals(materialType)){
regionCode="HCQ1";
}else if ("3".equals(materialType)){
regionCode="HCQ2"; regionCode="HCQ2";
}else if ("3".equals(materialType)){
regionCode="HCQ3";
} }
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,"1"); List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,"1");
for(int i=schBasePointList.size()-1;i>=0;i--){ for(int i=schBasePointList.size()-1;i>=0;i--){

2
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/MJXLTask.java

@ -162,7 +162,7 @@ public class MJXLTask extends AbstractTask {
.eq(PdmBdWorkorder::getWorkorder_code, extGroupData.getString("workorder_code"))) .eq(PdmBdWorkorder::getWorkorder_code, extGroupData.getString("workorder_code")))
: null; : null;
String startPoint = taskObj.getPoint_code1(); // 获取起点 String startPoint = taskObj.getPoint_code1(); // 获取起点
String endPoint = taskObj.getPoint_code2().substring(0,taskObj.getPoint_code2().length()-2); // 获取终点 String endPoint = ObjectUtil.isNotEmpty(taskObj.getPoint_code2())?taskObj.getPoint_code2().substring(0,taskObj.getPoint_code2().length()-2):"0"; // 获取终点
SchBasePoint startPointObj = pointService.getById(startPoint); SchBasePoint startPointObj = pointService.getById(startPoint);
SchBasePoint endPointObj = pointService.getById(endPoint); SchBasePoint endPointObj = pointService.getById(endPoint);
// 根据传来的类型去对任务进行操作 // 根据传来的类型去对任务进行操作

4
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/TBXBKJTask.java

@ -114,11 +114,11 @@ public class TBXBKJTask extends AbstractTask {
String regionCode = null; String regionCode = null;
if ("TBX1".equals(startPoint.getRegion_code())) { if ("TBX1".equals(startPoint.getRegion_code())) {
//TBX1找A区 //TBX1找A区
regionCode = "HCQ3"; regionCode = "HCQ1";
} else if ("TBX2".equals(startPoint.getRegion_code())) { } else if ("TBX2".equals(startPoint.getRegion_code())) {
//TBX2找B区 //TBX2找B区
regionCode = "KGHJ1"; regionCode = "HCQ5";
} }
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,null); List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode,null);
for (SchBasePoint schBasePoint : schBasePointList) { for (SchBasePoint schBasePoint : schBasePointList) {

10
lms/nladmin-system/nlsso-server/src/main/java/org/nl/wms/sch/task_manage/task/tasks/ghs/GHSQHTask.java

@ -156,7 +156,7 @@ public class GHSQHTask extends AbstractTask {
/** /**
* 1.根据当前固化室所处区域判断到哪个区的缓存位 * 1.根据当前固化室所处区域判断到哪个区的缓存位
* 正极板到HCQ4,负极板到HCQ1边负极板到HCQ2 * 正极板到HCQ4,负极板到HCQ2边负极板到HCQ3
* 2.从1010列到0101列倒叙判断当前列物料类型是否与起点一致且存在空位 * 2.从1010列到0101列倒叙判断当前列物料类型是否与起点一致且存在空位
* 3.将当前点位设置为目标点 * 3.将当前点位设置为目标点
* 4.如果没有符合条件的点位跳过执行暂时等待 * 4.如果没有符合条件的点位跳过执行暂时等待
@ -169,11 +169,11 @@ public class GHSQHTask extends AbstractTask {
regionCode = "HCQ4"; regionCode = "HCQ4";
} else if ("2".equals(startPoint.getVehicle_type())) { } else if ("2".equals(startPoint.getVehicle_type())) {
//负极板到缓存区1 //负极板到缓存区2
regionCode = "HCQ1";
} else if ("3".equals(startPoint.getVehicle_type())) {
//边负极板到缓存区1
regionCode = "HCQ2"; regionCode = "HCQ2";
} else if ("3".equals(startPoint.getVehicle_type())) {
//边负极板到缓存区3
regionCode = "HCQ3";
} }
List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode, "1"); List<SchBasePoint> schBasePointList = pointMapper.findPointByRegion(regionCode, "1");
for (int i = schBasePointList.size() - 1; i >= 0; i--) { for (int i = schBasePointList.size() - 1; i >= 0; i--) {

Loading…
Cancel
Save