| | |
| | | package com.zy.asrs.wms.asrs.entity; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.fasterxml.jackson.annotation.JsonAnyGetter; |
| | | import com.zy.asrs.common.utils.Synchro; |
| | | import com.zy.asrs.wms.asrs.service.LocService; |
| | | import com.zy.asrs.wms.asrs.service.MatFieldService; |
| | | import com.zy.asrs.wms.asrs.service.MatService; |
| | | import com.zy.asrs.wms.system.entity.Host; |
| | | import com.zy.asrs.wms.system.entity.User; |
| | |
| | | private String locNo; |
| | | |
| | | /** |
| | | * 物料 |
| | | * 商品 |
| | | */ |
| | | @ApiModelProperty(value= "物料") |
| | | @ApiModelProperty(value= "商品") |
| | | private Long matId; |
| | | |
| | | /** |
| | | * 物料号 |
| | | * 商品编号 |
| | | */ |
| | | @ApiModelProperty(value= "物料号") |
| | | @ApiModelProperty(value= "商品编号") |
| | | private String matnr; |
| | | |
| | | /** |
| | |
| | | */ |
| | | @ApiModelProperty(value= "数量") |
| | | private Double anfme; |
| | | |
| | | /** |
| | | * 扩展 |
| | | */ |
| | | @ApiModelProperty(value= "扩展") |
| | | private String extend; |
| | | |
| | | /** |
| | | * 所属机构 |
| | |
| | | |
| | | public LocDetl() {} |
| | | |
| | | public LocDetl(Long locId,String locNo,Long matId,String matnr,String orderNo,String batch,Double anfme,String extend,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { |
| | | public LocDetl(Long locId,String locNo,Long matId,String matnr,String orderNo,String batch,Double anfme,Long hostId,Integer status,Integer deleted,Date createTime,Long createBy,Date updateTime,Long updateBy,String memo) { |
| | | this.locId = locId; |
| | | this.locNo = locNo; |
| | | this.matId = matId; |
| | |
| | | this.orderNo = orderNo; |
| | | this.batch = batch; |
| | | this.anfme = anfme; |
| | | this.extend = extend; |
| | | this.hostId = hostId; |
| | | this.status = status; |
| | | this.deleted = deleted; |
| | |
| | | // null, // 库位 |
| | | // null, // 库位号[非空] |
| | | // null, // 物料 |
| | | // null, // 物料号 |
| | | // null, // 商品编号 |
| | | // null, // 订单号 |
| | | // null, // 批号 |
| | | // null, // 数量 |
| | |
| | | return null; |
| | | } |
| | | |
| | | public void sync(Object source) { |
| | | Synchro.Copy(source, this); |
| | | } |
| | | |
| | | //动态扩展字段 |
| | | public transient Map<String, Object> dynamicFields = new HashMap<>(); |
| | | |
| | | @JsonAnyGetter |
| | | public Map<String,Object> getDynamicFields() { |
| | | return dynamicFields; |
| | | } |
| | | |
| | | public void syncField(List<LocDetlField> list) { |
| | | ArrayList<String> keys = new ArrayList<>(); |
| | | Field[] fields = this.getClass().getFields(); |
| | | for (Field field : fields) { |
| | | keys.add(field.getName()); |
| | | } |
| | | |
| | | Map<String, Object> dynamicFields = new HashMap<>(); |
| | | for (LocDetlField locDetlField : list) { |
| | | if (keys.contains(locDetlField.getName())) { |
| | | continue; |
| | | } |
| | | dynamicFields.put(locDetlField.getName(), locDetlField.getValue()); |
| | | } |
| | | |
| | | this.dynamicFields = dynamicFields; |
| | | } |
| | | |
| | | public void syncFieldMap(Map<String, Object> map) { |
| | | ArrayList<String> keys = new ArrayList<>(); |
| | | Field[] fields = this.getClass().getDeclaredFields(); |
| | | for (Field field : fields) { |
| | | keys.add(field.getName()); |
| | | } |
| | | keys.add("detlId"); |
| | | |
| | | Map<String, Object> dynamicFields = new HashMap<>(); |
| | | for (Map.Entry<String, Object> entry : map.entrySet()) { |
| | | if (keys.contains(entry.getKey())) { |
| | | continue; |
| | | } |
| | | dynamicFields.put(entry.getKey(), entry.getValue()); |
| | | } |
| | | |
| | | this.dynamicFields = dynamicFields; |
| | | } |
| | | |
| | | public String getFieldString(String key) { |
| | | return dynamicFields.get(key).toString(); |
| | | } |
| | | |
| | | public void setField(String key, Object value) { |
| | | dynamicFields.put(key, value); |
| | | } |
| | | |
| | | public List<Map<String, Object>> getDynamicFieldsList() { |
| | | MatFieldService service = SpringUtils.getBean(MatFieldService.class); |
| | | List<MatField> matFields = service.list(new LambdaQueryWrapper<MatField>().eq(MatField::getFieldType, 1)); |
| | | HashMap<String, Object> fieldMap = new HashMap<>(); |
| | | for (MatField matField : matFields) { |
| | | fieldMap.put(matField.getName(), matField.getDescribe()); |
| | | } |
| | | |
| | | List<Map<String, Object>> list = new ArrayList<>(); |
| | | for (Map.Entry<String, Object> entry : dynamicFields.entrySet()) { |
| | | HashMap<String, Object> map = new HashMap<>(); |
| | | map.put("key", entry.getKey()); |
| | | map.put("value", entry.getValue()); |
| | | map.put("desc", fieldMap.get(entry.getKey())); |
| | | list.add(map); |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | } |