diff --git a/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java b/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java index 810e913..c46d7ac 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/domain/Item.java @@ -45,112 +45,111 @@ public class Item extends BaseEntity implements Serializable { @Column(name = "`code`",nullable = false) @NotBlank - @ApiModelProperty(value = "代码") + @ApiModelProperty(value = "料号") private String code; @Column(name = "`name`",nullable = false) @NotBlank - @ApiModelProperty(value = "名称") + @ApiModelProperty(value = "物料描述") private String name; - @Column(name = "`specs`") - @ApiModelProperty(value = "规格") - private String specs; + @Column(name = "`package_type`") + @ApiModelProperty(value = "包装类型") + private String packageType; - @Column(name = "`structure_id`") - @ApiModelProperty(value = "客户ID") - private Long structureId; + @Column(name = "`spec_quantity`") + @ApiModelProperty(value = "规格数量") + private Double specQuantity=0D; - @Column(name = "`description`") - @ApiModelProperty(value = "描述") - private String description; + @Column(name = "`spec_weight`") + @ApiModelProperty(value = "规格重量") + private Double specWeight=0D; - @Column(name = "`is_attribute1`") - @ApiModelProperty(value = "是否发动机") - private Boolean isAttribute1=true; - @Column(name = "`is_attribute2`") - @ApiModelProperty(value = "是否预备货") - private Boolean isAttribute2=true; - @Column(name = "`enabled`") - @ApiModelProperty(value = "是否失效") - private Boolean enabled=true; - - @Column(name = "`bepc`") - @ApiModelProperty(value = "批次") - private Boolean bepc=false; - - @Column(name = "`bexq`") - @ApiModelProperty(value = "效期") - private Boolean bexq=false; - - @Column(name = "`beds`") - @ApiModelProperty(value = "多收") - private Boolean beds=false; - - @Column(name = "`becf`") - @ApiModelProperty(value = "超发") - private Boolean becf=false; - - - @Column(name = "`valid_period`") - @ApiModelProperty(value = "保质期") - private Integer validPeriod; - - @Column(name = "`alert_leading_days`") - @ApiModelProperty(value = "预警天数") - private Integer alertLeadingDays; - - @Column(name = "`large_class`") - @ApiModelProperty(value = "大类,组合代码,自动叫料捆绑,数量一致") - private String largeClass; - - @Column(name = "`center_class`") - @ApiModelProperty(value = "中类") - private String centerClass; - - @Column(name = "`small_class`") - @ApiModelProperty(value = "小类") - private String smallClass; - - @Column(name = "`good_type`") - @ApiModelProperty(value = "物料类型") - private String goodType; + @Column(name = "`gross_weight`") + @ApiModelProperty(value = "毛重") + private Double grossWeight=0D; @Column(name = "`length`") @ApiModelProperty(value = "长") - private Double length=0d; + private Double length=0D; @Column(name = "`width`") @ApiModelProperty(value = "宽") - private Double width=0d; + private Double width=0D; @Column(name = "`height`") @ApiModelProperty(value = "高") - private Double height=0d; - - @Column(name = "`weight`") - @ApiModelProperty(value = "重量") - private Double weight=0d; + private Double height=0D; @Column(name = "`volume`") @ApiModelProperty(value = "体积") - private Double volume=0d; + private Double volume=0D; @Column(name = "`unit`") @ApiModelProperty(value = "单位") private String unit; - @Column(name = "`master_unit`") - @ApiModelProperty(value = "大单位") - private String masterUnit; + @OneToOne + @JoinColumn(name = "`rec_storage_area_id`") + @ApiModelProperty(value = "推荐库区") + private Area recStorageArea; - @Column(name = "`pack_number`") - @ApiModelProperty(value = "包装系数") - private Integer packNumber=1; + @Column(name = "`type`") + @ApiModelProperty(value = "类型") + private String type; - @Column(name = "`bar_code`") - @ApiModelProperty(value = "条码") - private String barCode; + @Column(name = "`value_grade`") + @ApiModelProperty(value = "物料价值等级") + private String valueGrade; + + @Column(name = "`valid_period`") + @ApiModelProperty(value = "保质期") + private Integer validPeriod=0; + + @Column(name = "`alert_days`") + @ApiModelProperty(value = "预警天数") + private Integer alertDays=0; + + @Column(name = "`is_batch`") + @ApiModelProperty(value = "是否批次") + private Boolean isBatch=false; + + @Column(name = "`is_serial`") + @ApiModelProperty(value = "是否序列号") + private Boolean isSerial=false; + + @Column(name = "`is_valid_period`") + @ApiModelProperty(value = "是否有效期") + private Boolean isValidPeriod=false; + + @Column(name = "`is_hazardous`") + @ApiModelProperty(value = "是否危化品") + private Boolean isHazardous=false; + + @Column(name = "`is_inv_available`") + @ApiModelProperty(value = "是否有库存") + private Boolean isInvAvailable=false; + + @Column(name = "`is_sap_material`") + @ApiModelProperty(value = "是否SAP料号") + private Boolean isSapMaterial=false; + + @Column(name = "`heat_value`") + @ApiModelProperty(value = "热度值") + private Integer heatValue=0; + + @Column(name = "`description`") + @ApiModelProperty(value = "描述") + private String description; + + @Column(name = "`enabled`") + @ApiModelProperty(value = "是否失效") + private Boolean enabled=true; + + @OneToOne + @JoinColumn(name = "`point_id`") + @ApiModelProperty(value = "库位") + private Point point; @OneToOne @JoinColumn(name = "dept_id") @@ -165,23 +164,6 @@ public class Item extends BaseEntity implements Serializable { @ApiModelProperty(value = "来源序号") private Long sourceId; - @OneToOne - @JoinColumn(name = "stock_type") - @ApiModelProperty(value = "料箱类型") - private StockType stockType; - - @Column(name = "`extend_d1`") - @ApiModelProperty(value = "默认容器装载数") - private Double extendD1=1d; - - @Column(name = "`extend_d2`") - @ApiModelProperty(value = "冷却时长") - private Double extendD2=4d; - - @Column(name = "`extend_d3`") - @ApiModelProperty(value = "收容数") - private Double extendD3=0d; - @Column(name = "`extend_d4`") @ApiModelProperty(value = "扩展小数4") private Double extendD4=0d; @@ -210,17 +192,11 @@ public class Item extends BaseEntity implements Serializable { @ApiModelProperty(value = "扩展整型5") private Long extendNum5; - @Column(name = "`extend_str1`") - @ApiModelProperty(value = "接口代码") - private String extendStr1; @Column(name = "`extend_str2`") @ApiModelProperty(value = "扩展字符2") private String extendStr2; - @Column(name = "`extend_str3`") - @ApiModelProperty(value = "何姿") - private String extendStr3; @Column(name = "`extend_str4`") @ApiModelProperty(value = "扩展字符4") @@ -229,10 +205,7 @@ public class Item extends BaseEntity implements Serializable { @Column(name = "`extend_str5`") @ApiModelProperty(value = "扩展字符5") private String extendStr5; - @OneToOne - @JoinColumn(name = "`point_id`") - @ApiModelProperty(value = "库位") - private Point point; + diff --git a/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java b/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java index 93a30d8..8016a92 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/rest/ItemController.java @@ -125,9 +125,7 @@ public class ItemController { FileUtil.checkSize(properties.getMaxSize(), multipartFile.getSize()); String suffix = FileUtil.getExtensionName(multipartFile.getOriginalFilename()); String type = FileUtil.getFileType(suffix); - log.error("--" + properties.getPath().getPath() + type + File.separator); File file = FileUtil.upload(multipartFile, properties.getPath().getPath() + type + File.separator); - log.error("--" + file.getPath()); Map map_stock = stockTypeService.queryAll(); DictQueryCriteria dictQueryCriteria=new DictQueryCriteria(); @@ -145,33 +143,8 @@ public class ItemController { for ( i = 0; i < readAll.size(); i++) { Item item = new Item(); String code=readAll.get(i).get("物料代码").toString().trim(); - item.setCode(code); - item.setName("" + readAll.get(i).get("物料名称")); - //容器类型 - String stocktype_Str = "" + readAll.get(i).get("容器类型"); - item.setStockType(map_stock.get(stocktype_Str)); - String unit=readAll.get(i).get("单位")+""; - item.setUnit(map_dic.get(unit).getValue()); - String packNumber=readAll.get(i).get("默认容器装载数").toString().trim(); - item.setPackNumber(Integer.parseInt(packNumber)); - String itemType=readAll.get(i).get("物料类型")+""; - item.setGoodType(item_type_dic.get(itemType).getValue()); - item.setLength(Double.parseDouble("" + readAll.get(i).get("长"))); - item.setWidth(Double.parseDouble("" + readAll.get(i).get("宽"))); - item.setHeight(Double.parseDouble("" + readAll.get(i).get("高"))); - ItemQueryCriteria itemQueryCriteria=new ItemQueryCriteria(); - itemQueryCriteria.setCode(code); - List itemDto_list=itemService.queryAll(itemQueryCriteria); - if(itemDto_list.size()<=0){ - new_len++; - log.error("不存在--" + readAll.get(i).get("编码")+"--"); - itemService.create(item); - }else{ - edit_len++; - log.error("存在--" + readAll.get(i).get("编码")+"--"); - item.setId(itemDto_list.get(0).getId()); - itemService.update(item); - } + + } }catch (Exception e){ ApiError apiError = ApiError.errorJosn(HttpStatus.BAD_REQUEST.value(), "导入异常---第"+(i+1)+"行:"+e.toString()); @@ -199,4 +172,4 @@ public class ItemController { itemService.deleteAll(ids); return new ResponseEntity<>(HttpStatus.OK); } -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/ItemDto.java b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/ItemDto.java index 47abcc0..7977291 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/dto/ItemDto.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/dto/ItemDto.java @@ -15,9 +15,16 @@ */ package com.youchain.basicdata.service.dto; +import com.youchain.basicdata.domain.Area; +import com.youchain.basicdata.domain.Point; import com.youchain.basicdata.domain.StockType; +import com.youchain.modules.system.domain.Dept; import com.youchain.modules.system.service.dto.DeptSmallDto; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; + +import javax.persistence.*; +import javax.validation.constraints.NotBlank; import java.sql.Timestamp; import java.io.Serializable; @@ -30,142 +37,94 @@ import java.io.Serializable; @Data public class ItemDto implements Serializable { - /** ID */ + //id private Long id; - /** 代码 */ + //料号 private String code; - /** 名称 */ + //物料描述 private String name; - /** 规格 */ - private String specs; + //包装类型 + private String packageType; - /** 客户ID */ - private Long structureId; + //规格数量 + private Double specQuantity=0D; - /** 描述 */ - private String description; + //规格重量 + private Double specWeight=0D; - /** 是否发动机 */ - private Boolean isAttribute1; - /** 是否预备货 */ - private Boolean isAttribute2; - /** 状态 */ - private Boolean enabled; + //毛重 + private Double grossWeight=0D; - /** 保质期 */ - private Integer validPeriod; + //长 + private Double length=0D; - /** 预警天数 */ - private Integer alertLeadingDays; + //宽 + private Double width=0D; - /** 大类 */ - private String largeClass; + //高 + private Double height=0D; - /** 中类 */ - private String centerClass; + //体积 + private Double volume=0D; - /** 小类 */ - private String smallClass; - - /** 物料类型 */ - private String goodType; - - /** 长 */ - private Double length; - - /** 宽 */ - private Double width; - - /** 高 */ - private Double height; - - /** 重量 */ - private Double weight; - - /** 体积 */ - private Double volume; - - /** 单位 */ + //单位 private String unit; - /** 大单位 */ - private String masterUnit; + //推荐库区 + private Area recStorageArea; - /** 包装系数 */ - private Integer packNumber; + //类型 + private String type; - /** 条码 */ - private String barCode; + //物料价值等级 + private String valueGrade; - /** 仓库ID */ - private DeptSmallDto dept; + //保质期 + private Integer validPeriod=0; - /** 来源名称 */ + //预警天数 + private Integer alertDays=0; + + //是否批次 + private Boolean isBatch=false; + + //是否序列号 + private Boolean isSerial=false; + + //是否有效期 + private Boolean isValidPeriod=false; + + //是否危化品 + private Boolean isHazardous=false; + + //库存是否可用 + private Boolean isInvAvailable=false; + + //是否SAP料号 + private Boolean isSapMaterial=false; + + //热度值 + private Integer heatValue=0; + + //描述 + private String description; + + //是否失效 + private Boolean enabled=true; + + //库位 + private Point point; + + //仓库 + private Dept dept; + + //来源名称 private String sourceName; - /** 来源序号 */ + //来源序号 private Long sourceId; - /** 创建人 */ - private String createBy; - - /** 修改人 */ - private String updateBy; - - /** 创建时间 */ - private Timestamp createTime; - - /** 修改时间 */ - private Timestamp updateTime; - - /** 容器类型 */ - private StockType stockType; - - private Long extendNum1; - - private Long extendNum2; - - private Long extendNum3; - - private Long extendNum4; - - private Long extendNum5; - - private Double extendD1; - - private Double extendD2; - - private Double extendD3; - - private Double extendD4; - - private Double extendD5; - - private String extendStr1; - - private String extendStr2; - - private String extendStr3; - - private String extendStr4; - - private String extendStr5; - - private PointDto point; - - /** 批次 */ - private Boolean bepc; - - /** 效期 */ - private Boolean bexq; - - /** 多收 */ - private Boolean beds; - - /** 超发 */ - private Boolean becf; - -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BoxServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BoxServiceImpl.java index 0a14a23..6d6b0bc 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BoxServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/BoxServiceImpl.java @@ -317,7 +317,7 @@ public class BoxServiceImpl implements BoxService { asnDetail.setItem(item); asnDetail.setLineNo(1l); asnDetail.setStatus(BizStatus.OPEN); - asnDetail.setOrderQty(item.getExtendD1()); + asnDetail.setOrderQty(item.getSpecQuantity()); asnDetail.setDept(item.getDept()); Date date = cn.hutool.core.date.DateUtil.date(); String propC1 = DateUtil.format(date, "yyyyMMdd"); diff --git a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/ImportDataServiceImpl.java b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/ImportDataServiceImpl.java index fffdf13..b139f95 100644 --- a/youchain-system/src/main/java/com/youchain/basicdata/service/impl/ImportDataServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/basicdata/service/impl/ImportDataServiceImpl.java @@ -200,13 +200,11 @@ public class ImportDataServiceImpl implements ImportDataService { re = "b"; } item.setName(name); - item.setExtendStr3(hz); - item.setExtendD3(Double.parseDouble(srs)); + if (unit!=null&&!unit.equals("")) { DictDetail dictDetail = dictDetailRepository.findByDictAndLabel("item_unit", unit); item.setUnit(dictDetail.getValue()); } - item.setSpecs(specs); if (re.equals("a")){ itemRepository.save(item); }else if (re.equals("b")){ @@ -326,4 +324,4 @@ public class ImportDataServiceImpl implements ImportDataService { } return re; } -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java index 74efb30..befc713 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/rest/AsnDetailController.java @@ -572,7 +572,7 @@ public class AsnDetailController { throw new BadRequestException("请选择入库库位"); } double unRecQty=d.getOrderQty() - d.getReceivedQty(); - if ( recQty<=unRecQty||d.getItem().getBeds()) { + if ( recQty<=unRecQty ) { String pc1=null; //现品票确认将任务id回写到现品票表中 XppRecord xppRecord = xppRecordRepository.findByCode(ewm); @@ -630,4 +630,4 @@ public class AsnDetailController { } -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java index 256564a..714de4c 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/AsnDetailServiceImpl.java @@ -194,9 +194,9 @@ public class AsnDetailServiceImpl implements AsnDetailService { public AsnDetail createAsnDetail(Item item, Stock stock, Point srcPoint,String propC1,String gdh){ AsnDetail asnDetail = new AsnDetail(); asnDetail.setItem(item); - asnDetail.setLineNo(1l); + asnDetail.setLineNo(1L); asnDetail.setStatus(BizStatus.OPEN); - asnDetail.setOrderQty(item.getExtendD1()); + asnDetail.setOrderQty(item.getSpecQuantity()); asnDetail.setDept(item.getDept()); asnDetail.setStock(stock); asnDetail.setPoint(srcPoint); diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java index f131365..47bd509 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickDetailServiceImpl.java @@ -185,7 +185,7 @@ public class PickDetailServiceImpl implements PickDetailService { if (invs.size() > 0) { double allocateQty = 0; double unQty = quantity;//未分配数量 - double srs=item.getExtendD3(); + double srs=0; for (Inventory inv : invs) { Point startPoint = inv.getPoint();//原库位 String areaCode="S仓"; diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickKitPlanServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickKitPlanServiceImpl.java index 9bf94c6..859d493 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickKitPlanServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PickKitPlanServiceImpl.java @@ -173,7 +173,7 @@ public class PickKitPlanServiceImpl implements PickKitPlanService { ptd.setPropC4(0d); }else{ //备货需求=(纯需求数/收容数向上取整)*收容数 - ptd.setOrderQty(Math.ceil(ptd.getPropC4()/ba.getItem().getExtendD3())*ba.getItem().getExtendD3()); + ptd.setOrderQty(Math.ceil(ptd.getPropC4())); } ba.setPcQty(ptd.getOrderQty()+ba.getPcQty()); bomAccountService.update(ba); @@ -190,7 +190,7 @@ public class PickKitPlanServiceImpl implements PickKitPlanService { pickDetailService.create(ptd); orderQty += ptd.getOrderQty(); //查询组合物料,数量是否一致,不一致改成一致 - String largeClass=ba.getItem().getLargeClass(); + String largeClass=""; if(largeClass!=null&&!largeClass.equals("")){ int maxQty=pickDetailService.getMaxBomQty(pickTicket.getId(),largeClass).intValue(); if(maxQty>0) { @@ -298,4 +298,4 @@ public class PickKitPlanServiceImpl implements PickKitPlanService { // } } -} \ No newline at end of file +} diff --git a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PlanPickDetailServiceImpl.java b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PlanPickDetailServiceImpl.java index 7795963..93cb5ca 100644 --- a/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PlanPickDetailServiceImpl.java +++ b/youchain-system/src/main/java/com/youchain/businessdata/service/impl/PlanPickDetailServiceImpl.java @@ -205,7 +205,7 @@ public class PlanPickDetailServiceImpl implements PlanPickDetailService { ptd.setPropC4(0d); }else{ //备货需求=(纯需求数/收容数向上取整)*收容数 - ptd.setOrderQty(Math.ceil(ptd.getPropC4()/ba.getItem().getExtendD3())*ba.getItem().getExtendD3()); + ptd.setOrderQty(Math.ceil(ptd.getPropC4())); } ba.setPcQty(ptd.getOrderQty()+ba.getPcQty()); bomAccountService.update(ba); @@ -222,7 +222,7 @@ public class PlanPickDetailServiceImpl implements PlanPickDetailService { pickDetailService.create(ptd); orderQty += ptd.getOrderQty(); //查询组合物料,数量是否一致,不一致改成一致 - String largeClass=ba.getItem().getLargeClass(); + String largeClass=""; if(largeClass!=null&&!largeClass.equals("")){ int maxQty=pickDetailService.getMaxBomQty(pickTicket.getId(),largeClass).intValue(); if(maxQty>0) { @@ -313,7 +313,7 @@ public class PlanPickDetailServiceImpl implements PlanPickDetailService { ptd.setPropC4(0d); }else{ //备货需求=(纯需求数/收容数向上取整)*收容数 - ptd.setOrderQty(Math.ceil(ptd.getPropC4()/ba.getItem().getExtendD3())*ba.getItem().getExtendD3()); + ptd.setOrderQty(Math.ceil(ptd.getPropC4())); } ba.setPcQty(ptd.getOrderQty()+ba.getPcQty()); bomAccountService.update(ba); @@ -330,7 +330,7 @@ public class PlanPickDetailServiceImpl implements PlanPickDetailService { pickDetailService.create(ptd); orderQty += ptd.getOrderQty(); //查询组合物料,数量是否一致,不一致改成一致 - String largeClass=ba.getItem().getLargeClass(); + String largeClass=""; if(largeClass!=null&&!largeClass.equals("")){ int maxQty=pickDetailService.getMaxBomQty(pickTicket.getId(),largeClass).intValue(); if(maxQty>0) { @@ -359,4 +359,4 @@ public class PlanPickDetailServiceImpl implements PlanPickDetailService { } } } -} \ No newline at end of file +}