feat:人车安全、其他优化
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
package org.nl.wms.basedata_manage.service.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -183,11 +185,13 @@ public class Structattr implements Serializable {
|
||||
/**
|
||||
* 存储载具号
|
||||
*/
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String storagevehicle_code;
|
||||
|
||||
/**
|
||||
* 存储载具类型
|
||||
*/
|
||||
@TableField(updateStrategy = FieldStrategy.IGNORED)
|
||||
private String storagevehicle_type;
|
||||
|
||||
/**
|
||||
|
||||
@@ -43,8 +43,7 @@ public class BigScreenController {
|
||||
@Log("大屏数据")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getData(@RequestBody JSONObject stors) {
|
||||
// String storStr = stors.getString("stors");
|
||||
String storStr = "LT,YL";
|
||||
String storStr = stors.getString("stors");
|
||||
List<JSONObject> data = new ArrayList<>();
|
||||
if (!StringUtils.isEmpty(storStr)){
|
||||
data = bigScreenService.getData(Arrays.asList(storStr.split(",")));
|
||||
|
||||
@@ -68,4 +68,40 @@ public class PdaJBController {
|
||||
public ResponseEntity<Object> jbReturnMaterial(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.jbReturnMaterial(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/jbGetVehicleCode")
|
||||
@Log("获取解包点位的托盘编码")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> jbGetVehicleCode(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.jbGetVehicleCode(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/jbGetLtInfo")
|
||||
@Log("获取料桶组盘信息")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> jbGetLtInfo(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.jbGetLtInfo(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/jbEmptyTakeOut")
|
||||
@Log("空桶取出")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> jbEmptyTakeOut(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.jbEmptyTakeOut(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/getAllIntoRegionMembers")
|
||||
@Log("获取所有区域成员")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> getAllIntoRegionMembers(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.getAllIntoRegionMembers(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/intoRegion")
|
||||
@Log("进入区域")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> intoRegion(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.intoRegion(whereJson), HttpStatus.OK);
|
||||
}
|
||||
@PostMapping("/outRegion")
|
||||
@Log("出去区域")
|
||||
@SaIgnore
|
||||
public ResponseEntity<Object> outRegion(@RequestBody JSONObject whereJson) {
|
||||
return new ResponseEntity<>(pdaJBService.outRegion(whereJson), HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
package org.nl.wms.pda_manage.sch_manage.service;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @Author: lyd
|
||||
* @Date: 2025/8/1
|
||||
*/
|
||||
@Data
|
||||
public class GroupInfoPdaVo implements Serializable {
|
||||
private String storagevehicle_code;
|
||||
private String pcsn;
|
||||
private BigDecimal qty;
|
||||
private String qty_unit_name;
|
||||
private String supp_name;
|
||||
private String material_code;
|
||||
private String material_name;
|
||||
private String material_spec;
|
||||
private String material_model;
|
||||
}
|
||||
@@ -36,4 +36,26 @@ public interface PdaJBService {
|
||||
* @return
|
||||
*/
|
||||
PdaResponse jbReturnMaterial(JSONObject param);
|
||||
|
||||
PdaResponse jbGetVehicleCode(JSONObject param);
|
||||
|
||||
PdaResponse jbGetLtInfo(JSONObject param);
|
||||
|
||||
PdaResponse jbEmptyTakeOut(JSONObject param);
|
||||
|
||||
/**
|
||||
*
|
||||
* @param whereJson
|
||||
* @return
|
||||
*/
|
||||
PdaResponse getAllIntoRegionMembers(JSONObject whereJson);
|
||||
|
||||
/**
|
||||
* 进入区域
|
||||
* @param param
|
||||
* @return
|
||||
*/
|
||||
PdaResponse intoRegion(JSONObject param);
|
||||
|
||||
PdaResponse outRegion(JSONObject param);
|
||||
}
|
||||
|
||||
@@ -21,16 +21,21 @@ import org.nl.wms.basedata_manage.service.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
|
||||
import org.nl.wms.basedata_manage.service.dao.Sectattr;
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.PdaJBService;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.mapper.PdaJBMapper;
|
||||
import org.nl.wms.pda_manage.util.PdaResponse;
|
||||
import org.nl.wms.pm_manage.service.IPdmBdWorkorderService;
|
||||
import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
|
||||
import org.nl.wms.record_manage.service.IMdPbRegionMemberService;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
import org.nl.wms.sch_manage.service.ISchBasePointService;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
import org.nl.wms.sch_manage.service.util.tasks.jb.JbUpAgvTask;
|
||||
import org.nl.wms.system_manage.service.dict.ISysDictService;
|
||||
import org.nl.wms.system_manage.service.dict.dao.Dict;
|
||||
import org.nl.wms.system_manage.service.param.ISysParamService;
|
||||
import org.nl.wms.system_manage.service.param.dao.Param;
|
||||
import org.nl.wms.warehouse_manage.enums.IOSEnum;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IInBillService;
|
||||
import org.nl.wms.warehouse_manage.inAndOut.service.IOutBillService;
|
||||
@@ -57,6 +62,8 @@ import java.util.*;
|
||||
@Service
|
||||
@Slf4j
|
||||
public class PdaJBServiceImpl implements PdaJBService {
|
||||
/** 解包重量误差范围值 */
|
||||
public static final String JB_STANDARD_ERROR = "JB_STANDARD_ERROR";
|
||||
@Autowired
|
||||
private PdaJBMapper pdaJBMapper;
|
||||
@Autowired
|
||||
@@ -89,6 +96,10 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
private IInBillService inBillService;
|
||||
@Resource
|
||||
private IMdPbStoragevehicleinfoService storagevehicleinfoService;
|
||||
@Resource
|
||||
private ISysParamService sysParamService;
|
||||
@Resource
|
||||
private IMdPbRegionMemberService regionMemberService;
|
||||
@Override
|
||||
public PdaResponse getOrderList(JSONObject whereJson) {
|
||||
String flag = whereJson.getString("flag");
|
||||
@@ -209,10 +220,25 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
@Override
|
||||
public PdaResponse getWeight(JSONObject whereJson) {
|
||||
// todo: 调用acs获取
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String pointCode = whereJson.getString("point_code");
|
||||
String workorder_id = whereJson.getString("workorder_id");
|
||||
Param param = sysParamService.findByCode(JB_STANDARD_ERROR);
|
||||
if (ObjectUtil.isEmpty(param)) {
|
||||
throw new BadRequestException("请先定义 " + JB_STANDARD_ERROR + " 系统参数!");
|
||||
}
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("weight", "999.99");
|
||||
res.put("flag", "2");
|
||||
res.put("message", "重量误差过大,请注意!");
|
||||
res.put("flag", "1");
|
||||
res.put("message", "重量误差范围正常!");
|
||||
PdmBdWorkorder workorder = workorderService.getById(workorder_id);
|
||||
res.put("org_weight", workorder.getPlan_weight());
|
||||
res.put("stand_error", param.getValue());
|
||||
if (workorder.getPlan_weight().subtract(BigDecimal.valueOf(999.99))
|
||||
.abs().compareTo(new BigDecimal(param.getValue().trim())) > 0) {
|
||||
res.put("flag", "2");
|
||||
res.put("message", "重量误差过大,请注意!");
|
||||
}
|
||||
return PdaResponse.requestParamOk(res);
|
||||
}
|
||||
|
||||
@@ -404,6 +430,9 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
structattr.setStoragevehicle_code(groupPlate.getStoragevehicle_code());
|
||||
structattr.setStoragevehicle_type(vehicleInfo.getStoragevehicle_type());
|
||||
structattr.setOccupancy_state(3);
|
||||
structattr.setUpdate_id(currentUserId);
|
||||
structattr.setUpdate_name(nickName);
|
||||
structattr.setUpdate_time(now);
|
||||
structattrService.updateById(structattr);
|
||||
|
||||
// 1.4 组盘设置入库
|
||||
@@ -507,6 +536,117 @@ public class PdaJBServiceImpl implements PdaJBService {
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse jbGetVehicleCode(JSONObject param) {
|
||||
String pointCode = param.getString("point_code");
|
||||
SchBasePoint device = pointService.getById(pointCode);
|
||||
// 获取对应区域的点位
|
||||
SchBasePoint tPPoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getRegion_code, device.getRegion_code())
|
||||
.eq(SchBasePoint::getParent_point_code, device.getPoint_code())
|
||||
.eq(SchBasePoint::getPoint_type, "3"));
|
||||
SchBasePoint ltPoint = pointService.getOne(new LambdaQueryWrapper<SchBasePoint>()
|
||||
.eq(SchBasePoint::getRegion_code, device.getRegion_code())
|
||||
.eq(SchBasePoint::getParent_point_code, device.getPoint_code())
|
||||
.eq(SchBasePoint::getPoint_type, "2"));
|
||||
JSONObject res = new JSONObject();
|
||||
res.put("tp_code", tPPoint.getVehicle_code());
|
||||
res.put("lt_code", ltPoint.getVehicle_code());
|
||||
return PdaResponse.requestParamOk(res);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse jbGetLtInfo(JSONObject param) {
|
||||
String vehicleCode = param.getString("vehicle_code");
|
||||
List<GroupInfoPdaVo> groups = pdaJBMapper.getGroupInfoByVehicle(vehicleCode, "01");
|
||||
if (groups.size() > 1) {
|
||||
throw new BadRequestException("组盘信息错误!");
|
||||
}
|
||||
return PdaResponse.requestParamOk(groups.size() > 0 ? groups.get(0) : null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse jbEmptyTakeOut(JSONObject param) {
|
||||
String pointCode = param.getString("point_code");
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
String now = DateUtil.now();
|
||||
JSONObject res = doCheckStruct(pointCode);
|
||||
if ("2".equals(res.getString("flag"))) {
|
||||
throw new BadRequestException(res.getString("message"));
|
||||
}
|
||||
Structattr structattr = structattrService.getByCode(pointCode);
|
||||
if (ObjectUtil.isEmpty(structattr)) {
|
||||
throw new BadRequestException("仓位:" + pointCode + " 不存在!");
|
||||
}
|
||||
// 1.3 仓位赋值
|
||||
structattr.setStoragevehicle_code(null);
|
||||
structattr.setStoragevehicle_type(null);
|
||||
structattr.setOccupancy_state(1);
|
||||
structattr.setUpdate_id(currentUserId);
|
||||
structattr.setUpdate_name(nickName);
|
||||
structattr.setUpdate_time(now);
|
||||
structattrService.updateById(structattr);
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse getAllIntoRegionMembers(JSONObject whereJson) {
|
||||
String regionCode = whereJson.getString("region_code");
|
||||
List<MdPbRegionMember> list = regionMemberService.list(new LambdaQueryWrapper<MdPbRegionMember>()
|
||||
.eq(MdPbRegionMember::getRecord_status, "1")
|
||||
.eq(MdPbRegionMember::getRegion_code, regionCode));
|
||||
return PdaResponse.requestParamOk(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse intoRegion(JSONObject param) {
|
||||
String regionCode = param.getString("region_code");
|
||||
String nickname = param.getString("nickname");
|
||||
MdPbRegionMember pbRegionMember = regionMemberService.getOne(new LambdaQueryWrapper<MdPbRegionMember>()
|
||||
.eq(MdPbRegionMember::getRegion_code, regionCode)
|
||||
.eq(MdPbRegionMember::getInto_member, nickname)
|
||||
.eq(MdPbRegionMember::getRecord_status, "1"), false);
|
||||
if (ObjectUtil.isNotEmpty(pbRegionMember)) {
|
||||
throw new BadRequestException("您已经记录进入该区域,请勿多次进入!");
|
||||
}
|
||||
MdPbRegionMember regionMember = new MdPbRegionMember();
|
||||
regionMember.setRecord_id(IdUtil.getStringId());
|
||||
regionMember.setInto_member(nickname);
|
||||
regionMember.setIn_time(DateUtil.now());
|
||||
regionMember.setRecord_status("1");
|
||||
regionMember.setRegion_code(regionCode);
|
||||
regionMemberService.save(regionMember);
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
@Override
|
||||
public PdaResponse outRegion(JSONObject param) {
|
||||
// region_code、nickname、rows
|
||||
String regionCode = param.getString("region_code");
|
||||
String nickname = param.getString("nickname");
|
||||
JSONArray rows = param.getJSONArray("rows");
|
||||
List<MdPbRegionMember> memberRecords;
|
||||
if (rows.size() > 0) {
|
||||
memberRecords = rows.toJavaList(MdPbRegionMember.class);
|
||||
} else {
|
||||
// 更新自身
|
||||
memberRecords = regionMemberService.list(new LambdaQueryWrapper<MdPbRegionMember>()
|
||||
.eq(MdPbRegionMember::getRecord_status, "1")
|
||||
.eq(MdPbRegionMember::getInto_member, nickname)
|
||||
.eq(MdPbRegionMember::getRegion_code, regionCode));
|
||||
}
|
||||
memberRecords.forEach(m -> {
|
||||
m.setOut_time(DateUtil.now());
|
||||
m.setOperate_name(nickname);
|
||||
m.setRecord_status("2");
|
||||
});
|
||||
if (memberRecords.size() > 0) {
|
||||
regionMemberService.updateBatchById(memberRecords);
|
||||
}
|
||||
return PdaResponse.requestOk();
|
||||
}
|
||||
|
||||
private Map<String, Object> buildTaskData(String pointCode, String workorderId, String invId) {
|
||||
Map<String, Object> jsonMst = new HashMap<>();
|
||||
// ru库点
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package org.nl.wms.pda_manage.sch_manage.service.mapper;
|
||||
|
||||
import org.nl.wms.basedata_manage.service.dao.Structattr;
|
||||
import org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo;
|
||||
import org.nl.wms.pm_manage.service.dao.PdmBdWorkorder;
|
||||
import org.nl.wms.sch_manage.service.dao.SchBasePoint;
|
||||
|
||||
@@ -28,4 +29,12 @@ public interface PdaJBMapper {
|
||||
* @return
|
||||
*/
|
||||
List<SchBasePoint> getCanUseCFGJ(PdmBdWorkorder workorder, String pointStatus);
|
||||
|
||||
/**
|
||||
* 获取组盘信息
|
||||
* @param vehicleCode 托盘
|
||||
* @param groupStatus 状态
|
||||
* @return
|
||||
*/
|
||||
List<GroupInfoPdaVo> getGroupInfoByVehicle(String vehicleCode, String groupStatus);
|
||||
}
|
||||
|
||||
@@ -37,4 +37,21 @@
|
||||
OR t.point_code4 = p.point_code
|
||||
))
|
||||
</select>
|
||||
<select id="getGroupInfoByVehicle" resultType="org.nl.wms.pda_manage.sch_manage.service.GroupInfoPdaVo">
|
||||
SELECT
|
||||
mg.storagevehicle_code,
|
||||
mg.pcsn,
|
||||
mg.qty,
|
||||
mg.qty_unit_name,
|
||||
mg.supp_name,
|
||||
mm.material_code,
|
||||
mm.material_name,
|
||||
mm.material_spec,
|
||||
mm.material_model
|
||||
FROM
|
||||
`md_pb_groupplate` mg
|
||||
LEFT JOIN md_me_materialbase mm ON mm.material_id = mg.material_id
|
||||
WHERE mg.storagevehicle_code = #{vehicleCode}
|
||||
AND mg.`status` = #{groupStatus}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -17,6 +17,7 @@ import org.nl.common.base.TableDataInfo;
|
||||
@Data
|
||||
@Builder
|
||||
public class PdaResponse<T> {
|
||||
private String code;
|
||||
|
||||
/**
|
||||
* 信息
|
||||
@@ -34,6 +35,7 @@ public class PdaResponse<T> {
|
||||
*/
|
||||
public static PdaResponse requestOk() {
|
||||
return PdaResponse.builder()
|
||||
.code("200")
|
||||
.message("操作成功!")
|
||||
.build();
|
||||
}
|
||||
@@ -44,6 +46,7 @@ public class PdaResponse<T> {
|
||||
*/
|
||||
public static <T> PdaResponse requestParamOk(T data) {
|
||||
return PdaResponse.builder()
|
||||
.code("200")
|
||||
.message("操作成功!")
|
||||
.data(data)
|
||||
.build();
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package org.nl.wms.record_manage.controller;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.common.base.TableDataInfo;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.logging.annotation.Log;
|
||||
import org.nl.wms.record_manage.service.IMdPbRegionMemberService;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
/**
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/api/mdPbRegionMember")
|
||||
public class MdPbRegionMemberController {
|
||||
|
||||
@Autowired
|
||||
private IMdPbRegionMemberService mdPbRegionMemberService;
|
||||
|
||||
@GetMapping
|
||||
@Log("查询管控区域记录")
|
||||
//@SaCheckPermission("mdPbRegionMember:list")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page){
|
||||
return new ResponseEntity<>(TableDataInfo.build(mdPbRegionMemberService.queryAll(whereJson,page)),HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping
|
||||
@Log("新增管控区域记录")
|
||||
//@SaCheckPermission("mdPbRegionMember:add")
|
||||
public ResponseEntity<Object> create(@Validated @RequestBody MdPbRegionMember entity){
|
||||
mdPbRegionMemberService.create(entity);
|
||||
return new ResponseEntity<>(HttpStatus.CREATED);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@Log("修改管控区域记录")
|
||||
//@SaCheckPermission("mdPbRegionMember:edit")
|
||||
public ResponseEntity<Object> update(@Validated @RequestBody MdPbRegionMember entity){
|
||||
mdPbRegionMemberService.update(entity);
|
||||
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
|
||||
}
|
||||
|
||||
@Log("删除管控区域记录")
|
||||
//@SaCheckPermission("mdPbRegionMember:del")
|
||||
@DeleteMapping
|
||||
public ResponseEntity<Object> delete(@RequestBody Set<String> ids) {
|
||||
mdPbRegionMemberService.deleteAll(ids);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
package org.nl.wms.record_manage.service;
|
||||
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
public interface IMdPbRegionMemberService extends IService<MdPbRegionMember> {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param pageable 分页参数
|
||||
* @return IPage<MdPbRegionMember>
|
||||
*/
|
||||
IPage<MdPbRegionMember> queryAll(Map whereJson, PageQuery pageable);
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param entity /
|
||||
*/
|
||||
void create(MdPbRegionMember entity);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param entity /
|
||||
*/
|
||||
void update(MdPbRegionMember entity);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Set<String> ids);
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package org.nl.wms.record_manage.service.dao;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("md_pb_region_member")
|
||||
public class MdPbRegionMember implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@TableId(value = "record_id", type = IdType.NONE)
|
||||
/** 记录id */
|
||||
private String record_id;
|
||||
|
||||
/** 进入成员 */
|
||||
private String into_member;
|
||||
|
||||
/** 进入时间 */
|
||||
private String in_time;
|
||||
|
||||
/** 状态:1进去,2出去 */
|
||||
private String record_status;
|
||||
|
||||
/** 出去时间 */
|
||||
private String out_time;
|
||||
|
||||
/** 管控区域 */
|
||||
private String region_code;
|
||||
|
||||
/** 操作人员 */
|
||||
private String operate_name;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.wms.record_manage.service.dao.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
|
||||
/**
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
public interface MdPbRegionMemberMapper extends BaseMapper<MdPbRegionMember> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
<?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.nl.wms.record_manage.service.dao.mapper.MdPbRegionMemberMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -0,0 +1,36 @@
|
||||
package org.nl.wms.record_manage.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
@Data
|
||||
public class MdPbRegionMemberDto implements Serializable {
|
||||
|
||||
/** 记录id */
|
||||
private String record_id;
|
||||
|
||||
/** 进入成员 */
|
||||
private String member;
|
||||
|
||||
/** 进入时间 */
|
||||
private String in_time;
|
||||
|
||||
/** 状态:1进去,2出去 */
|
||||
private String record_status;
|
||||
|
||||
/** 出去时间 */
|
||||
private String out_time;
|
||||
|
||||
/** 管控区域 */
|
||||
private String region_code;
|
||||
|
||||
/** 操作人员 */
|
||||
private String operate_name;
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package org.nl.wms.record_manage.service.dto;
|
||||
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
|
||||
/**
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
public class MdPbRegionMemberQuery extends BaseQuery<MdPbRegionMember> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
package org.nl.wms.record_manage.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.config.language.LangProcess;
|
||||
import org.nl.common.domain.query.PageQuery;
|
||||
import org.nl.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.record_manage.service.IMdPbRegionMemberService;
|
||||
import org.nl.wms.record_manage.service.dao.mapper.MdPbRegionMemberMapper;
|
||||
import org.nl.wms.record_manage.service.dao.MdPbRegionMember;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* @description 服务实现
|
||||
* @author liyd
|
||||
* @date 2025-08-01
|
||||
**/
|
||||
@Slf4j
|
||||
@Service
|
||||
public class MdPbRegionMemberServiceImpl extends ServiceImpl<MdPbRegionMemberMapper, MdPbRegionMember> implements IMdPbRegionMemberService {
|
||||
|
||||
@Autowired
|
||||
private MdPbRegionMemberMapper mdPbRegionMemberMapper;
|
||||
|
||||
@Override
|
||||
public IPage<MdPbRegionMember> queryAll(Map whereJson, PageQuery page){
|
||||
LambdaQueryWrapper<MdPbRegionMember> lam = new LambdaQueryWrapper<>();
|
||||
IPage<MdPbRegionMember> pages = new Page<>(page.getPage() + 1, page.getSize());
|
||||
mdPbRegionMemberMapper.selectPage(pages, lam);
|
||||
return pages;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void create(MdPbRegionMember entity) {
|
||||
entity.setRecord_id(IdUtil.getSnowflake(1, 1).nextIdStr());
|
||||
mdPbRegionMemberMapper.insert(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(MdPbRegionMember entity) {
|
||||
MdPbRegionMember dto = mdPbRegionMemberMapper.selectById(entity.getRecord_id());
|
||||
if (dto == null) throw new BadRequestException(LangProcess.msg("error_SystemAuthError"));
|
||||
mdPbRegionMemberMapper.updateById(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteAll(Set<String> ids) {
|
||||
// 真删除
|
||||
mdPbRegionMemberMapper.deleteBatchIds(ids);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -676,6 +676,7 @@ public class InBillServiceImpl extends ServiceImpl<IOStorInvMapper, IOStorInv> i
|
||||
SchBasePoint parentPoint = pointService.getById(rkPoint.getParent_point_code());
|
||||
// 2、创建任务(4条任务、优先级需要获取所有的任务中的最小值并且-1,默认8)
|
||||
// 获取工单对应的区域的出入点
|
||||
// todo: 不对
|
||||
SchBasePoint intoPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "2");
|
||||
SchBasePoint emptyPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "5");
|
||||
SchBasePoint fullPoint = pointService.getNotTaskByRegionAndType(parentPoint.getRegion_code(), "6");
|
||||
|
||||
@@ -92,6 +92,7 @@
|
||||
<root level="info">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
<appender-ref ref="asyncLuceneAppender"/>
|
||||
<appender-ref ref="CONSOLE"/>
|
||||
</root>
|
||||
<logger name="jdbc" level="ERROR" additivity="true">
|
||||
<appender-ref ref="asyncFileAppender"/>
|
||||
|
||||
@@ -44,6 +44,7 @@ export default {
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Are you sure to delete it? If there are subordinate nodes, they will be deleted together. This operation cannot be undone!'
|
||||
}
|
||||
},
|
||||
'SystemParam': 'sys parameter'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ export default {
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': 'Apakah Anda yakin untuk menghapusnya? Jika ada nod subordinat, mereka akan dihapus bersama. Operasi ini tidak dapat dibatalkan!'
|
||||
}
|
||||
},
|
||||
'SystemParam': 'parameter sistem'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ export default {
|
||||
},
|
||||
'msg': {
|
||||
'delete_msg': '确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!'
|
||||
}
|
||||
},
|
||||
'SystemParam': '系统参数'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,6 +19,15 @@
|
||||
<el-form-item :label="$t('SysParam.table.name')" prop="name">
|
||||
<el-input v-model="form.name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('SysParam.table.zh_name')" prop="name">
|
||||
<el-input v-model="form.zh_name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('SysParam.table.en_name')" prop="name">
|
||||
<el-input v-model="form.en_name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('SysParam.table.in_name')" prop="name">
|
||||
<el-input v-model="form.in_name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('SysParam.table.values')" prop="value">
|
||||
<el-input v-model="form.value" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
@@ -73,6 +82,9 @@ const defaultForm = {
|
||||
id: null,
|
||||
code: null,
|
||||
name: null,
|
||||
zh_name: null,
|
||||
en_name: null,
|
||||
in_name: null,
|
||||
value: null,
|
||||
remark: null,
|
||||
is_active: true
|
||||
|
||||
@@ -2,7 +2,10 @@ export default {
|
||||
'SysParam': {
|
||||
'table': {
|
||||
'code': 'code',
|
||||
'name': 'name',
|
||||
'name': 'default name',
|
||||
'zh_name': 'chinese name',
|
||||
'en_name': 'english name',
|
||||
'in_name': 'indonesian name',
|
||||
'values': 'value',
|
||||
'description': 'remark'
|
||||
},
|
||||
|
||||
@@ -2,7 +2,10 @@ export default {
|
||||
'SysParam': {
|
||||
'table': {
|
||||
'code': 'kode',
|
||||
'name': 'nama',
|
||||
'name': 'nama bawaan',
|
||||
'zh_name': 'nama cina',
|
||||
'en_name': 'nama Inggris',
|
||||
'in_name': 'nama indonesia',
|
||||
'values': 'nilai',
|
||||
'description': 'Catatan'
|
||||
},
|
||||
|
||||
@@ -2,7 +2,10 @@ export default {
|
||||
'SysParam': {
|
||||
'table': {
|
||||
'code': '编码',
|
||||
'name': '名称',
|
||||
'name': '默认名称',
|
||||
'zh_name': '中文名称',
|
||||
'en_name': '英文名称',
|
||||
'in_name': '印尼名称',
|
||||
'values': '值',
|
||||
'description': '备注'
|
||||
},
|
||||
|
||||
111
lms/nladmin-ui/src/views/wms/record/index.vue
Normal file
111
lms/nladmin-ui/src/views/wms/record/index.vue
Normal file
@@ -0,0 +1,111 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" />
|
||||
<!--表单组件-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="mini" label-width="80px">
|
||||
<el-form-item label="进入成员">
|
||||
<el-input v-model="form.into_member" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="进入时间">
|
||||
<el-input v-model="form.in_time" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-input v-model="form.record_status" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="出去时间">
|
||||
<el-input v-model="form.out_time" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="管控区域">
|
||||
<el-input v-model="form.region_code" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="操作人员">
|
||||
<el-input v-model="form.operate_name" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="into_member" label="进入成员" :min-width="flexWidth('into_member',crud.data,'进入成员')" />
|
||||
<el-table-column prop="in_time" label="进入时间" :min-width="flexWidth('in_time',crud.data,'进入时间')" />
|
||||
<el-table-column prop="record_status" label="状态" :min-width="flexWidth('record_status',crud.data,'状态:1进去,2出去')">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.REGION_RECORD_STATUS[scope.row.record_status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="out_time" label="出去时间" :min-width="flexWidth('out_time',crud.data,'出去时间')" />
|
||||
<el-table-column prop="region_code" label="管控区域" :min-width="flexWidth('region_code',crud.data,'管控区域')" />
|
||||
<el-table-column prop="operate_name" label="操作人员" :min-width="flexWidth('operate_name',crud.data,'操作人员')" />
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudMdPbRegionMember from './mdPbRegionMember'
|
||||
import CRUD, { crud, form, header, presenter } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
|
||||
const defaultForm = {
|
||||
record_id: null,
|
||||
into_member: null,
|
||||
in_time: null,
|
||||
record_status: null,
|
||||
out_time: null,
|
||||
region_code: null,
|
||||
operate_name: null
|
||||
}
|
||||
export default {
|
||||
name: 'MdPbRegionMember',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['REGION_RECORD_STATUS'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '管控区域记录',
|
||||
url: 'api/mdPbRegionMember',
|
||||
idField: 'record_id',
|
||||
sort: 'record_id,desc',
|
||||
crudMethod: { ...crudMdPbRegionMember }
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permission: {
|
||||
},
|
||||
rules: {
|
||||
}}
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
27
lms/nladmin-ui/src/views/wms/record/mdPbRegionMember.js
Normal file
27
lms/nladmin-ui/src/views/wms/record/mdPbRegionMember.js
Normal file
@@ -0,0 +1,27 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/mdPbRegionMember',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/mdPbRegionMember/',
|
||||
method: 'delete',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/mdPbRegionMember',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del }
|
||||
Reference in New Issue
Block a user