diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/IvtChangeTypeEnum.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/IvtChangeTypeEnum.java new file mode 100644 index 00000000..99dc952f --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/IvtChangeTypeEnum.java @@ -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; + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/StoreIvtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/StoreIvtServiceImpl.java new file mode 100644 index 00000000..6405a5d4 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/StoreIvtServiceImpl.java @@ -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); + } + + } + + } +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/MaterialsafeivtService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/MaterialsafeivtService.java new file mode 100644 index 00000000..dfe421d1 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/MaterialsafeivtService.java @@ -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 + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ + List 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); + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelamaterialService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelamaterialService.java new file mode 100644 index 00000000..94ed18ef --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelamaterialService.java @@ -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 + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ + List 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); + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelavehicletypeService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelavehicletypeService.java new file mode 100644 index 00000000..7989f745 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/StructrelavehicletypeService.java @@ -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 + */ + Map queryAll(Map whereJson, Pageable page); + + /** + * 查询所有数据不分页 + * @param whereJson 条件参数 + * @return List + */ + List 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(); + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/MaterialsafeivtDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/MaterialsafeivtDto.java new file mode 100644 index 00000000..c14f7dbd --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/MaterialsafeivtDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/SectattrDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/SectattrDto.java new file mode 100644 index 00000000..fca16eb6 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/SectattrDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StorattrDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StorattrDto.java new file mode 100644 index 00000000..1c9e06a8 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StorattrDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructattrDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructattrDto.java new file mode 100644 index 00000000..9f67aeb4 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructattrDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructivtDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructivtDto.java new file mode 100644 index 00000000..5ea1bfc1 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructivtDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelamaterialDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelamaterialDto.java new file mode 100644 index 00000000..bb21ad08 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelamaterialDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelavehicletypeDto.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelavehicletypeDto.java new file mode 100644 index 00000000..c848b4d3 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/dto/StructrelavehicletypeDto.java @@ -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; +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/MaterialsafeivtServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/MaterialsafeivtServiceImpl.java new file mode 100644 index 00000000..aad7705b --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/MaterialsafeivtServiceImpl.java @@ -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 queryAll(Map whereJson, Pageable page) { + String search = (String) whereJson.get("search"); + String class_idStr = (String) whereJson.get("class_idStr"); + HashMap 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 rows = (ArrayList) whereJson.get("rows"); + for (int i = 0; i < rows.size(); i++) { + HashMap 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 queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_materialsafeivt"); + JSONArray arr = wo.query().getResultJSONArray(0); + List 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); + } + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelamaterialServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelamaterialServiceImpl.java new file mode 100644 index 00000000..49e1cf03 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelamaterialServiceImpl.java @@ -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 queryAll(Map whereJson, Pageable page) { + String search = (String) whereJson.get("search"); + HashMap 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 queryAll(Map whereJson) { + WQLObject wo = WQLObject.getWQLObject("st_ivt_structrelamaterial"); + JSONArray arr = wo.query().getResultJSONArray(0); + List 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 class_rows = (ArrayList) whereJson.get("class_rows"); + for (int i = 0; i < class_rows.size(); i++) { + HashMap 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 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 + "'"); + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelavehicletypeServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelavehicletypeServiceImpl.java new file mode 100644 index 00000000..2cbeafe1 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/service/impl/StructrelavehicletypeServiceImpl.java @@ -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 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 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; + } + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QLK01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QLK01.wql new file mode 100644 index 00000000..2ba88dab --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QLK01.wql @@ -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 \ No newline at end of file diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSAFE.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSAFE.wql new file mode 100644 index 00000000..0dd25798 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSAFE.wql @@ -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 + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSET.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSET.wql new file mode 100644 index 00000000..3eff3c77 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/QST_IVT_MATERIALSET.wql @@ -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 + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/ST_Structrelavehicletype_01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/ST_Structrelavehicletype_01.wql new file mode 100644 index 00000000..d7e77197 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/ST_Structrelavehicletype_01.wql @@ -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 + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/stivt.xls b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/stivt.xls new file mode 100644 index 00000000..60278aaf Binary files /dev/null and b/mes/hd/nladmin-system/src/main/java/org/nl/wms/masterdata_manage/备份st/wql/stivt.xls differ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java index 4156111b..db0c60de 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/mps/service/impl/ProduceshiftorderServiceImpl.java @@ -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 resp = wmsToAcsService.order(array); //TODO:记录表记录操作 - return RestBusinessTemplate.execute(() -> resp); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/ReportRecordStatus.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/ReportRecordStatus.java new file mode 100644 index 00000000..b201d2f7 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/ReportRecordStatus.java @@ -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; + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java index c43e54ba..cb6bbbeb 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/controller/workorder/ProduceshiftorderController.java @@ -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 getDevice(@RequestBody JSONObject param) { + //从设备拉去 return new ResponseEntity<>(produceshiftorderService.getDevice(param), HttpStatus.OK); } @PostMapping("/getTable") @Log("获取工单生产记录") @ApiOperation("获取工单生产记录") - //@PreAuthorize("@el.check('produceshiftorder:list')") public ResponseEntity getTable(@RequestBody JSONObject param) { + return new ResponseEntity<>(produceshiftorderService.getTable(param), HttpStatus.OK); } @@ -80,14 +83,15 @@ public class ProduceshiftorderController{ @Log("看板报工") @ApiOperation("看板报工") public ResponseEntity 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 finish(@RequestBody JSONObject param) { - return new ResponseEntity<>(produceshiftorderService.finish(param), HttpStatus.OK); + iPdmProduceWorkorderService.finish(param); + return new ResponseEntity<>(HttpStatus.OK); } @PostMapping("/getReportWork") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/IPdmProduceWorkorderService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/IPdmProduceWorkorderService.java index 58d5af34..6bb5e166 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/IPdmProduceWorkorderService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/IPdmProduceWorkorderService.java @@ -108,6 +108,11 @@ public interface IPdmProduceWorkorderService extends IService + * 生产设备报工记录表 服务类 + *

+ * + * @author generator + * @since 2023-05-16 + */ +public interface IPdmProduceWorkorderrecordService extends IService { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorderrecord.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorderrecord.java new file mode 100644 index 00000000..e6dfd78a --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/PdmProduceWorkorderrecord.java @@ -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; + +/** + *

+ * 生产设备报工记录表 + *

+ * + * @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; + + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/WorkorderRecord.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/WorkorderRecord.java new file mode 100644 index 00000000..e35dabd5 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/WorkorderRecord.java @@ -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; + +/** + *

+ * 生产设备报工记录表 + *

+ * + * @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; + + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/PdmProduceWorkorderrecordMapper.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/PdmProduceWorkorderrecordMapper.java new file mode 100644 index 00000000..7fb66f71 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/PdmProduceWorkorderrecordMapper.java @@ -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; + +/** + *

+ * 生产设备报工记录表 Mapper 接口 + *

+ * + * @author generator + * @since 2023-05-16 + */ +public interface PdmProduceWorkorderrecordMapper extends BaseMapper { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/xml/PdmProduceWorkorderrecordMapper.xml b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/xml/PdmProduceWorkorderrecordMapper.xml new file mode 100644 index 00000000..ac1a9b89 --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/dao/mapper/xml/PdmProduceWorkorderrecordMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java index 29dd6483..709a0f1a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/IPdmProduceWorkorderServiceImpl.java @@ -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 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); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/PdmProduceWorkorderrecordServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/PdmProduceWorkorderrecordServiceImpl.java new file mode 100644 index 00000000..06bac38a --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/product_manage/service/workorder/impl/PdmProduceWorkorderrecordServiceImpl.java @@ -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; + +/** + *

+ * 生产设备报工记录表 服务实现类 + *

+ * + * @author generator + * @since 2023-05-16 + */ +@Service +public class PdmProduceWorkorderrecordServiceImpl extends ServiceImpl implements IPdmProduceWorkorderrecordService { + +} diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/ql/dto/OptionRecordQuery.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/ql/dto/OptionRecordQuery.java new file mode 100644 index 00000000..68b6b13a --- /dev/null +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/system_manage/service/ql/dto/OptionRecordQuery.java @@ -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 { + + private String orderno; + /** + * 检测类型 + */ + private String type; + + private String bussclass; + + +} diff --git a/mes/qd/src/views/wms/product_manage/workorder/reportDialog.vue b/mes/qd/src/views/wms/product_manage/workorder/reportDialog.vue new file mode 100644 index 00000000..6be062fa --- /dev/null +++ b/mes/qd/src/views/wms/product_manage/workorder/reportDialog.vue @@ -0,0 +1,174 @@ + + + + +