add:修改工单相关
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
package org.nl.wms.masterdata_manage.备份st;
|
||||
|
||||
/**
|
||||
* // 11-扣减可用; 12-增加可用;
|
||||
* // 21-减库存; 22-加库存; 23-同时加; 24-同时减
|
||||
*/
|
||||
public enum IvtChangeTypeEnum {
|
||||
SUB_CAN_USE("扣减可用数", 11),
|
||||
ADD_CAN_USE("增加用数", 12),
|
||||
|
||||
SUB_IVT("扣减库存", 21),
|
||||
ADD_IVT("增加库存", 22),
|
||||
ADD_IVT_AND_CAN_USE("同时加库存和可用", 23),
|
||||
SUB_IVT_AND_CAN_USE("同时减库存和可用", 24);
|
||||
|
||||
private final String name;
|
||||
private final int index;
|
||||
|
||||
IvtChangeTypeEnum(String name, int index) {
|
||||
this.name = name;
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public int getIndex() {
|
||||
return index;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
package org.nl.wms.masterdata_manage.备份st;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* Title: Test.java Description: 一、入库 单据审核,可用数、库存数加上。 取消审核,可用数、库存数减掉 二、出库
|
||||
* 单据分配,可用数减掉 取消分配,可用数加回 单据审核,库存数减掉 取消审核,库存数加回
|
||||
*
|
||||
* @author ldjun
|
||||
* @created 2020年7月23日 下午2:23:04
|
||||
*/
|
||||
public class StoreIvtServiceImpl {
|
||||
/**
|
||||
* @discription 添加仓储变动记录
|
||||
* @author ldjun
|
||||
* @created 2020年5月12日 下午12:54:42
|
||||
*/
|
||||
public void addIvtFlow(JSONObject disObj, IvtChangeTypeEnum changeType) {
|
||||
String struct_id = disObj.getString("struct_id");
|
||||
JSONObject pointObj = WQLObject.getWQLObject("sch_base_point").query("point_id ='" + struct_id + "'").uniqueResult(0);
|
||||
String vehicle_code = disObj.getString("vehicle_code");
|
||||
if (StrUtil.isEmpty(struct_id)) {
|
||||
throw new BadRequestException("仓位标识不能为空!");
|
||||
}
|
||||
String change_qty = disObj.getString("change_qty");
|
||||
if (StrUtil.isEmpty(change_qty)) {
|
||||
change_qty = "0";
|
||||
}
|
||||
if (StrUtil.equals("0", change_qty)) {
|
||||
throw new BadRequestException("变动量不能都为0!");
|
||||
}
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("change_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
param.put("struct_id", struct_id);
|
||||
param.put("struct_code",pointObj.getString("point_code"));
|
||||
param.put("struct_name",pointObj.getString("point_name"));
|
||||
param.put("material_id", disObj.getString("material_id"));
|
||||
param.put("pcsn", disObj.getString("pcsn"));
|
||||
//先默认写死,只有一个仓库
|
||||
param.put("stor_id", "1528627995269533696");
|
||||
param.put("change_type_scode",changeType.getIndex());
|
||||
|
||||
param.put("inv_id", disObj.getString("bill_id"));
|
||||
param.put("bill_code", disObj.getString("bill_code"));
|
||||
param.put("bill_type_scode", disObj.getString("bill_type_scode"));
|
||||
param.put("qty_unit_id", disObj.getString("qty_unit_id"));
|
||||
param.put("change_time", DateUtil.now());
|
||||
param.put("change_qty", change_qty);
|
||||
param.put("change_person_id", SecurityUtils.getCurrentUserId());
|
||||
param.put("change_person_name", SecurityUtils.getCurrentNickName());
|
||||
|
||||
|
||||
param.put("change_type", changeType.getIndex());
|
||||
param.put("workprocedure_id", disObj.getString("workprocedure_id"));
|
||||
param.put("is_full", disObj.getString("is_full"));
|
||||
|
||||
|
||||
// 仓位库存变动记录表【ST_IVT_StructIvtFlow】
|
||||
WQLObject ivtFlowTab = WQLObject.getWQLObject("ST_IVT_StructIvtFlow");
|
||||
ivtFlowTab.insert(param);
|
||||
// 根据变动记录改变仓位库存
|
||||
param.put("vehicle_code", vehicle_code);
|
||||
param.put("stewing_time", disObj.getString("stewing_time"));
|
||||
param.put("producetask_id", disObj.getString("producetask_id"));
|
||||
this.changeInventory(param, changeType);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param param
|
||||
* @discription 扣减可用数
|
||||
* @author ldjun
|
||||
* @created 2020年5月12日 上午8:52:44
|
||||
*/
|
||||
private void changeInventory(JSONObject param, IvtChangeTypeEnum changeType) {
|
||||
WQLObject stackIvtTab = WQLObject.getWQLObject("ST_IVT_StructIvt");
|
||||
String struct_id = param.getString("struct_id");
|
||||
String vehicle_code = param.getString("vehicle_code");
|
||||
String stewing_time = param.getString("stewing_time");
|
||||
String producetask_id = param.getString("producetask_id");
|
||||
String struct_name = param.getString("struct_name");
|
||||
String struct_code = param.getString("struct_code");
|
||||
if (StrUtil.isEmpty(struct_id)) {
|
||||
throw new BadRequestException("仓位标识不能为空!");
|
||||
}
|
||||
|
||||
String material_id = param.getString("material_id");
|
||||
// 拼接查询条件参数
|
||||
String whereArgs = "struct_id = '" + struct_id + "' and material_id = '" + material_id + "'";
|
||||
JSONObject stackIvtObj = stackIvtTab.query(whereArgs).uniqueResult(0);
|
||||
|
||||
// 需变动的数量
|
||||
String change_qty = param.getString("change_qty");
|
||||
|
||||
// 变动类型
|
||||
// 11-扣减可用; 12-增加可用; 13-刷新可用
|
||||
// 21-减库存; 22-加库存; 23-同时加; 24-同时减
|
||||
// 31-加待入; 32-减待入 33减库存可用数可以为0 34同时减(库存和数量) 考虑负数 35 加库存 考虑负数
|
||||
if (stackIvtObj == null) {// 说明该货位上还没有该物料,直接插入记录即可
|
||||
JSONObject json = new JSONObject();
|
||||
json.put("stockrecord_id", IdUtil.getSnowflake(1, 1).nextId());
|
||||
json.put("struct_id", param.getString("struct_id"));
|
||||
json.put("struct_name", param.getString("struct_name"));
|
||||
json.put("material_id", param.getString("material_id"));
|
||||
|
||||
json.put("pcsn", param.getString("pcsn"));
|
||||
json.put("qty_unit_id", param.getString("qty_unit_id"));
|
||||
json.put("instorage_time", DateUtil.now());
|
||||
|
||||
json.put("canuse_qty", "0");
|
||||
json.put("frozen_qty", "0");
|
||||
json.put("ivt_qty", "0");
|
||||
json.put("warehousing_qty", "0");
|
||||
json.put("qc_qty", "0");
|
||||
|
||||
// 11-扣减可用; 12-增加可用;
|
||||
// 21-减库存; 22-加库存; 23-同时加(可用和库存); 24-同时减(可用和库存)
|
||||
// 31-加待入; 32-减待入
|
||||
switch (changeType.getIndex()) {
|
||||
case 11: // 扣减可用重量和数量
|
||||
break;
|
||||
|
||||
case 12:
|
||||
break;
|
||||
case 13:
|
||||
break;
|
||||
case 21:
|
||||
break;
|
||||
case 22:
|
||||
json.put("ivt_qty", change_qty);
|
||||
break;
|
||||
case 23:
|
||||
json.put("ivt_qty", change_qty);
|
||||
json.put("canuse_qty", change_qty);
|
||||
break;
|
||||
case 24:// 同时减
|
||||
// 语句
|
||||
break;
|
||||
case 31:// 加待入
|
||||
// 语句
|
||||
break;
|
||||
case 32:// 减待入
|
||||
// 语句
|
||||
break;
|
||||
default: // 可选
|
||||
throw new BadRequestException("变动类型不正确!");
|
||||
}
|
||||
json.put("vehicle_code", vehicle_code);
|
||||
json.put("stewing_time", stewing_time);
|
||||
json.put("producetask_id", producetask_id);
|
||||
json.put("struct_code", struct_code);
|
||||
json.put("struct_name", struct_name);
|
||||
json.put("barcode", param.getString("barcode"));
|
||||
json.put("workprocedure_id", param.getString("workprocedure_id"));
|
||||
String is_full = param.getString("is_full");
|
||||
if (StrUtil.isEmpty(is_full)) {
|
||||
is_full = "1";
|
||||
}
|
||||
json.put("is_full", is_full);
|
||||
|
||||
stackIvtTab.insert(json);
|
||||
}
|
||||
// 对应的货位上有物料,需判断数量重量相关字段是否符合实际逻辑,符合时更新相应记录
|
||||
if (stackIvtObj != null) {
|
||||
// 变动前可用数量
|
||||
String before_canuse_qty = stackIvtObj.getString("canuse_qty");
|
||||
// 变动前冻结数量
|
||||
String before_frozen_qty = stackIvtObj.getString("frozen_qty");
|
||||
// 变动前库存数量
|
||||
String before_ivt_qty = stackIvtObj.getString("ivt_qty");
|
||||
// 变动前待入数量
|
||||
String before_warehousing_qty = stackIvtObj.getString("warehousing_qty");
|
||||
// 变动前待检数量
|
||||
String before_qc_qty = stackIvtObj.getString("qc_qty");
|
||||
|
||||
// 变动后可用数量
|
||||
BigDecimal after_canuse_qty = new BigDecimal(0);
|
||||
// 变动后冻结数量
|
||||
BigDecimal after_frozen_qty = new BigDecimal(0);
|
||||
// 变动后库存数量
|
||||
BigDecimal after_ivt_qty = new BigDecimal(0);
|
||||
// 变动后待入数量
|
||||
BigDecimal after_warehousing_qty = new BigDecimal(0);
|
||||
// 变动后待检数量
|
||||
BigDecimal after_qc_qty = new BigDecimal(0);
|
||||
|
||||
// 判断是否减为0
|
||||
boolean is_sub0 = false;
|
||||
switch (changeType.getIndex()) {
|
||||
case 11: // 扣减可用重量和数量
|
||||
// 变动后可用数量
|
||||
after_canuse_qty = NumberUtil.sub(before_canuse_qty, change_qty);
|
||||
if (after_canuse_qty.doubleValue() < 0) {
|
||||
throw new BadRequestException("可用数量不足,无法操作!");
|
||||
}
|
||||
stackIvtObj.put("canuse_qty", after_canuse_qty);
|
||||
break;
|
||||
case 12:// 12-增加可用重量和数量;
|
||||
// 变动后可用数量
|
||||
after_canuse_qty = NumberUtil.add(before_canuse_qty, change_qty);
|
||||
stackIvtObj.put("canuse_qty", after_canuse_qty);
|
||||
break;
|
||||
case 13:// 刷新可用数量和重量
|
||||
// 语句
|
||||
break;
|
||||
case 21:// 减库存
|
||||
// 变动后库存数量
|
||||
after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty);
|
||||
if (after_ivt_qty.doubleValue() < 0) {
|
||||
throw new BadRequestException("可用数量不足,无法操作!");
|
||||
}
|
||||
if (after_ivt_qty.doubleValue() <= 0) {
|
||||
is_sub0 = true;
|
||||
}
|
||||
stackIvtObj.put("ivt_qty", after_ivt_qty);
|
||||
break;
|
||||
case 33:// 减库存
|
||||
after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty);
|
||||
if (after_ivt_qty.doubleValue() < 0) {
|
||||
throw new BadRequestException("库存数量不足,无法操作!");
|
||||
}
|
||||
if (after_ivt_qty.doubleValue() <= 0) {
|
||||
is_sub0 = true;
|
||||
}
|
||||
stackIvtObj.put("ivt_qty", after_ivt_qty);
|
||||
break;
|
||||
case 22:// 加库存重量和数量
|
||||
// 变动后库存数量
|
||||
after_ivt_qty = NumberUtil.add(before_ivt_qty, change_qty);
|
||||
stackIvtObj.put("ivt_qty", after_ivt_qty);
|
||||
break;
|
||||
case 23:// 同时加(可用和库存)
|
||||
// 变动后可用数量
|
||||
after_canuse_qty = NumberUtil.add(before_canuse_qty, change_qty);
|
||||
stackIvtObj.put("canuse_qty", after_canuse_qty);
|
||||
|
||||
// 变动后库存数量
|
||||
after_ivt_qty = NumberUtil.add(before_ivt_qty, change_qty);
|
||||
stackIvtObj.put("ivt_qty", after_ivt_qty);
|
||||
// 语句
|
||||
break;
|
||||
case 24:// 同时减(库存和数量)
|
||||
// 变动后可用数量
|
||||
after_canuse_qty = NumberUtil.sub(before_canuse_qty, change_qty);
|
||||
if (after_canuse_qty.doubleValue() < 0) {
|
||||
throw new BadRequestException("可用数量不足,无法操作!");
|
||||
}
|
||||
stackIvtObj.put("canuse_qty", after_canuse_qty);
|
||||
|
||||
// 变动后库存数量
|
||||
after_ivt_qty = NumberUtil.sub(before_ivt_qty, change_qty);
|
||||
if (after_ivt_qty.doubleValue() < 0) {
|
||||
throw new BadRequestException("可用数量不足,无法操作!");
|
||||
}
|
||||
if (after_ivt_qty.doubleValue() <= 0) {
|
||||
is_sub0 = true;
|
||||
}
|
||||
stackIvtObj.put("ivt_qty", after_ivt_qty);
|
||||
// 语句
|
||||
|
||||
break;
|
||||
case 31:// 加待入
|
||||
// 语句
|
||||
break;
|
||||
case 32:// 减待入
|
||||
// 语句
|
||||
break;
|
||||
default: // 可选
|
||||
throw new BadRequestException("变动类型不正确!");
|
||||
}
|
||||
|
||||
|
||||
// 库存减为0,删除该记录
|
||||
if (is_sub0) {
|
||||
// 出完货以后更新载具号为空
|
||||
JSONObject structObj = new JSONObject();
|
||||
structObj.put("storagevehicle_code", "");
|
||||
structObj.put("struct_id", stackIvtObj.getString("struct_id"));
|
||||
stackIvtTab.delete(whereArgs);
|
||||
|
||||
} else {//更新
|
||||
stackIvtObj.put("vehicle_code", vehicle_code);
|
||||
stackIvtTab.update(stackIvtObj, whereArgs);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份st.service;
|
||||
|
||||
import org.nl.wms.masterdata_manage.备份st.service.dto.MaterialsafeivtDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author zhouz
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
public interface MaterialsafeivtService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param whereJson 条件参数
|
||||
* @return List<MaterialsafeivtDto>
|
||||
*/
|
||||
List<MaterialsafeivtDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param material_id ID
|
||||
* @return Materialsafeivt
|
||||
*/
|
||||
MaterialsafeivtDto findById(Long material_id);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
* @param code code
|
||||
* @return Materialsafeivt
|
||||
*/
|
||||
MaterialsafeivtDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param dto /
|
||||
*/
|
||||
void create(MaterialsafeivtDto dto);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param dto /
|
||||
*/
|
||||
void update(MaterialsafeivtDto dto);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Long[] ids);
|
||||
|
||||
void insertSafe(Map whereJson);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份st.service;
|
||||
|
||||
import org.nl.wms.masterdata_manage.备份st.service.dto.StructrelamaterialDto;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @description 服务接口
|
||||
* @author zhouz
|
||||
* @date 2021-12-09
|
||||
**/
|
||||
public interface StructrelamaterialService {
|
||||
|
||||
/**
|
||||
* 查询数据分页
|
||||
* @param whereJson 条件
|
||||
* @param page 分页参数
|
||||
* @return Map<String,Object>
|
||||
*/
|
||||
Map<String,Object> queryAll(Map whereJson, Pageable page);
|
||||
|
||||
/**
|
||||
* 查询所有数据不分页
|
||||
* @param whereJson 条件参数
|
||||
* @return List<StructrelamaterialDto>
|
||||
*/
|
||||
List<StructrelamaterialDto> queryAll(Map whereJson);
|
||||
|
||||
/**
|
||||
* 根据ID查询
|
||||
* @param material_type_id ID
|
||||
* @return Structrelamaterial
|
||||
*/
|
||||
StructrelamaterialDto findById(Long material_type_id);
|
||||
|
||||
/**
|
||||
* 根据编码查询
|
||||
* @param code code
|
||||
* @return Structrelamaterial
|
||||
*/
|
||||
StructrelamaterialDto findByCode(String code);
|
||||
|
||||
|
||||
/**
|
||||
* 创建
|
||||
* @param dto /
|
||||
*/
|
||||
void create(StructrelamaterialDto dto);
|
||||
|
||||
/**
|
||||
* 编辑
|
||||
* @param dto /
|
||||
*/
|
||||
void update(StructrelamaterialDto dto);
|
||||
|
||||
/**
|
||||
* 多选删除
|
||||
* @param ids /
|
||||
*/
|
||||
void deleteAll(Long[] ids);
|
||||
|
||||
void insertSet(Map whereJson);
|
||||
|
||||
void delSet(Map whereJson);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,73 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份st.service;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.nl.wms.masterdata_manage.备份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();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author zhouz
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
@Data
|
||||
public class MaterialsafeivtDto implements Serializable {
|
||||
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long stor_id;
|
||||
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long material_id;
|
||||
|
||||
private BigDecimal safe_ivt_down;
|
||||
|
||||
private BigDecimal safe_ivt_up;
|
||||
|
||||
private Long qty_unit_id;
|
||||
|
||||
private String qty_unit_name;
|
||||
|
||||
private Long set_id;
|
||||
|
||||
private String set_name;
|
||||
|
||||
private String set_time;
|
||||
}
|
||||
@@ -0,0 +1,116 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author zhouz
|
||||
* @date 2021-12-09
|
||||
**/
|
||||
@Data
|
||||
public class SectattrDto implements Serializable {
|
||||
|
||||
/** 库区标识 */
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long sect_id;
|
||||
|
||||
/** 库区编码 */
|
||||
private String sect_code;
|
||||
|
||||
/** 库区名称 */
|
||||
private String sect_name;
|
||||
|
||||
/** 库区简称 */
|
||||
private String simple_name;
|
||||
|
||||
/** 库区类型 */
|
||||
private String sect_type_attr;
|
||||
|
||||
/** 仓库标识 */
|
||||
private Long stor_id;
|
||||
|
||||
/** 仓库名称 */
|
||||
private String stor_name;
|
||||
|
||||
/** 仓库类型 */
|
||||
private String stor_type;
|
||||
|
||||
/** 容量 */
|
||||
private BigDecimal capacity;
|
||||
|
||||
/** 宽度 */
|
||||
private BigDecimal width;
|
||||
|
||||
/** 高度 */
|
||||
private BigDecimal height;
|
||||
|
||||
/** 深度 */
|
||||
private BigDecimal zdepth;
|
||||
|
||||
/** 起始X坐标 */
|
||||
private BigDecimal xqty;
|
||||
|
||||
/** 起始Y坐标 */
|
||||
private BigDecimal yqty;
|
||||
|
||||
/** 起始Z坐标 */
|
||||
private BigDecimal zqty;
|
||||
|
||||
/** 负责人 */
|
||||
private String sect_manager_name;
|
||||
|
||||
/** 负责人电话 */
|
||||
private String mobile_no;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
/** 创建人 */
|
||||
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 String is_delete;
|
||||
|
||||
/** 背景色 */
|
||||
private String back_ground_color;
|
||||
|
||||
/** 前景色 */
|
||||
private String front_ground_color;
|
||||
|
||||
/** 背景图片 */
|
||||
private String back_ground_pic;
|
||||
|
||||
/** 字体显示方向 */
|
||||
private String font_direction_scode;
|
||||
|
||||
/** 所在楼层 */
|
||||
private BigDecimal floor_no;
|
||||
|
||||
/** 是否启用 */
|
||||
private String is_used;
|
||||
|
||||
/** 外部标识 */
|
||||
private String ext_id;
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author zhouz
|
||||
* @date 2021-12-08
|
||||
**/
|
||||
@Data
|
||||
public class StorattrDto implements Serializable {
|
||||
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long stor_id;
|
||||
|
||||
/** 仓库编码 */
|
||||
private String stor_code;
|
||||
|
||||
/** 仓库名称 */
|
||||
private String stor_name;
|
||||
|
||||
/** 简称 */
|
||||
private String simple_name;
|
||||
|
||||
/** 容量 */
|
||||
private BigDecimal stor_capacity;
|
||||
|
||||
/** 总面积(㎡) */
|
||||
private BigDecimal total_area;
|
||||
|
||||
/** 仓库性质 */
|
||||
private String stor_type_scode;
|
||||
|
||||
private String is_virtualstore;
|
||||
|
||||
private String is_semi_finished;
|
||||
|
||||
private String is_materialstore;
|
||||
|
||||
private String is_productstore;
|
||||
|
||||
private String is_reversed;
|
||||
|
||||
private String is_mvout_auto_cfm;
|
||||
|
||||
private String is_mvin_auto_cfm;
|
||||
|
||||
private String area;
|
||||
|
||||
/** 地址 */
|
||||
private String storea_ddress;
|
||||
|
||||
/** 负责人 */
|
||||
private String principal;
|
||||
|
||||
/** 联系电话 */
|
||||
private String office_phone;
|
||||
|
||||
private String mobile_no;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
|
||||
private BigDecimal order_index;
|
||||
|
||||
private String whstate_scode;
|
||||
|
||||
/** 是否启用 */
|
||||
private String is_used;
|
||||
|
||||
private String base_class_id;
|
||||
|
||||
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 Long sysownerid;
|
||||
|
||||
private Long sysdeptid;
|
||||
|
||||
private Long syscompanyid;
|
||||
|
||||
private String is_delete;
|
||||
|
||||
private String ext_id;
|
||||
|
||||
private String depart_name;
|
||||
|
||||
private String company_name;
|
||||
|
||||
private String is_attachment;
|
||||
}
|
||||
@@ -0,0 +1,146 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author zhouz
|
||||
* @date 2021-12-09
|
||||
**/
|
||||
@Data
|
||||
public class StructattrDto implements Serializable {
|
||||
|
||||
/** 仓位标识 */
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long struct_id;
|
||||
|
||||
/** 仓位编码 */
|
||||
private String struct_code;
|
||||
|
||||
/** 仓位名称 */
|
||||
private String struct_name;
|
||||
|
||||
/** 仓位简称 */
|
||||
private String simple_name;
|
||||
|
||||
/** 库区标识 */
|
||||
private Long sect_id;
|
||||
|
||||
/** 库区编码 */
|
||||
private String sect_code;
|
||||
|
||||
/** 库区名称 */
|
||||
private String sect_name;
|
||||
|
||||
/** 仓库标识 */
|
||||
private Long stor_id;
|
||||
|
||||
/** 仓库编码 */
|
||||
private String stor_code;
|
||||
|
||||
/** 仓库名称 */
|
||||
private String stor_name;
|
||||
|
||||
/** 仓库类型 */
|
||||
private String stor_type;
|
||||
|
||||
/** 容量 */
|
||||
private BigDecimal capacity;
|
||||
|
||||
/** 宽度 */
|
||||
private BigDecimal width;
|
||||
|
||||
/** 高度 */
|
||||
private BigDecimal height;
|
||||
|
||||
/** 深度 */
|
||||
private BigDecimal zdepth;
|
||||
|
||||
/** 承受重量 */
|
||||
private BigDecimal weight;
|
||||
|
||||
/** 起始X坐标 */
|
||||
private BigDecimal xqty;
|
||||
|
||||
/** 起始Y坐标 */
|
||||
private BigDecimal yqty;
|
||||
|
||||
/** 起始Z坐标 */
|
||||
private BigDecimal zqty;
|
||||
|
||||
/** 是否临时仓位 */
|
||||
private String is_tempstruct;
|
||||
|
||||
/** 创建人 */
|
||||
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 String is_delete;
|
||||
|
||||
/** 背景色 */
|
||||
private String back_ground_color;
|
||||
|
||||
/** 前景色 */
|
||||
private String front_ground_color;
|
||||
|
||||
/** 背景图片 */
|
||||
private String back_ground_pic;
|
||||
|
||||
/** 字体显示方向 */
|
||||
private String font_direction_scode;
|
||||
|
||||
/** 是否启用 */
|
||||
private String is_used;
|
||||
|
||||
/** 是否判断高度 */
|
||||
private String is_zdepth;
|
||||
|
||||
/** 存储载具标识 */
|
||||
private Long storagevehicle_id;
|
||||
|
||||
/** 存储载具号 */
|
||||
private String storagevehicle_code;
|
||||
|
||||
/** 存储载具类型 */
|
||||
private String storagevehicle_type;
|
||||
|
||||
/** 是否空载具 */
|
||||
private String is_emptyvehicle;
|
||||
|
||||
/** 载具数量 */
|
||||
private BigDecimal storagevehicle_qty;
|
||||
|
||||
/** 锁定类型 */
|
||||
private String lock_type;
|
||||
|
||||
/** 物料高度类型 */
|
||||
private String material_height_type;
|
||||
|
||||
/** 外部标识 */
|
||||
private String ext_id;
|
||||
|
||||
/** 备注 */
|
||||
private String remark;
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author geng by
|
||||
* @date 2022-06-02
|
||||
**/
|
||||
@Data
|
||||
public class StructivtDto implements Serializable {
|
||||
|
||||
/** 库存记录标识 */
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long stockrecord_id;
|
||||
|
||||
/** 仓位标识 */
|
||||
private Long struct_id;
|
||||
|
||||
/** 仓位编码 */
|
||||
private String struct_code;
|
||||
|
||||
/** 仓位名称 */
|
||||
private String struct_name;
|
||||
|
||||
/** 工序标识 */
|
||||
private Long workprocedure_id;
|
||||
|
||||
/** 物料标识 */
|
||||
private Long material_id;
|
||||
|
||||
/** 品质类型 */
|
||||
private String quality_scode;
|
||||
|
||||
/** 批次 */
|
||||
private String pcsn;
|
||||
|
||||
/** 可用数 */
|
||||
private BigDecimal canuse_qty;
|
||||
|
||||
/** 冻结数 */
|
||||
private BigDecimal frozen_qty;
|
||||
|
||||
/** 库存数 */
|
||||
private BigDecimal ivt_qty;
|
||||
|
||||
/** 待入数 */
|
||||
private BigDecimal warehousing_qty;
|
||||
|
||||
/** 计量单位标识 */
|
||||
private Long qty_unit_id;
|
||||
|
||||
/** 入库时间 */
|
||||
private Date instorage_time;
|
||||
|
||||
/** 销售单标识 */
|
||||
private Long sale_id;
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
package org.nl.wms.masterdata_manage.备份st.service.dto;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @description /
|
||||
* @author zhouz
|
||||
* @date 2021-12-09
|
||||
**/
|
||||
@Data
|
||||
public class StructrelamaterialDto implements Serializable {
|
||||
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long sect_id;
|
||||
|
||||
/** 防止精度丢失 */
|
||||
@JsonSerialize(using= ToStringSerializer.class)
|
||||
private Long material_type_id;
|
||||
|
||||
private Long set_id;
|
||||
|
||||
private String set_name;
|
||||
|
||||
private Date set_time;
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package org.nl.wms.masterdata_manage.备份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 String create_id;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
private String create_name;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private String create_time;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String update_id;
|
||||
|
||||
/**
|
||||
* 修改人
|
||||
*/
|
||||
private String update_name;
|
||||
|
||||
/**
|
||||
* 修改时间
|
||||
*/
|
||||
private String update_time;
|
||||
|
||||
/**
|
||||
* 是否已删除
|
||||
*/
|
||||
private String is_delete;
|
||||
}
|
||||
@@ -0,0 +1,157 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份st.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.masterdata_manage.备份master.service.ClassstandardService;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.MaterialsafeivtService;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.dto.MaterialsafeivtDto;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author zhouz
|
||||
* @description 服务实现
|
||||
* @date 2021-12-10
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class MaterialsafeivtServiceImpl implements MaterialsafeivtService {
|
||||
private final ClassstandardService classstandardService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String search = (String) whereJson.get("search");
|
||||
String class_idStr = (String) whereJson.get("class_idStr");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
if (!StrUtil.isEmpty(search)) {
|
||||
//处理转义字符
|
||||
if (search.contains("\\")) search = search.replace("\\", "\\\\\\");
|
||||
map.put("search", "%" + search + "%");
|
||||
}
|
||||
String material_type_id = (String) whereJson.get("material_type_id");
|
||||
//处理物料当前节点的所有子节点
|
||||
if (!StrUtil.isEmpty(material_type_id)) {
|
||||
map.put("material_type_id", material_type_id);
|
||||
String classIds = classstandardService.getChildIdStr(material_type_id);
|
||||
map.put("classIds", classIds);
|
||||
} else if (ObjectUtil.isNotEmpty(class_idStr)) {
|
||||
String classIds = classstandardService.getAllChildIdStr(class_idStr);
|
||||
map.put("classIds", classIds);
|
||||
}
|
||||
|
||||
map.put("flag", "1");
|
||||
map.put("stor_id", MapUtil.getStr(whereJson, "stor_id"));
|
||||
JSONObject jo = WQL.getWO("QST_IVT_MATERIALSAFE").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "set_time desc");
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertSafe(Map whereJson) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
String stor_id = (String) whereJson.get("stor_id");
|
||||
ArrayList<HashMap> rows = (ArrayList<HashMap>) whereJson.get("rows");
|
||||
for (int i = 0; i < rows.size(); i++) {
|
||||
HashMap<String, String> row = rows.get(i);
|
||||
WQLObject.getWQLObject("ST_IVT_MaterialSafeIvt").delete("stor_id = '" + stor_id + "' AND material_id = '" + row.get("material_id") + "'");
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("stor_id", stor_id);
|
||||
jo.put("safe_ivt_down", row.get("safe_ivt_down"));
|
||||
jo.put("material_id", row.get("material_id"));
|
||||
jo.put("safe_ivt_up", "999999");
|
||||
jo.put("qty_unit_id", row.get("qty_unit_id"));
|
||||
jo.put("qty_unit_name", row.get("qty_unit_name"));
|
||||
jo.put("set_id", currentUserId + "");
|
||||
jo.put("set_name", nickName);
|
||||
jo.put("set_time", DateUtil.now());
|
||||
WQLObject.getWQLObject("ST_IVT_MaterialSafeIvt").insert(jo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MaterialsafeivtDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<MaterialsafeivtDto> list = arr.toJavaList(MaterialsafeivtDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialsafeivtDto findById(Long material_id) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = wo.query("material_id =" + material_id + "").uniqueResult(0);
|
||||
final MaterialsafeivtDto obj = json.toJavaObject(MaterialsafeivtDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MaterialsafeivtDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final MaterialsafeivtDto obj = json.toJavaObject(MaterialsafeivtDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(MaterialsafeivtDto dto) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.insert(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(MaterialsafeivtDto dto) {
|
||||
MaterialsafeivtDto entity = this.findById(dto.getMaterial_id());
|
||||
if (entity == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.update(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt");
|
||||
for (Long material_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("material_id", String.valueOf(material_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", DateUtil.now());
|
||||
wo.update(param);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,177 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份st.service.impl;
|
||||
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.nl.modules.common.exception.BadRequestException;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.masterdata_manage.备份master.service.ClassstandardService;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.StructrelamaterialService;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.dto.StructrelamaterialDto;
|
||||
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Date;
|
||||
/**
|
||||
* @author zhouz
|
||||
* @description 服务实现
|
||||
* @date 2021-12-09
|
||||
**/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class StructrelamaterialServiceImpl implements StructrelamaterialService {
|
||||
private final ClassstandardService classstandardService;
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String search = (String) whereJson.get("search");
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
if (!StrUtil.isEmpty(search)) {
|
||||
map.put("search", "%" + search + "%");
|
||||
}
|
||||
map.put("flag", "1");
|
||||
map.put("stor_id", (String) whereJson.get("stor_id"));
|
||||
map.put("sect_id", (String) whereJson.get("sect_id"));
|
||||
String material_type_id = (String) whereJson.get("material_type_id");
|
||||
String class_idStr = (String) whereJson.get("class_idStr");
|
||||
//处理物料当前节点的所有子节点
|
||||
if (!StrUtil.isEmpty(material_type_id)) {
|
||||
map.put("material_type_id", material_type_id);
|
||||
String classIds = classstandardService.getChildIdStr(material_type_id);
|
||||
map.put("classIds", classIds);
|
||||
} else if (ObjectUtil.isNotEmpty(class_idStr)) {
|
||||
String classIds = classstandardService.getAllChildIdStr(class_idStr);
|
||||
map.put("classIds", classIds);
|
||||
}
|
||||
JSONObject jo = WQL.getWO("QST_IVT_MATERIALSET").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "set_time desc");
|
||||
return jo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<StructrelamaterialDto> queryAll(Map whereJson) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
JSONArray arr = wo.query().getResultJSONArray(0);
|
||||
List<StructrelamaterialDto> list = arr.toJavaList(StructrelamaterialDto.class);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StructrelamaterialDto findById(Long material_type_id) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
JSONObject json = wo.query("material_type_id =" + material_type_id + "").uniqueResult(0);
|
||||
final StructrelamaterialDto obj = json.toJavaObject(StructrelamaterialDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StructrelamaterialDto findByCode(String code) {
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
JSONObject json = wo.query("code ='" + code + "'").uniqueResult(0);
|
||||
final StructrelamaterialDto obj = json.toJavaObject(StructrelamaterialDto.class);
|
||||
return obj;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void create(StructrelamaterialDto dto) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
|
||||
dto.setMaterial_type_id(IdUtil.getSnowflake(1, 1).nextId());
|
||||
dto.setSet_name(nickName);
|
||||
dto.setSet_time(new Date());
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.insert(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(StructrelamaterialDto dto) {
|
||||
StructrelamaterialDto entity = this.findById(dto.getMaterial_type_id());
|
||||
if (entity == null) {
|
||||
throw new BadRequestException("被删除或无权限,操作失败!");
|
||||
}
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
JSONObject json = JSONObject.parseObject(JSON.toJSONString(dto));
|
||||
wo.update(json);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void deleteAll(Long[] ids) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
|
||||
WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial");
|
||||
for (Long material_type_id : ids) {
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("material_type_id", String.valueOf(material_type_id));
|
||||
param.put("is_delete", "1");
|
||||
param.put("update_optid", currentUserId);
|
||||
param.put("update_optname", nickName);
|
||||
param.put("update_time", DateUtil.now());
|
||||
wo.update(param);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertSet(Map whereJson) {
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
WQLObject mater = WQLObject.getWQLObject("ST_IVT_StructRelaMaterial");
|
||||
String sect_id = (String) whereJson.get("sect_id");
|
||||
ArrayList<HashMap> class_rows = (ArrayList<HashMap>) whereJson.get("class_rows");
|
||||
for (int i = 0; i < class_rows.size(); i++) {
|
||||
HashMap<String, String> class_row = class_rows.get(i);
|
||||
JSONObject material_set = mater.query("sect_id = '" + sect_id + "' AND material_type_id = '" + class_row.get("class_id") + "'")
|
||||
.uniqueResult(0);
|
||||
if (material_set != null) {
|
||||
HashMap<String, String> update_map = new HashMap<>();
|
||||
update_map.put("set_id", currentUserId + "");
|
||||
update_map.put("set_name", nickName);
|
||||
update_map.put("set_time", DateUtil.now());
|
||||
mater.update(update_map, "sect_id = '" + sect_id + "' AND material_type_id = '" + class_row.get("class_id") + "'");
|
||||
} else {
|
||||
JSONObject jo = new JSONObject();
|
||||
jo.put("sect_id", sect_id);
|
||||
jo.put("material_type_id", class_row.get("class_id"));
|
||||
jo.put("set_id", currentUserId + "");
|
||||
jo.put("set_name", nickName);
|
||||
jo.put("set_time", DateUtil.now());
|
||||
mater.insert(jo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void delSet(Map whereJson) {
|
||||
String sect_id = (String) whereJson.get("sect_id");
|
||||
String material_type_id = (String) whereJson.get("material_type_id");
|
||||
WQLObject.getWQLObject("ST_IVT_StructRelaMaterial").delete("sect_id = '" + sect_id + "' AND material_type_id = '" + material_type_id + "'");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,187 @@
|
||||
|
||||
package org.nl.wms.masterdata_manage.备份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.common.utils.SecurityUtils;
|
||||
import org.nl.modules.wql.WQL;
|
||||
import org.nl.modules.wql.core.bean.WQLObject;
|
||||
import org.nl.modules.wql.util.WqlUtil;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.StructrelavehicletypeService;
|
||||
import org.nl.wms.masterdata_manage.备份st.service.dto.StructrelavehicletypeDto;
|
||||
|
||||
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");
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
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", DateUtil.now());
|
||||
param.put("create_id", currentUserId);
|
||||
param.put("create_name", nickName);
|
||||
param.put("create_time", DateUtil.now());
|
||||
wo.insert(param);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject param) {
|
||||
String struct_id = param.getString("struct_id");
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
|
||||
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", DateUtil.now());
|
||||
param.put("create_id", currentUserId);
|
||||
param.put("create_name", nickName);
|
||||
param.put("create_time", DateUtil.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", DateUtil.now());
|
||||
param.put("create_id", currentUserId);
|
||||
param.put("create_name", nickName);
|
||||
param.put("create_time", DateUtil.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;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,226 @@
|
||||
[交易说明]
|
||||
交易名: 将海亮的物料导入mysql
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.material_code TYPEAS s_string
|
||||
输入.processroute_uuid TYPEAS s_string
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
MD_PB_BaseData_ClassInfo classinfot
|
||||
LEFT JOIN MD_PB_BaseData_ClassStandard standard ON classinfot.class_uuid = standard.class_uuid
|
||||
LEFT JOIN MD_ME_MaterialBase material ON material.material_uuid = classinfot.base_data_uuid
|
||||
left join MD_ME_MaterialExt ext on ext.material_uuid = material.material_uuid
|
||||
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "2"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
MD_PB_BaseData_ClassStandard class
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "3"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
ST_IVT_BSREALSTORATTR
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "4"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
ST_IVT_SECTATTR
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "5"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
ST_IVT_STRUCTATTR
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "6"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
ST_IVT_StorageVehicleInfo
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "7"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
wdk_sysparam
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "8"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
IF_CacheLine_Position
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "9"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
st_cacheline_position
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "10"
|
||||
QUERY
|
||||
SELECT
|
||||
mb.*,
|
||||
class.class_code,
|
||||
class.class_name
|
||||
FROM
|
||||
md_me_materialbase mb
|
||||
LEFT JOIN MD_PB_ClassStandard class ON class.class_id = mb.material_type_id
|
||||
WHERE
|
||||
mb.is_delete = '0'
|
||||
AND 1 = 1
|
||||
AND class.class_id IN ( '1528555445302726656', '1528555443906023424', '1528555445080428544' )
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "11"
|
||||
QUERY
|
||||
SELECT
|
||||
mb.*,
|
||||
class.class_code,
|
||||
class.class_name
|
||||
FROM
|
||||
md_me_materialbase mb
|
||||
LEFT JOIN MD_PB_ClassStandard class ON class.class_id = mb.material_type_id
|
||||
WHERE
|
||||
mb.is_delete = '0'
|
||||
AND 1 = 1
|
||||
AND class.class_id IN ( '1528555444031852544', '1528555444778438656', '1528555444291899392' )
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
IF 输入.flag = "12"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_WorkshopMaterialCorr
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "13"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_SemiMaterialCorr
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "14"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_WorkshopMaterialCorr corr
|
||||
LEFT JOIN PF_PB_SysDicInfo sys ON sys.sysdic_code = corr.materialprocess_series
|
||||
AND sys.sysdic_type = 'IF_WCS_DEVICESERIES'
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
IF 输入.flag = "15"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_ProduceProcessRoute route
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "16"
|
||||
QUERY
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
PDM_BI_ProduceProcessRoute route
|
||||
LEFT JOIN PDM_BI_ProduceProcessRouteDtl dtl ON route.processroute_uuid = dtl.processroute_uuid
|
||||
route.processroute_uuid = 输入.processroute_uuid
|
||||
order by workprocedure_number
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
@@ -0,0 +1,85 @@
|
||||
[交易说明]
|
||||
交易名: 基础点位分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.search TYPEAS s_string
|
||||
输入.classIds TYPEAS f_string
|
||||
输入.stor_id TYPEAS s_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
(case when stor.stor_id is null THEN '' else stor.stor_id end) AS stor_id,
|
||||
(case when stor.stor_code is null then 'yclk01' else stor.stor_code end) stor_code,
|
||||
(case when stor.stor_name is null then '原料库' else stor.stor_name end) stor_name,
|
||||
(case when safe.safe_ivt_down is null then 0 else safe.safe_ivt_down end) safe_ivt_down,
|
||||
mb.material_code,
|
||||
mb.material_name,
|
||||
mb.base_unit_id,
|
||||
mb.material_id,
|
||||
mb.base_unit_id AS qty_unit_id,
|
||||
safe.set_name,
|
||||
safe.set_time,
|
||||
unit.unit_name AS qty_unit_name
|
||||
FROM
|
||||
md_me_materialbase mb
|
||||
LEFT JOIN st_ivt_materialsafeivt safe ON safe.material_id = mb.material_id
|
||||
LEFT JOIN st_ivt_bsrealstorattr stor ON stor.stor_id = safe.stor_id
|
||||
LEFT JOIN md_pb_measureunit unit ON unit.measure_unit_id = mb.base_unit_id
|
||||
LEFT JOIN md_pb_classstandard class ON class.class_id =mb.material_type_id
|
||||
WHERE
|
||||
1=1
|
||||
OPTION 输入.classIds <> ""
|
||||
mb.material_type_id in 输入.classIds
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
stor.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
OPTION 输入.search <> ""
|
||||
(
|
||||
mb.material_code like 输入.search
|
||||
OR
|
||||
mb.material_name like 输入.search
|
||||
)
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,78 @@
|
||||
[交易说明]
|
||||
交易名: 基础点位分页查询
|
||||
所属模块:
|
||||
功能简述:
|
||||
版权所有:
|
||||
表引用:
|
||||
版本经历:
|
||||
|
||||
[数据库]
|
||||
--指定数据库,为空采用默认值,默认为db.properties中列出的第一个库
|
||||
|
||||
[IO定义]
|
||||
#################################################
|
||||
## 表字段对应输入参数
|
||||
#################################################
|
||||
输入.flag TYPEAS s_string
|
||||
输入.search TYPEAS s_string
|
||||
输入.stor_id TYPEAS s_string
|
||||
输入.sect_id TYPEAS s_string
|
||||
输入.classIds TYPEAS f_string
|
||||
|
||||
|
||||
[临时表]
|
||||
--这边列出来的临时表就会在运行期动态创建
|
||||
|
||||
[临时变量]
|
||||
--所有中间过程变量均可在此处定义
|
||||
|
||||
[业务过程]
|
||||
|
||||
##########################################
|
||||
# 1、输入输出检查 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 2、主过程前处理 #
|
||||
##########################################
|
||||
|
||||
|
||||
##########################################
|
||||
# 3、业务主过程 #
|
||||
##########################################
|
||||
|
||||
IF 输入.flag = "1"
|
||||
PAGEQUERY
|
||||
SELECT
|
||||
se.sect_code,
|
||||
se.sect_name,
|
||||
class.class_code,
|
||||
class.class_name,
|
||||
sm.*
|
||||
FROM
|
||||
st_ivt_structrelamaterial sm
|
||||
INNER JOIN st_ivt_sectattr se ON se.sect_id = sm.sect_id
|
||||
INNER JOIN md_pb_classstandard class ON class.class_id = sm.material_type_id
|
||||
OPTION 输入.search <> ""
|
||||
(
|
||||
class.class_code like 输入.search
|
||||
OR
|
||||
class.class_name like 输入.search
|
||||
)
|
||||
ENDOPTION
|
||||
OPTION 输入.stor_id <> ""
|
||||
se.stor_id = 输入.stor_id
|
||||
ENDOPTION
|
||||
OPTION 输入.sect_id <> ""
|
||||
se.sect_id = 输入.sect_id
|
||||
ENDOPTION
|
||||
OPTION 输入.classIds <> ""
|
||||
class.class_id in 输入.classIds
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDPAGEQUERY
|
||||
ENDIF
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
@@ -339,7 +339,6 @@ public class ProduceshiftorderServiceImpl implements ProduceshiftorderService{
|
||||
WQLObject.getWQLObject("pdm_produce_workorder").update(MapOf.of("workorder_id", workorder_id, "workorder_status", WorkerOrderEnum.SEND.getCode(), "update_id", SecurityUtils.getCurrentUserId(), "update_name", SecurityUtils.getCurrentNickName(), "update_time", DateUtil.now()));
|
||||
Map<String,Object> resp = wmsToAcsService.order(array);
|
||||
//TODO:记录表记录操作
|
||||
|
||||
return RestBusinessTemplate.execute(() -> resp);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
package org.nl.wms.product_manage;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2023/5/17 12:26
|
||||
*/
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
public enum ReportRecordStatus {
|
||||
|
||||
CREATE("1","生成"),
|
||||
REPORT("2","报工"),
|
||||
FINISH("3","审核完成");
|
||||
|
||||
private String code;
|
||||
private String desc;
|
||||
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import org.nl.common.utils.api.ResultCode;
|
||||
import org.nl.modules.common.exception.BizCoreException;
|
||||
import org.nl.wms.mps.service.ProduceshiftorderService;
|
||||
import org.nl.wms.mps.service.dto.DeviceDto;
|
||||
import org.nl.wms.product_manage.service.device.IPdmBiDeviceService;
|
||||
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderService;
|
||||
import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -33,20 +34,22 @@ import java.util.Map;
|
||||
public class ProduceshiftorderController{
|
||||
private final ProduceshiftorderService produceshiftorderService;
|
||||
private final IPdmProduceWorkorderService iPdmProduceWorkorderService;
|
||||
private final IPdmBiDeviceService pdmBiDeviceService;
|
||||
|
||||
|
||||
@PostMapping("/getDevice")
|
||||
@Log("根据登录用户设备下拉")
|
||||
@ApiOperation("根据登录用户设备下拉")
|
||||
public ResponseEntity<Object> getDevice(@RequestBody JSONObject param) {
|
||||
//从设备拉去
|
||||
return new ResponseEntity<>(produceshiftorderService.getDevice(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getTable")
|
||||
@Log("获取工单生产记录")
|
||||
@ApiOperation("获取工单生产记录")
|
||||
//@PreAuthorize("@el.check('produceshiftorder:list')")
|
||||
public ResponseEntity<Object> getTable(@RequestBody JSONObject param) {
|
||||
|
||||
return new ResponseEntity<>(produceshiftorderService.getTable(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@@ -80,14 +83,15 @@ public class ProduceshiftorderController{
|
||||
@Log("看板报工")
|
||||
@ApiOperation("看板报工")
|
||||
public ResponseEntity<Object> saveReport(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(produceshiftorderService.saveReport(param), HttpStatus.OK);
|
||||
return new ResponseEntity<>(iPdmProduceWorkorderService.report(param), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/finish")
|
||||
@Log("看板强制完成")
|
||||
@ApiOperation("看板强制完成")
|
||||
public ResponseEntity<Object> finish(@RequestBody JSONObject param) {
|
||||
return new ResponseEntity<>(produceshiftorderService.finish(param), HttpStatus.OK);
|
||||
iPdmProduceWorkorderService.finish(param);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PostMapping("/getReportWork")
|
||||
|
||||
@@ -108,6 +108,11 @@ public interface IPdmProduceWorkorderService extends IService<PdmProduceWorkorde
|
||||
|
||||
void reportApprove(JSONArray param);
|
||||
|
||||
|
||||
/**
|
||||
* 工单更换设备
|
||||
*
|
||||
* @param param
|
||||
*/
|
||||
void replaceDevice(JSONObject param);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.product_manage.service.workorder;
|
||||
|
||||
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorderrecord;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产设备报工记录表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-05-16
|
||||
*/
|
||||
public interface IPdmProduceWorkorderrecordService extends IService<PdmProduceWorkorderrecord> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,148 @@
|
||||
package org.nl.wms.product_manage.service.workorder.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;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产设备报工记录表
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-05-17
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
@TableName("pdm_produce_workorderrecord")
|
||||
public class PdmProduceWorkorderrecord implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 工单生产记录标识
|
||||
*/
|
||||
@TableId(value = "macoperate_id")
|
||||
private String macoperate_id;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
private String workorder_id;
|
||||
|
||||
/**
|
||||
* 班次类型
|
||||
*/
|
||||
private String shift_type_scode;
|
||||
|
||||
/**
|
||||
* 工序标识
|
||||
*/
|
||||
private String workprocedure_id;
|
||||
|
||||
/**
|
||||
* 生产区域
|
||||
*/
|
||||
private String product_area;
|
||||
|
||||
/**
|
||||
* 生产设备编码
|
||||
*/
|
||||
private String device_code;
|
||||
|
||||
/**
|
||||
* 操作工标识
|
||||
*/
|
||||
private String produce_person_id;
|
||||
|
||||
/**
|
||||
* 电气期初数量
|
||||
*/
|
||||
private BigDecimal dq_init_qty;
|
||||
|
||||
/**
|
||||
* 人员期初数量
|
||||
*/
|
||||
private BigDecimal person_init_qty;
|
||||
|
||||
/**
|
||||
* 电气报工数量
|
||||
*/
|
||||
private BigDecimal dq_report_qty;
|
||||
|
||||
/**
|
||||
* 人员报工数量
|
||||
*/
|
||||
private BigDecimal person_report_qty;
|
||||
|
||||
/**
|
||||
* 电气期末数量
|
||||
*/
|
||||
private BigDecimal dq_finish_qty;
|
||||
|
||||
/**
|
||||
* 人员期末数量
|
||||
*/
|
||||
private BigDecimal person_finish_qty;
|
||||
|
||||
/**
|
||||
* 开工时间
|
||||
*/
|
||||
private String operatetime_start;
|
||||
|
||||
/**
|
||||
* 完工时间
|
||||
*/
|
||||
private String operatetime_end;
|
||||
|
||||
/**
|
||||
* 顺序号
|
||||
*/
|
||||
private Integer seq_number;
|
||||
|
||||
/**
|
||||
* 主表:计划数量-报工总
|
||||
*/
|
||||
private BigDecimal needproduct_qty;
|
||||
|
||||
/**
|
||||
* 主表:计划数量-报工总
|
||||
*/
|
||||
private BigDecimal report_qty;
|
||||
|
||||
/**
|
||||
* 报废,不记录报工数
|
||||
*/
|
||||
private BigDecimal nok_qty;
|
||||
|
||||
/**
|
||||
* 报修数不记录报工数
|
||||
*/
|
||||
private BigDecimal repare_qty;
|
||||
|
||||
/**
|
||||
* 报工状态生成报工审核123
|
||||
*/
|
||||
private String report_status;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
private String confirm_id;
|
||||
|
||||
private String confirm_name;
|
||||
|
||||
private String confirm_time;
|
||||
|
||||
/**
|
||||
* 校验状态唯一性
|
||||
*/
|
||||
private String md5;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,107 @@
|
||||
package org.nl.wms.product_manage.service.workorder.dao;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import java.io.Serializable;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产设备报工记录表
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-05-16
|
||||
*/
|
||||
@Data
|
||||
@TableName("pdm_produce_workorderrecord")
|
||||
@Builder
|
||||
public class WorkorderRecord implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 工单生产记录标识
|
||||
*/
|
||||
private Long macoperate_id;
|
||||
|
||||
/**
|
||||
* 工单编号
|
||||
*/
|
||||
private String workorder_id;
|
||||
|
||||
/**
|
||||
* 班次类型
|
||||
*/
|
||||
private String shift_type_scode;
|
||||
|
||||
/**
|
||||
* 工序标识
|
||||
*/
|
||||
private String workprocedure_id;
|
||||
|
||||
/**
|
||||
* 生产区域
|
||||
*/
|
||||
private String product_area;
|
||||
|
||||
/**
|
||||
* 生产设备编码
|
||||
*/
|
||||
private String device_code;
|
||||
|
||||
/**
|
||||
* 操作工标识
|
||||
*/
|
||||
private String produce_person_id;
|
||||
|
||||
/**
|
||||
* 电气期初数量
|
||||
*/
|
||||
private BigDecimal dq_init_qty;
|
||||
|
||||
/**
|
||||
* 人员期初数量
|
||||
*/
|
||||
private BigDecimal person_init_qty;
|
||||
|
||||
/**
|
||||
* 电气报工数量
|
||||
*/
|
||||
private BigDecimal dq_report_qty;
|
||||
|
||||
/**
|
||||
* 人员报工数量
|
||||
*/
|
||||
private BigDecimal person_report_qty;
|
||||
|
||||
/**
|
||||
* 电气期末数量
|
||||
*/
|
||||
private BigDecimal dq_finish_qty;
|
||||
|
||||
/**
|
||||
* 人员期末数量
|
||||
*/
|
||||
private BigDecimal person_finish_qty;
|
||||
|
||||
/**
|
||||
* 开工时间
|
||||
*/
|
||||
private String operatetime_start;
|
||||
|
||||
/**
|
||||
* 完工时间
|
||||
*/
|
||||
private String operatetime_end;
|
||||
|
||||
/**
|
||||
* 顺序号
|
||||
*/
|
||||
private BigDecimal seq_number;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.nl.wms.product_manage.service.workorder.dao.mapper;
|
||||
|
||||
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorderrecord;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产设备报工记录表 Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-05-16
|
||||
*/
|
||||
public interface PdmProduceWorkorderrecordMapper extends BaseMapper<PdmProduceWorkorderrecord> {
|
||||
|
||||
}
|
||||
@@ -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.product_manage.service.workorder.dao.mapper.PdmProduceWorkorderrecordMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -28,6 +28,7 @@ import org.nl.wms.masterdata_manage.master.service.classstandard.IMdPbClassstand
|
||||
import org.nl.wms.masterdata_manage.service.material.IMdMeMaterialbaseService;
|
||||
import org.nl.wms.masterdata_manage.service.material.dao.MdMeMaterialbase;
|
||||
import org.nl.wms.mps.service.WorkOrderImportEnum;
|
||||
import org.nl.wms.mps.service.dto.ProduceshiftorderDto;
|
||||
import org.nl.wms.product_manage.ReportRecordStatus;
|
||||
import org.nl.wms.product_manage.service.device.IPdmBiDeviceService;
|
||||
import org.nl.wms.product_manage.service.device.dao.PdmBiDevice;
|
||||
@@ -631,4 +632,34 @@ public class IPdmProduceWorkorderServiceImpl extends ServiceImpl<PdmProduceWorko
|
||||
list.add(report_qty);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void replaceDevice(JSONObject param) {
|
||||
String produceorder_code = param.getString("produceorder_code");
|
||||
String device_id = param.getString("device_id");
|
||||
String device_code = param.getString("device_code");
|
||||
String currentUserId = SecurityUtils.getCurrentUserId();
|
||||
String nickName = SecurityUtils.getCurrentNickName();
|
||||
ProduceshiftorderDto produceshiftorderDto = null;//this.findByCode(produceorder_code);
|
||||
produceshiftorderDto.setDevice_id(Long.parseLong(device_id));
|
||||
produceshiftorderDto.setUpdate_id(currentUserId);
|
||||
produceshiftorderDto.setUpdate_name(nickName);
|
||||
produceshiftorderDto.setUpdate_time(DateUtil.now());
|
||||
String order_status = produceshiftorderDto.getOrder_status();
|
||||
if(!order_status.equals("03") && !order_status.equals("01") && !order_status.equals("00")) {
|
||||
JSONArray array = new JSONArray();
|
||||
JSONObject acsObj = new JSONObject();
|
||||
acsObj.put("order_code", produceorder_code);
|
||||
acsObj.put("device_code", device_code);
|
||||
array.add(acsObj);
|
||||
Map<String,Object> resp = wmsToAcsService.replaceDevice(array);
|
||||
String status = String.valueOf(resp.get("status"));
|
||||
String message = (String) resp.get("message");
|
||||
if(!status.equals("200")) {
|
||||
throw new BadRequestException(message);
|
||||
}
|
||||
}
|
||||
//this.update(produceshiftorderDto);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
package org.nl.wms.product_manage.service.workorder.impl;
|
||||
|
||||
import org.nl.wms.product_manage.service.workorder.dao.PdmProduceWorkorderrecord;
|
||||
import org.nl.wms.product_manage.service.workorder.dao.mapper.PdmProduceWorkorderrecordMapper;
|
||||
import org.nl.wms.product_manage.service.workorder.IPdmProduceWorkorderrecordService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 生产设备报工记录表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author generator
|
||||
* @since 2023-05-16
|
||||
*/
|
||||
@Service
|
||||
public class PdmProduceWorkorderrecordServiceImpl extends ServiceImpl<PdmProduceWorkorderrecordMapper, PdmProduceWorkorderrecord> implements IPdmProduceWorkorderrecordService {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package org.nl.wms.system_manage.service.ql.dto;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import lombok.Data;
|
||||
import org.nl.common.domain.query.BaseQuery;
|
||||
import org.nl.common.domain.query.QParam;
|
||||
import org.nl.common.enums.QueryTEnum;
|
||||
import org.nl.wms.system_manage.service.dept.dao.SysDept;
|
||||
import org.nl.wms.system_manage.service.ql.dao.PdmQlOption;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/*
|
||||
* @author ZZQ
|
||||
* @Date 2022/12/15 4:20 下午
|
||||
*/
|
||||
@Data
|
||||
public class OptionRecordQuery extends BaseQuery<PdmQlOption> {
|
||||
|
||||
private String orderno;
|
||||
/**
|
||||
* 检测类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
private String bussclass;
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user