add:容器

This commit is contained in:
2024-03-08 17:45:17 +08:00
parent 3cba8bcc34
commit d55203c02e
23 changed files with 1233 additions and 57 deletions

View File

@@ -0,0 +1,84 @@
package org.nl.wms.base_manage.vehicle.controller;
import com.alibaba.fastjson.JSONObject;
import org.nl.common.TableDataInfo;
import org.nl.common.anno.Log;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
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.*;
/**
* <p>
* 载具信息表 前端控制器
* </p>
*
* @author generator
* @since 2023-05-10
*/
@RestController
@RequestMapping("api/bmVehicleInfo")
public class BmVehicleInfoController {
@Autowired
private IBmVehicleInfoService vehicleInfoService;
@GetMapping("/vehicleInfo")
public ResponseEntity<Object> vehicleInfo(String vehicle_code) {
return new ResponseEntity<>(vehicleInfoService.vehileInfo(vehicle_code), HttpStatus.OK);
}
@GetMapping
@Log("查询载具")
public ResponseEntity<Object> query(VehicleQuery whereJson, PageQuery page) {
return new ResponseEntity<>(TableDataInfo.build(vehicleInfoService.queryAll(whereJson, page)), HttpStatus.OK);
}
@PostMapping
@Log("新增载具")
public ResponseEntity<Object> create(@RequestBody JSONObject map) {
return new ResponseEntity<>(vehicleInfoService.create(map), HttpStatus.CREATED);
}
@PutMapping
@Log("修改载具")
public ResponseEntity<Object> update(@Validated @RequestBody JSONObject dto) {
vehicleInfoService.update(dto);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除载具")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody Long[] ids) {
vehicleInfoService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PutMapping("/changeActive")
@Log("修改点位启用状态")
public ResponseEntity<Object> changeActive(@RequestBody JSONObject json) {
vehicleInfoService.changeActive(json);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@GetMapping("/getVehicle/{code}")
@Log("获取起始载具号")
public ResponseEntity<Object> getVehicle(@PathVariable String code) {
JSONObject json = vehicleInfoService.getVehicle(code);
return new ResponseEntity<>(json, HttpStatus.OK);
}
@PostMapping("/updateVehicleMaterial")
public ResponseEntity<Object> updateVehicleInfo(@RequestBody JSONObject form) {
vehicleInfoService.updateVehicleMaterial(form);
return new ResponseEntity<>(HttpStatus.OK);
}
}

View File

@@ -0,0 +1,91 @@
package org.nl.wms.base_manage.vehicle.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.nl.common.domain.entity.PageQuery;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
import java.util.List;
import java.util.Map;
/**
* <p>
* 载具信息表 服务类
* </p>
*
* @author generator
* @since 2023-05-10
*/
public interface IBmVehicleInfoService extends IService<BmVehicleInfo> {
/**
* 创建
* @param map /
*/
JSONArray create(JSONObject map);
/**
* 获取载具上物料信息
* @param vehile_code
* @return
*/
Map vehileInfo(String vehile_code);
void updateVehicleMaterial(JSONObject vorm);
/**
* 查询数据分页
* @param query 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Page queryAll(VehicleQuery query, PageQuery page);
/**
* 查询所有数据不分页
* @param whereJson 条件参数
* @return List<StoragevehicleinfoDto>
*/
List<BmVehicleInfo> queryAll(Map whereJson);
/**
* 根据ID查询
* @param storagevehicle_id ID
* @return BmVehicleInfo
*/
Object findById(Long storagevehicle_id);
/**
* 根据编码查询
* @param code code
* @return BmVehicleInfo
*/
Object findByCode(String code);
/**
* 编辑
* @param dto /
*/
void update(JSONObject dto);
/**
* 多选删除
* @param ids /
*/
void deleteAll(Long[] ids);
/**
* 多修改启用状态
* @param json /
*/
void changeActive(JSONObject json);
/**
* 获取起始载具号
* @param code /
*/
JSONObject getVehicle(String code);
}

View File

@@ -0,0 +1,139 @@
package org.nl.wms.base_manage.vehicle.service.dao;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 载具信息表
* </p>
*
* @author generator
* @since 2023-05-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("bm_vehicle_info")
public class BmVehicleInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 载具标识
*/
@TableId
private String storagevehicle_id;
/**
* 载具编码
*/
private String storagevehicle_code;
/**
* 载具名称
*/
private String storagevehicle_name;
/**
* 一维码
*/
private String one_code;
/**
* 二维码
*/
private String two_code;
/**
* RFID编码
*/
private String rfid_code;
/**
* 创建人
*/
private String create_id;
/**
* 创建人姓名
*/
private String create_name;
/**
* 创建时间
*/
private String create_time;
/**
* 修改人
*/
private String update_id;
/**
* 修改人姓名
*/
private String update_name;
/**
* 修改时间
*/
private String update_time;
/**
* 是否启用
*/
private Boolean is_used;
/**
* 载具类型
*/
private String storagevehicle_type;
/**
* 载具宽度
*/
private BigDecimal vehicle_width;
/**
* 载具重量(kg)
*/
private BigDecimal vehicle_weight;
/**
* 载具长度
*/
private BigDecimal vehicle_long;
/**
* 载具高度
*/
private BigDecimal vehicle_height;
/**
* 载具是否超仓位
*/
private String overstruct_type;
/**
* 占仓位数
*/
private BigDecimal occupystruct_qty;
/**
* 外部标识
*/
private String ext_id;
}

View File

@@ -0,0 +1,19 @@
package org.nl.wms.base_manage.vehicle.service.dao.mapper;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import java.util.Map;
/**
* <p>
* 载具信息表 Mapper 接口
* </p>
*
* @author generator
* @since 2023-05-10
*/
public interface BmVehicleInfoMapper extends BaseMapper<BmVehicleInfo> {
Map vehileInfo(String vehicle_code);
}

View File

@@ -0,0 +1,13 @@
<?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.base_manage.vehicle.service.dao.mapper.BmVehicleInfoMapper">
<select id="vehileInfo" resultType="java.util.Map">
select *
from md_pb_storagevehicleinfo
left join md_pb_storagevehicleext
on md_pb_storagevehicleinfo.storagevehicle_code = md_pb_storagevehicleext.storagevehicle_code
where md_pb_storagevehicleinfo.storagevehicle_code = #{vehicle_code}
and md_pb_storagevehicleinfo.is_delete = false
</select>
</mapper>

View File

@@ -0,0 +1,25 @@
package org.nl.wms.base_manage.vehicle.service.dto;
import lombok.Data;
import org.nl.common.domain.entity.BaseQuery;
import org.nl.common.domain.entity.QParam;
import org.nl.common.enums.QueryTEnum;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
/*
* @author ZZQ
* @Date 2023/5/4 19:49
*/
@Data
public class VehicleQuery extends BaseQuery<BmVehicleInfo> {
private String storagevehicle_code_begin;
private String storagevehicle_code_end;
private String storagevehicle_type;
@Override
public void paramMapping() {
super.doP.put("storagevehicle_code_begin", QParam.builder().k(new String[]{"storagevehicle_code"}).type(QueryTEnum.LT).build());
super.doP.put("storagevehicle_code_end", QParam.builder().k(new String[]{"storagevehicle_code"}).type(QueryTEnum.LE).build());
}
}

View File

@@ -0,0 +1,211 @@
package org.nl.wms.base_manage.vehicle.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.entity.PageQuery;
import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.utils.IdUtil;
import org.nl.common.utils.SecurityUtils;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.base_manage.vehicle.service.dao.mapper.BmVehicleInfoMapper;
import org.nl.wms.base_manage.vehicle.service.dto.VehicleQuery;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* <p>
* 载具信息表 服务实现类
* </p>
*
* @author generator
* @since 2023-05-10
*/
@Service
public class BmVehicleInfoServiceImpl extends ServiceImpl<BmVehicleInfoMapper, BmVehicleInfo> implements IBmVehicleInfoService {
/* @Autowired
private MdPbStoragevehicleextServiceImpl storagevehicleextService;
@Autowired
protected IMdMeMaterialbaseService iMdMeMaterialbaseService;*/
@Override
public Map vehileInfo(String vehicle_code) {
if(StringUtils.isEmpty(vehicle_code)){
return new HashMap();
}
return this.baseMapper.vehileInfo(vehicle_code);
}
@Override
public JSONArray create(JSONObject map) {
BmVehicleInfo one = this.getOne(new QueryWrapper<BmVehicleInfo>().eq("storagevehicle_code", map.getString("storagevehicle_code")));
if (!ObjectUtil.isEmpty(one)) {
throw new BadRequestException("此载具已存在");
}
String code = "";
switch (map.getString("storagevehicle_type")) {
case "00":
code = "VEHICCLE_CODE_XMTPT";
break;
case "01":
code = "VEHICCLE_CODE_CDMTP";
break;
case "02":
code = "VEHICCLE_CODE_TLD";
break;
case "03":
code = "VEHICCLE_CODE_TTP";
break;
case "04":
code = "VEHICCLE_CODE_XMTPC";
break;
case "05":
code = "VEHICCLE_CODE_LX";
break;
}
JSONArray resultCodeArr = new JSONArray();
int num = MapUtil.getInt(map, "num");
for (int i = 0; i < num; i++) {
BmVehicleInfo entity = new BmVehicleInfo();
entity.setStoragevehicle_id(IdUtil.getStringId());
/*entity.setStoragevehicle_code(CodeUtil.getNewCode(code));*/
entity.setStoragevehicle_name(entity.getStoragevehicle_code());
entity.setCreate_id(SecurityUtils.getCurrentUserId());
entity.setCreate_name(SecurityUtils.getCurrentNickName());
entity.setCreate_time(DateUtil.now());
entity.setIs_used(map.getString("is_used").equals("1"));
entity.setStoragevehicle_type(map.getString("storagevehicle_type"));
this.save(entity);
resultCodeArr.add(entity.getStoragevehicle_code());
}
return resultCodeArr;
}
@Override
@Transactional
public void updateVehicleMaterial(JSONObject vorm) {
/* Assert.notNull(vorm.getString("storagevehicle_code"),"请求参数载具编号不能为空");
storagevehicleextService.remove(new QueryWrapper<MdPbStoragevehicleext>()
.eq("storagevehicle_code",vorm.getString("storagevehicle_code")));
if (StringUtils.isEmpty(vorm.getString("material_code"))){
return;
}
MdMeMaterialbase one = iMdMeMaterialbaseService.getOne(new QueryWrapper<MdMeMaterialbase>()
.eq("material_code", vorm.getString("material_code"))
.eq("is_delete",false));
if (one==null){
throw new BadRequestException("当前物料编号不存在:"+vorm.getString("material_code"));
}
MdPbStoragevehicleext vehicleMaterial = new MdPbStoragevehicleext();
vehicleMaterial.setStoragevehicle_id(vorm.getString("storagevehicle_id"));
vehicleMaterial.setStoragevehicle_code(vorm.getString("storagevehicle_code"));
vehicleMaterial.setStorage_qty(vorm.getBigDecimal("storage_qty"));
vehicleMaterial.setWeight(vorm.getBigDecimal("weight"));
vehicleMaterial.setMaterial_id(one.getMaterial_id());
vehicleMaterial.setMaterial_code(one.getMaterial_code());
vehicleMaterial.setMaterial_spec(one.getMaterial_spec());
vehicleMaterial.setQty_unit_id(one.getBase_unit_id());
vehicleMaterial.setPcsn(vorm.getString("pcsn"));
vehicleMaterial.setUpdate_id(SecurityUtils.getCurrentUserId());
vehicleMaterial.setUpdate_name(SecurityUtils.getCurrentNickName());
vehicleMaterial.setUpdate_time(DateUtil.now());
storagevehicleextService.save(vehicleMaterial);*/
}
@Override
public Page queryAll(VehicleQuery query, PageQuery page) {
return this.page(page.build(), query.build());
}
@Override
public List<BmVehicleInfo> queryAll(Map whereJson) {
List<BmVehicleInfo> list = this.list();
return list;
}
@Override
public Object findById(Long storagevehicle_id) {
return this.getOne(new QueryWrapper<BmVehicleInfo>().eq("storagevehicle_id",storagevehicle_id));
}
@Override
public Object findByCode(String code) {
return this.getOne(new QueryWrapper<BmVehicleInfo>().eq("storagevehicle_code",code));
}
@Override
public void update(JSONObject dto) {
BmVehicleInfo entity = dto.toJavaObject(BmVehicleInfo.class);
this.updateById(entity);
}
@Override
public void deleteAll(Long[] ids) {
if (ids.length>0){
this.removeByIds(Arrays.asList(ids));
}
}
@Override
public void changeActive(JSONObject json) {
BmVehicleInfo entity = json.toJavaObject(BmVehicleInfo.class);
entity.setUpdate_id(SecurityUtils.getCurrentUserId());
entity.setUpdate_time(DateUtil.now());
entity.setUpdate_name(SecurityUtils.getCurrentNickName());
this.updateById(entity);
}
@Override
public JSONObject getVehicle(String code) {
String term = "";
switch (code) {
case "00":
term = "VEHICCLE_CODE_XMTPT";
break;
case "01":
term = "VEHICCLE_CODE_CDMTP";
break;
case "02":
term = "VEHICCLE_CODE_TLD";
break;
case "03":
term = "VEHICCLE_CODE_TTP";
break;
case "04":
term = "VEHICCLE_CODE_XMTPC";
break;
case "05":
term = "VEHICCLE_CODE_LX";
break;
}
HashMap<String, String> map = new HashMap<>();
map.put("code", term);
map.put("flag", "0");
// GenCodeServiceImpl genCodeService = new GenCodeServiceImpl();
// String value = genCodeService.codeDemo(map);
JSONObject json = new JSONObject();
// json.put("value", value);
return json;
}
}