代码更新

This commit is contained in:
2022-09-19 14:39:18 +08:00
parent e8063dfb4f
commit 87fdb2f2be
8 changed files with 683 additions and 0 deletions

View File

@@ -0,0 +1,75 @@
package org.nl.wms.basedata.st.rest;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.annotation.Log;
import org.nl.wms.basedata.st.service.StructrelavehicletypeService;
import org.springframework.data.domain.Pageable;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author geng by
* @date 2022-04-27
**/
@RestController
@RequiredArgsConstructor
@Api(tags = "仓位载具关联管理")
@RequestMapping("/api/structrelavehicletype")
@Slf4j
public class StructrelavehicletypeController {
private final StructrelavehicletypeService structrelavehicletypeService;
@GetMapping
@Log("查询仓位载具关联")
@ApiOperation("查询仓位载具关联")
//@PreAuthorize("@el.check('structrelavehicletype:list')")
public ResponseEntity<Object> query(@RequestParam Map whereJson, Pageable page){
return new ResponseEntity<>(structrelavehicletypeService.queryAll(whereJson,page),HttpStatus.OK);
}
@PostMapping
@Log("新增仓位载具关联")
@ApiOperation("新增仓位载具关联")
//@PreAuthorize("@el.check('structrelavehicletype:add')")
public ResponseEntity<Object> create(@RequestBody JSONObject param){
structrelavehicletypeService.create(param);
return new ResponseEntity<>(HttpStatus.CREATED);
}
@PutMapping
@Log("修改仓位载具关联")
@ApiOperation("修改仓位载具关联")
//@PreAuthorize("@el.check('structrelavehicletype:edit')")
public ResponseEntity<Object> update(@RequestBody JSONObject param){
structrelavehicletypeService.update(param);
return new ResponseEntity<>(HttpStatus.NO_CONTENT);
}
@Log("删除仓位载具关联")
@ApiOperation("删除仓位载具关联")
//@PreAuthorize("@el.check('structrelavehicletype:del')")
@DeleteMapping
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
structrelavehicletypeService.deleteAll(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@GetMapping("/getStruct")
@Log("查询仓位")
@ApiOperation("查询仓位")
//@PreAuthorize("@el.check('iodisstruct:list')")
public ResponseEntity<Object> getStruct(){
return new ResponseEntity<>(structrelavehicletypeService.getStruct(),HttpStatus.OK);
}
}

View File

@@ -0,0 +1,73 @@
package org.nl.wms.basedata.st.service;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.nl.wms.basedata.st.service.dto.StructrelavehicletypeDto;
import org.springframework.data.domain.Pageable;
import java.util.List;
import java.util.Map;
/**
* @description 服务接口
* @author geng by
* @date 2022-04-27
**/
public interface StructrelavehicletypeService {
/**
* 查询数据分页
* @param whereJson 条件
* @param page 分页参数
* @return Map<String,Object>
*/
Map<String,Object> queryAll(Map whereJson, Pageable page);
/**
* 查询所有数据不分页
* @param whereJson 条件参数
* @return List<StructrelavehicletypeDto>
*/
List<StructrelavehicletypeDto> queryAll(Map whereJson);
/**
* 根据ID查询
* @param relation_id ID
* @return Structrelavehicletype
*/
StructrelavehicletypeDto findById(String relation_id);
/**
* 根据编码查询
* @param code code
* @return Structrelavehicletype
*/
StructrelavehicletypeDto findByCode(String code);
/**
* 创建
* @param param /
*/
void create(JSONObject param);
/**
* 编辑
* @param param /
*/
void update(JSONObject param);
/**
* 多选删除
* @param ids /
*/
void deleteAll(String[] ids);
/**
* 查询仓位
* @return
*/
JSONArray getStruct();
}

View File

@@ -0,0 +1,64 @@
package org.nl.wms.basedata.st.service.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author geng by
* @description /
* @date 2022-04-27
**/
@Data
public class StructrelavehicletypeDto implements Serializable {
/**
* 关系标识
*/
private String relation_id;
/**
* 仓位标识
*/
private String struct_id;
/**
* 载具类型
*/
private String vehicle_type;
/**
* 创建人
*/
private Long create_id;
/**
* 创建人
*/
private String create_name;
/**
* 创建时间
*/
private String create_time;
/**
* 修改人
*/
private Long update_optid;
/**
* 修改人
*/
private String update_optname;
/**
* 修改时间
*/
private String update_time;
/**
* 是否已删除
*/
private String is_delete;
}

View File

@@ -0,0 +1,186 @@
package org.nl.wms.basedata.st.service.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.nl.utils.SecurityUtils;
import org.nl.wms.basedata.st.service.StructrelavehicletypeService;
import org.nl.wms.basedata.st.service.dto.StructrelavehicletypeDto;
import org.nl.wql.WQL;
import org.nl.wql.core.bean.WQLObject;
import org.nl.wql.util.WqlUtil;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
/**
* @author geng by
* @description 服务实现
* @date 2022-04-27
**/
@Service
@RequiredArgsConstructor
@Slf4j
public class StructrelavehicletypeServiceImpl implements StructrelavehicletypeService {
@Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String search = MapUtil.getStr(whereJson, "search");
JSONObject map = new JSONObject();
map.put("flag", "2");
if (ObjectUtil.isNotEmpty(search)) {
map.put("search", "%" + search + "%");
}
JSONObject json = WQL.getWO("ST_Structrelavehicletype_01").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "view_vehicleType.struct_code");
WQLObject wo = WQLObject.getWQLObject("sys_dict_detail");
JSONArray content = json.getJSONArray("content");
JSONArray newContent = new JSONArray();
for (int i = 0; i < content.size(); i++) {
JSONObject jsonObject = content.getJSONObject(i);
String vehicle_type = jsonObject.getString("vehicle_type");
String[] vehicle_types = new String[0];
if (StrUtil.isNotEmpty(vehicle_type)){
vehicle_types = vehicle_type.split(",");
}
String typeNames = "";
if (vehicle_types.length > 0){
for (int j = 0; j < vehicle_types.length; j++) {
JSONObject type = wo.query("value = '" + vehicle_types[j] + "' and name = 'storagevehicle_type'").uniqueResult(0);
String typeName = type.getString("label");
if (vehicle_types.length - 1 != j) {
typeNames = typeNames + typeName + ",";
}
if (vehicle_types.length - 1 == j) {
typeNames = typeNames + typeName;
}
}
}
jsonObject.put("is_edit","0");
jsonObject.put("vehicle_type_name", typeNames);
jsonObject.put("vehicle_type", vehicle_types);
newContent.add(jsonObject);
}
json.put("content", newContent);
return json;
}
@Override
public List<StructrelavehicletypeDto> queryAll(Map whereJson) {
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
JSONArray arr = wo.query().getResultJSONArray(0);
if (ObjectUtil.isNotEmpty(arr)) return arr.toJavaList(StructrelavehicletypeDto.class);
return null;
}
@Override
public StructrelavehicletypeDto findById(String relation_id) {
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
JSONObject json = wo.query("relation_id = '" + relation_id + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(json)) {
return json.toJavaObject(StructrelavehicletypeDto.class);
}
return null;
}
@Override
public StructrelavehicletypeDto findByCode(String code) {
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
if (ObjectUtil.isNotEmpty(json)) {
return json.toJavaObject(StructrelavehicletypeDto.class);
}
return null;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void create(JSONObject param) {
String struct_id = param.getString("struct_id");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
JSONArray vehicle_types = param.getJSONArray("vehicle_type");
for (int i = 0; i < vehicle_types.size(); i++) {
param.put("relation_id", String.valueOf(IdUtil.getSnowflake(1, 1).nextId()));
param.put("struct_id", struct_id);
param.put("vehicle_type", vehicle_types.get(i));
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
param.put("create_id", currentUserId);
param.put("create_name", nickName);
param.put("create_time", now);
wo.insert(param);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void update(JSONObject param) {
String struct_id = param.getString("struct_id");
Long currentUserId = SecurityUtils.getCurrentUserId();
String nickName = SecurityUtils.getNickName();
String now = DateUtil.now();
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
wo.delete("struct_id = '" + struct_id + "'");
JSONArray vehicle_types = param.getJSONArray("vehicle_type");
if (vehicle_types.size() == 0){
param.put("relation_id", String.valueOf(IdUtil.getSnowflake(1, 1).nextId()));
param.put("struct_id", struct_id);
param.put("vehicle_type", null);
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
param.put("create_id", currentUserId);
param.put("create_name", nickName);
param.put("create_time", now);
wo.insert(param);
return;
}
for (int i = 0; i < vehicle_types.size(); i++) {
param.put("relation_id", String.valueOf(IdUtil.getSnowflake(1, 1).nextId()));
param.put("struct_id", struct_id);
param.put("vehicle_type", vehicle_types.get(i));
param.put("update_optid", currentUserId);
param.put("update_optname", nickName);
param.put("update_time", now);
param.put("create_id", currentUserId);
param.put("create_name", nickName);
param.put("create_time", now);
wo.insert(param);
}
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteAll(String[] ids) {
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelavehicletype");
for (String struct_id : ids) {
wo.delete("struct_id = '" + struct_id + "'");
}
}
@Override
public JSONArray getStruct() {
JSONObject map = new JSONObject();
map.put("flag", "1");
JSONArray json = WQL.getWO("ST_Structrelavehicletype_01").addParamMap(map).process().getResultJSONArray(0);
return json;
}
}

View File

@@ -0,0 +1,86 @@
[交易说明]
交易名: 仓位载具类型查询
所属模块:
功能简述:
版权所有:
表引用:
版本经历:
[数据库]
--指定数据库为空采用默认值默认为db.properties中列出的第一个库
[IO定义]
#################################################
## 表字段对应输入参数
#################################################
输入.flag TYPEAS s_string
输入.search TYPEAS s_string
[临时表]
--这边列出来的临时表就会在运行期动态创建
[临时变量]
--所有中间过程变量均可在此处定义
[业务过程]
##########################################
# 1、输入输出检查 #
##########################################
##########################################
# 2、主过程前处理 #
##########################################
##########################################
# 3、业务主过程 #
##########################################
IF 输入.flag = "1"
PAGEQUERY
SELECT
*
FROM
st_ivt_structattr
WHERE
is_delete = '0' and struct_id not in(
select distinct struct_id from st_ivt_structrelavehicletype
)
ENDSELECT
ENDPAGEQUERY
ENDIF
IF 输入.flag = "2"
PAGEQUERY
SELECT
*
FROM
(
SELECT
any_value ( vehicleType.struct_id ) AS struct_id,
any_value ( vehicleType.create_id ) AS create_id,
any_value ( vehicleType.create_name ) AS create_name,
any_value ( vehicleType.create_time ) AS create_time,
any_value ( vehicleType.update_optname ) AS update_optname,
any_value ( struct.struct_code ) AS struct_code,
any_value ( vehicleType.update_time ) AS update_time,
any_value ( struct.struct_name ) AS struct_name,
any_value ( GROUP_CONCAT( vehicleType.vehicle_type ) ) AS vehicle_type
FROM
ST_IVT_StructRelaVehicleType vehicleType
LEFT JOIN st_ivt_structattr struct ON vehicleType.struct_id = struct.struct_id
GROUP BY
vehicleType.struct_id
) AS view_vehicleType
WHERE
1 = 1
OPTION 输入.search <> ""
(view_vehicleType.struct_code like 输入.search or
view_vehicleType.struct_name like 输入.search)
ENDOPTION
ENDSELECT
ENDPAGEQUERY
ENDIF