opt:优化单据管理
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
package org.nl.common.domain.handler;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.core.JsonParser;
|
||||||
|
import com.fasterxml.jackson.databind.DeserializationContext;
|
||||||
|
import com.fasterxml.jackson.databind.JsonDeserializer;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.time.ZoneId;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 时区转换
|
||||||
|
*
|
||||||
|
* @author gbx
|
||||||
|
* @since 2025-06-27
|
||||||
|
*/
|
||||||
|
public class IsoToLocalDateTimeStringDeserializer extends JsonDeserializer<String> {
|
||||||
|
private static final DateTimeFormatter FORMATTER =
|
||||||
|
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.of("Asia/Shanghai"));
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String deserialize(JsonParser p, DeserializationContext ctxt)
|
||||||
|
throws IOException {
|
||||||
|
String isoString = p.getText();
|
||||||
|
try {
|
||||||
|
Instant instant = Instant.parse(isoString);
|
||||||
|
return FORMATTER.format(instant);
|
||||||
|
} catch (Exception e) {
|
||||||
|
return isoString;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -63,25 +63,45 @@ public class PageQuery implements Serializable {
|
|||||||
Page<T> page = new Page<>(pageNum, pageSize);
|
Page<T> page = new Page<>(pageNum, pageSize);
|
||||||
if (StringUtils.isNotEmpty(sort)){
|
if (StringUtils.isNotEmpty(sort)){
|
||||||
String[] split = sort.split(",");
|
String[] split = sort.split(",");
|
||||||
for (int i = 0; i < (split.length & ~1); i=i+2) {
|
for (int i = 0; i < (split.length & ~1); i = i + 2) {
|
||||||
String col = split[i];
|
String col = split[i];
|
||||||
OrderItem item = new OrderItem();
|
OrderItem item = new OrderItem();
|
||||||
item.setColumn(col);
|
item.setColumn(col);
|
||||||
item.setAsc(split[i+1].toLowerCase(Locale.ROOT).equals("asc"));
|
item.setAsc(split[i + 1].toLowerCase(Locale.ROOT).equals("asc"));
|
||||||
page.addOrder(item);
|
page.addOrder(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return page;
|
return page;
|
||||||
}
|
}
|
||||||
|
|
||||||
public <R,T> Page<T> build(Class<R> r) {
|
public static void trimStringFields(Object obj) {
|
||||||
|
if (obj == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Field[] fields = obj.getClass().getDeclaredFields();
|
||||||
|
for (Field field : fields) {
|
||||||
|
if (field.getType() == String.class) {
|
||||||
|
field.setAccessible(true);
|
||||||
|
try {
|
||||||
|
String value = (String) field.get(obj);
|
||||||
|
if (value != null) {
|
||||||
|
field.set(obj, value.trim().toUpperCase());
|
||||||
|
}
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public <R, T> Page<T> build(Class<R> r) {
|
||||||
Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
|
Integer pageNum = ObjectUtil.defaultIfNull(getPage(), DEFAULT_PAGE_NUM);
|
||||||
Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
|
Integer pageSize = ObjectUtil.defaultIfNull(getSize(), DEFAULT_PAGE_SIZE);
|
||||||
if (pageNum <= 0) {
|
if (pageNum <= 0) {
|
||||||
pageNum = DEFAULT_PAGE_NUM;
|
pageNum = DEFAULT_PAGE_NUM;
|
||||||
}
|
}
|
||||||
Page<T> page = new Page<>(pageNum, pageSize);
|
Page<T> page = new Page<>(pageNum, pageSize);
|
||||||
if (StringUtils.isNotEmpty(sort)){
|
if (StringUtils.isNotEmpty(sort)) {
|
||||||
String[] split = sort.split(",");
|
String[] split = sort.split(",");
|
||||||
for (int i = 0; i < (split.length & ~1); i=i+2) {
|
for (int i = 0; i < (split.length & ~1); i=i+2) {
|
||||||
String col = split[i];
|
String col = split[i];
|
||||||
|
|||||||
@@ -157,4 +157,17 @@ public class DateUtil {
|
|||||||
public static LocalDateTime parseLocalDateTimeFormatyMdHms(String localDateTime) {
|
public static LocalDateTime parseLocalDateTimeFormatyMdHms(String localDateTime) {
|
||||||
return LocalDateTime.from(DFY_MD_HMS.parse(localDateTime));
|
return LocalDateTime.from(DFY_MD_HMS.parse(localDateTime));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 字符串转 yyyy-MM-dd
|
||||||
|
*
|
||||||
|
* @param localDateTime /
|
||||||
|
* @return /
|
||||||
|
*/
|
||||||
|
public static String parseLocalDateTimeFormatYmd(String localDateTime) {
|
||||||
|
if (localDateTime == null || localDateTime.length() < 10) {
|
||||||
|
return localDateTime;
|
||||||
|
}
|
||||||
|
return localDateTime.substring(0, 10);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,16 +2,21 @@ package org.nl.wms.pm_manage.form_data.controller;
|
|||||||
|
|
||||||
import cn.dev33.satoken.annotation.SaIgnore;
|
import cn.dev33.satoken.annotation.SaIgnore;
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONArray;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import com.alibaba.fastjson.parser.Feature;
|
import com.alibaba.fastjson.parser.Feature;
|
||||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||||
import org.apache.commons.lang3.ObjectUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
||||||
import org.nl.common.base.TableDataInfo;
|
import org.nl.common.base.TableDataInfo;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
|
import org.nl.common.exception.BadRequestException;
|
||||||
import org.nl.common.logging.annotation.Log;
|
import org.nl.common.logging.annotation.Log;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
|
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
|
||||||
|
import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit;
|
||||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dao.dto.PmFormDataParam;
|
import org.nl.wms.pm_manage.form_data.service.dao.dto.PmFormDataParam;
|
||||||
@@ -67,17 +72,8 @@ public class PmFormDataController {
|
|||||||
@PutMapping()
|
@PutMapping()
|
||||||
@Log("修改单据结构")
|
@Log("修改单据结构")
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public ResponseEntity<Object> update(@RequestBody JSONObject param) {
|
public ResponseEntity<Object> update(@RequestBody PmFormDataParam params) {
|
||||||
//逻辑判断:如果有数据了则不允许修改
|
iPmFormDataService.update(params);
|
||||||
String s = param.toString(SerializerFeature.SortField);
|
|
||||||
PmFormData pmFormData = JSONObject.parseObject(s, PmFormData.class, Feature.OrderedField);
|
|
||||||
//生产入库单存在报工数超过合格数,需要人工修改正确报工数=合格数,进行手动回传
|
|
||||||
String id = pmFormData.getId();
|
|
||||||
PmFormData entity = iPmFormDataService.getById(id);
|
|
||||||
entity.setRemark(pmFormData.getRemark());
|
|
||||||
entity.setUpdate_name(SecurityUtils.getCurrentUserId());
|
|
||||||
entity.setUpdate_time(DateUtil.now());
|
|
||||||
iPmFormDataService.updateById(entity);
|
|
||||||
return new ResponseEntity<>(HttpStatus.OK);
|
return new ResponseEntity<>(HttpStatus.OK);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,14 @@ public interface IPmFormDataService extends IService<PmFormData> {
|
|||||||
*/
|
*/
|
||||||
void create(PmFormDataParam params);
|
void create(PmFormDataParam params);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
* @param params 对象实体
|
||||||
|
*/
|
||||||
|
void update(PmFormDataParam params);
|
||||||
|
|
||||||
|
|
||||||
List<PmFormData> getByType(String from_type);
|
List<PmFormData> getByType(String from_type);
|
||||||
|
|
||||||
Object queryAll(FormDataQuery query, PageQuery page);
|
Object queryAll(FormDataQuery query, PageQuery page);
|
||||||
|
|||||||
@@ -2,8 +2,10 @@ package org.nl.wms.pm_manage.form_data.service.dao.dao;
|
|||||||
|
|
||||||
import com.baomidou.mybatisplus.annotation.*;
|
import com.baomidou.mybatisplus.annotation.*;
|
||||||
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
import com.baomidou.mybatisplus.extension.activerecord.Model;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
import org.nl.common.domain.handler.IsoToLocalDateTimeStringDeserializer;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
@@ -29,7 +31,14 @@ public class PmFormData extends Model<PmFormData> {
|
|||||||
*/
|
*/
|
||||||
@TableId(value = "id", type = IdType.NONE)
|
@TableId(value = "id", type = IdType.NONE)
|
||||||
private String id;
|
private String id;
|
||||||
|
/**
|
||||||
|
* 仓库编号
|
||||||
|
*/
|
||||||
|
private String stor_id;
|
||||||
|
/**
|
||||||
|
* 仓库信息
|
||||||
|
*/
|
||||||
|
private String stor_name;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 编号
|
* 编号
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
package org.nl.wms.pm_manage.form_data.service.dao.dto;
|
package org.nl.wms.pm_manage.form_data.service.dao.dto;
|
||||||
|
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
|
import org.nl.common.domain.handler.IsoToLocalDateTimeStringDeserializer;
|
||||||
import org.nl.common.domain.query.BaseQuery;
|
import org.nl.common.domain.query.BaseQuery;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
||||||
|
|
||||||
@@ -32,6 +34,14 @@ public class PmFormDataParam extends BaseQuery<PmFormData> {
|
|||||||
* 单据状态
|
* 单据状态
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String status;
|
||||||
|
/**
|
||||||
|
* 仓库编号
|
||||||
|
*/
|
||||||
|
private String stor_id;
|
||||||
|
/**
|
||||||
|
* 仓库信息
|
||||||
|
*/
|
||||||
|
private String stor_name;
|
||||||
/**
|
/**
|
||||||
* 单据类型
|
* 单据类型
|
||||||
*/
|
*/
|
||||||
@@ -39,6 +49,7 @@ public class PmFormDataParam extends BaseQuery<PmFormData> {
|
|||||||
/**
|
/**
|
||||||
* 源单单据日期
|
* 源单单据日期
|
||||||
*/
|
*/
|
||||||
|
@JsonDeserialize(using = IsoToLocalDateTimeStringDeserializer.class)
|
||||||
private String source_form_date;
|
private String source_form_date;
|
||||||
/**
|
/**
|
||||||
* 物料code
|
* 物料code
|
||||||
|
|||||||
@@ -15,6 +15,8 @@
|
|||||||
<result property="assign_qty" column="assign_qty"/>
|
<result property="assign_qty" column="assign_qty"/>
|
||||||
<result property="actual_qty" column="actual_qty"/>
|
<result property="actual_qty" column="actual_qty"/>
|
||||||
<result property="total_qty" column="total_qty"/>
|
<result property="total_qty" column="total_qty"/>
|
||||||
|
<result property="stor_id" column="stor_id"/>
|
||||||
|
<result property="stor_name" column="stor_name"/>
|
||||||
<result property="unit_id" column="unit_id"/>
|
<result property="unit_id" column="unit_id"/>
|
||||||
<result property="unit_name" column="unit_name"/>
|
<result property="unit_name" column="unit_name"/>
|
||||||
<result property="vehicle_code" column="vehicle_code"/>
|
<result property="vehicle_code" column="vehicle_code"/>
|
||||||
@@ -128,17 +130,15 @@
|
|||||||
<if test="query.code != null and query.code != ''">
|
<if test="query.code != null and query.code != ''">
|
||||||
and code LIKE '%${query.code}'
|
and code LIKE '%${query.code}'
|
||||||
</if>
|
</if>
|
||||||
<if test="query.bill_code != null and query.bill_code != ''">
|
<if test="query.material_code != null and query.material_code != ''">
|
||||||
and source_form_date = #{query.bill_code}
|
and (md_me_materialbase.material_code LIKE '%${query.material_code}%'
|
||||||
</if>
|
or md_me_materialbase.material_name LIKE '%${query.material_code}%')
|
||||||
<if test="query.mater != null and query.mater != ''">
|
|
||||||
and md_me_materialbase.material_code like '%${query.mater}%'
|
|
||||||
</if>
|
</if>
|
||||||
<if test="query.start_time != null and query.start_time != ''">
|
<if test="query.start_time != null and query.start_time != ''">
|
||||||
and pm_form_data.create_time >= #{query.start_time}
|
and pm_form_data.source_form_date >= #{query.start_time}
|
||||||
</if>
|
</if>
|
||||||
<if test="query.end_time != null and query.end_time != ''">
|
<if test="query.end_time != null and query.end_time != ''">
|
||||||
and #{query.end_time} >= pm_form_data.create_time
|
and #{query.end_time} >= pm_form_data.source_form_date
|
||||||
</if>
|
</if>
|
||||||
<if test="query.status != null and query.status != ''">
|
<if test="query.status != null and query.status != ''">
|
||||||
and pm_form_data.status IN
|
and pm_form_data.status IN
|
||||||
|
|||||||
@@ -21,11 +21,10 @@ public class FormDataQuery extends BaseQuery<PmFormData> {
|
|||||||
private String search;
|
private String search;
|
||||||
private String pcsn;
|
private String pcsn;
|
||||||
private String parent_id;
|
private String parent_id;
|
||||||
private String mater;
|
private String material_code;
|
||||||
private String[] status;
|
private String[] status;
|
||||||
private String start_time;
|
private String start_time;
|
||||||
private String end_time;
|
private String end_time;
|
||||||
|
|
||||||
private Map<String,String> form_query;
|
private Map<String,String> form_query;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -18,170 +18,121 @@ import java.util.List;
|
|||||||
@Data
|
@Data
|
||||||
public class PmFormDataDto implements Serializable {
|
public class PmFormDataDto implements Serializable {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
private static final long serialVersionUID = -7739291296662381396L;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务单据单据id
|
* 主键
|
||||||
*/
|
*/
|
||||||
private String id;
|
private String id;
|
||||||
/**
|
/**
|
||||||
* 单据编码
|
* 编号
|
||||||
*/
|
*/
|
||||||
private String code;
|
private String code;
|
||||||
/**
|
/**
|
||||||
* 对应流程实例id
|
* 单据状态
|
||||||
*/
|
*/
|
||||||
private String proc_inst_id;
|
private String status;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务单据编号
|
|
||||||
*/
|
|
||||||
private String source_form_id;
|
|
||||||
/**
|
|
||||||
* 业务单据编号
|
|
||||||
*/
|
|
||||||
private String source_form_type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务单据日期
|
|
||||||
*/
|
|
||||||
private String source_form_date;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单据类型
|
* 单据类型
|
||||||
*/
|
*/
|
||||||
private String form_type;
|
private String form_type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务单据状态
|
* 源单单据日期
|
||||||
*/
|
*/
|
||||||
private String status;
|
private String source_form_date;
|
||||||
|
|
||||||
/**
|
|
||||||
* 业务单据状态
|
|
||||||
*/
|
|
||||||
private String bill_status;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 物料状态
|
|
||||||
*/
|
|
||||||
private String material_status;
|
|
||||||
/**
|
|
||||||
* 业务单据状态
|
|
||||||
*/
|
|
||||||
private String remark;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建id
|
|
||||||
*/
|
|
||||||
private String create_time;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 创建id
|
|
||||||
*/
|
|
||||||
private String create_name;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 物料id
|
|
||||||
*/
|
|
||||||
private String material_id;
|
|
||||||
/**
|
|
||||||
* 物料name
|
|
||||||
*/
|
|
||||||
private String material_name;
|
|
||||||
/**
|
/**
|
||||||
* 物料code
|
* 物料code
|
||||||
*/
|
*/
|
||||||
private String material_code;
|
private String material_code;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 物料spec
|
* 物料规格
|
||||||
*/
|
*/
|
||||||
private String material_spec;
|
private String material_spec;
|
||||||
/**
|
/**
|
||||||
* 物料单重
|
* 物料
|
||||||
|
*/
|
||||||
|
private String material_name;
|
||||||
|
/**
|
||||||
|
* 净重
|
||||||
*/
|
*/
|
||||||
private String net_weight;
|
private String net_weight;
|
||||||
/**
|
|
||||||
* 单据编号
|
|
||||||
*/
|
|
||||||
private String billNo;
|
|
||||||
/**
|
|
||||||
* 源单编号
|
|
||||||
*/
|
|
||||||
private String srcBillNo;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 条码
|
|
||||||
*/
|
|
||||||
private String bar_code;
|
|
||||||
/**
|
|
||||||
* 数量
|
|
||||||
*/
|
|
||||||
private BigDecimal qty;
|
|
||||||
/**
|
|
||||||
* 冻结数量
|
|
||||||
*/
|
|
||||||
private BigDecimal frozen_qty;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 库存数量
|
|
||||||
*/
|
|
||||||
private BigDecimal sto_qty;
|
|
||||||
/**
|
|
||||||
* 数量
|
|
||||||
*/
|
|
||||||
private BigDecimal plan_qty;
|
|
||||||
/**
|
|
||||||
* 已分配数量
|
|
||||||
*/
|
|
||||||
private BigDecimal assign_qty;
|
|
||||||
/**
|
|
||||||
* 实际数量
|
|
||||||
*/
|
|
||||||
private BigDecimal actual_qty;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 单位
|
|
||||||
*/
|
|
||||||
private String unit_id;
|
|
||||||
/**
|
|
||||||
* 单位名称
|
|
||||||
*/
|
|
||||||
private String unit_name;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批次号
|
* 批次号
|
||||||
*/
|
*/
|
||||||
private String pcsn;
|
private String pcsn;
|
||||||
/**
|
/**
|
||||||
* 批次号
|
* 计划数量
|
||||||
*/
|
*/
|
||||||
private String product_area;
|
private BigDecimal plan_qty;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 是否删除
|
* 数量
|
||||||
*/
|
*/
|
||||||
private String is_delete;
|
private BigDecimal qty;
|
||||||
/**
|
/**
|
||||||
* 载具
|
* 分配数量
|
||||||
|
*/
|
||||||
|
private BigDecimal assign_qty;
|
||||||
|
/**
|
||||||
|
* 实际数量
|
||||||
|
*/
|
||||||
|
private BigDecimal actual_qty;
|
||||||
|
/**
|
||||||
|
* 单据累计数量
|
||||||
|
*/
|
||||||
|
private BigDecimal total_qty;
|
||||||
|
/**
|
||||||
|
* 数量单位
|
||||||
|
*/
|
||||||
|
private String unit_id;
|
||||||
|
/**
|
||||||
|
* 单位名称
|
||||||
|
*/
|
||||||
|
private String unit_name;
|
||||||
|
/**
|
||||||
|
* 载具信息
|
||||||
*/
|
*/
|
||||||
private String vehicle_code;
|
private String vehicle_code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 仓库
|
||||||
|
*/
|
||||||
|
private String stor_name;
|
||||||
/**
|
/**
|
||||||
* 载具组盘id
|
* 载具组盘id
|
||||||
*/
|
*/
|
||||||
private String vehicle_id;
|
private String vehicle_id;
|
||||||
/**
|
|
||||||
* 出库单据号
|
|
||||||
*/
|
|
||||||
private String prd_ppbom_no;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 自定义表单字段
|
* 自定义表单字段
|
||||||
*/
|
*/
|
||||||
private JSONObject form_data;
|
private String form_data;
|
||||||
|
/**
|
||||||
|
* 创建id
|
||||||
|
*/
|
||||||
|
private String create_time;
|
||||||
|
/**
|
||||||
|
* 创建id
|
||||||
|
*/
|
||||||
|
private String create_name;
|
||||||
|
/**
|
||||||
|
* 修改时间
|
||||||
|
*/
|
||||||
|
private String update_time;
|
||||||
|
/**
|
||||||
|
* 修改人
|
||||||
|
*/
|
||||||
|
private String update_name;
|
||||||
|
/**
|
||||||
|
* 说明
|
||||||
|
*/
|
||||||
|
private String remark;
|
||||||
|
/**
|
||||||
|
* 是否完结
|
||||||
|
*/
|
||||||
|
private Integer is_finish;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 关联上级表单id
|
* 关联上级表单id
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package org.nl.wms.pm_manage.form_data.service.impl;
|
|||||||
|
|
||||||
import cn.hutool.core.date.DateUtil;
|
import cn.hutool.core.date.DateUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.github.pagehelper.Page;
|
import com.github.pagehelper.Page;
|
||||||
@@ -11,11 +12,14 @@ import org.apache.commons.lang3.StringUtils;
|
|||||||
import org.nl.common.base.TableDataInfo;
|
import org.nl.common.base.TableDataInfo;
|
||||||
import org.nl.common.domain.query.PageQuery;
|
import org.nl.common.domain.query.PageQuery;
|
||||||
import org.nl.common.exception.BadRequestException;
|
import org.nl.common.exception.BadRequestException;
|
||||||
|
import org.nl.common.utils.CodeUtil;
|
||||||
import org.nl.common.utils.CopyUtil;
|
import org.nl.common.utils.CopyUtil;
|
||||||
import org.nl.common.utils.IdUtil;
|
import org.nl.common.utils.IdUtil;
|
||||||
import org.nl.common.utils.SecurityUtils;
|
import org.nl.common.utils.SecurityUtils;
|
||||||
import org.nl.wms.basedata_manage.service.IMdMeMaterialbaseService;
|
import org.nl.wms.basedata_manage.service.IBsrealStorattrService;
|
||||||
import org.nl.wms.basedata_manage.service.IStructattrService;
|
import org.nl.wms.basedata_manage.service.IMdPbMeasureunitService;
|
||||||
|
import org.nl.wms.basedata_manage.service.dao.BsrealStorattr;
|
||||||
|
import org.nl.wms.basedata_manage.service.dao.MdPbMeasureunit;
|
||||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
import org.nl.wms.pm_manage.form_data.service.dao.dao.PmFormData;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dao.dto.PmFormDataParam;
|
import org.nl.wms.pm_manage.form_data.service.dao.dto.PmFormDataParam;
|
||||||
@@ -23,7 +27,6 @@ import org.nl.wms.pm_manage.form_data.service.dao.mapper.PmFormDataMapper;
|
|||||||
import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery;
|
import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery;
|
||||||
import org.nl.wms.pm_manage.form_data.service.dto.PmFormDataDto;
|
import org.nl.wms.pm_manage.form_data.service.dto.PmFormDataDto;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.Assert;
|
import org.springframework.util.Assert;
|
||||||
import org.springframework.util.CollectionUtils;
|
import org.springframework.util.CollectionUtils;
|
||||||
@@ -36,6 +39,8 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
import static org.nl.common.domain.query.PageQuery.trimStringFields;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* 表单信息表 服务实现类
|
* 表单信息表 服务实现类
|
||||||
@@ -57,15 +62,13 @@ import java.util.stream.Collectors;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormData> implements IPmFormDataService {
|
public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormData> implements IPmFormDataService {
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private IMdMeMaterialbaseService iMdMeMaterialbaseService;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
private PmFormDataMapper pmFormDataMapper;
|
private PmFormDataMapper pmFormDataMapper;
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
private IStructattrService iStIvtStructattrService;
|
private IMdPbMeasureunitService iMdPbMeasureunitService;
|
||||||
|
@Resource
|
||||||
|
private IBsrealStorattrService iBsrealStorattrService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Integer syncFormData(String form_type, String dataString) {
|
public Integer syncFormData(String form_type, String dataString) {
|
||||||
@@ -82,13 +85,44 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void create(PmFormDataParam params) {
|
public void create(PmFormDataParam params) {
|
||||||
|
params.setCode(CodeUtil.getNewCode("EXT_BILL"));
|
||||||
|
params.setSource_form_date(org.nl.common.utils.DateUtil.parseLocalDateTimeFormatYmd(params.getSource_form_date()));
|
||||||
|
MdPbMeasureunit mdPbMeasureunit = iMdPbMeasureunitService.getOne(new LambdaQueryWrapper<MdPbMeasureunit>().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id()));
|
||||||
|
if (ObjectUtil.isEmpty(mdPbMeasureunit)) {
|
||||||
|
throw new BadRequestException("没有该计量单位信息");
|
||||||
|
}
|
||||||
|
BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id());
|
||||||
|
if (ObjectUtil.isEmpty(bsrealStorattr)) {
|
||||||
|
throw new BadRequestException("没有该仓库信息");
|
||||||
|
}
|
||||||
|
params.setStor_name(bsrealStorattr.getStor_name());
|
||||||
|
params.setUnit_name(mdPbMeasureunit.getUnit_name());
|
||||||
pmFormDataMapper.insert(getBasicInfo(params, true));
|
pmFormDataMapper.insert(getBasicInfo(params, true));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param params 对象实体
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void update(PmFormDataParam params) {
|
||||||
|
params.setSource_form_date(org.nl.common.utils.DateUtil.parseLocalDateTimeFormatYmd(params.getSource_form_date()));
|
||||||
|
MdPbMeasureunit mdPbMeasureunit = iMdPbMeasureunitService.getOne(new LambdaQueryWrapper<MdPbMeasureunit>().eq(MdPbMeasureunit::getMeasure_unit_id, params.getUnit_id()));
|
||||||
|
if (ObjectUtil.isEmpty(mdPbMeasureunit)) {
|
||||||
|
throw new BadRequestException("没有该计量单位信息");
|
||||||
|
}
|
||||||
|
BsrealStorattr bsrealStorattr = iBsrealStorattrService.findById(params.getStor_id());
|
||||||
|
if (ObjectUtil.isEmpty(bsrealStorattr)) {
|
||||||
|
throw new BadRequestException("没有该仓库信息");
|
||||||
|
}
|
||||||
|
params.setStor_name(bsrealStorattr.getStor_name());
|
||||||
|
params.setUnit_name(mdPbMeasureunit.getUnit_name());
|
||||||
|
pmFormDataMapper.updateById(getBasicInfo(params, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object queryAll(FormDataQuery query, PageQuery pageQuery) {
|
public Object queryAll(FormDataQuery query, PageQuery pageQuery) {
|
||||||
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||||
@@ -121,21 +155,8 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
public com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> queryTree(FormDataQuery query, PageQuery pageQuery) {
|
public com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> queryTree(FormDataQuery query, PageQuery pageQuery) {
|
||||||
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
Page page = PageHelper.startPage(pageQuery.getPage() + 1, pageQuery.getSize());
|
||||||
page.setOrderBy("id DESC");
|
page.setOrderBy("id DESC");
|
||||||
if (ObjectUtil.isNotEmpty(query.getMater()) || ObjectUtil.isNotEmpty(query.getPcsn()) || ObjectUtil.isNotEmpty(query.getBill_code())) {
|
trimStringFields(query);
|
||||||
if (ObjectUtil.isNotEmpty(query.getPcsn())) {
|
|
||||||
query.setPcsn(query.getPcsn().trim());
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isNotEmpty(query.getMater())) {
|
|
||||||
query.setMater(query.getMater().trim());
|
|
||||||
}
|
|
||||||
if (ObjectUtil.isNotEmpty(query.getBill_code())) {
|
|
||||||
query.setBill_code(query.getBill_code().trim());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
List<PmFormDataDto> pmFormDataList = this.baseMapper.queryTree2(query);
|
List<PmFormDataDto> pmFormDataList = this.baseMapper.queryTree2(query);
|
||||||
if (ObjectUtil.isNotEmpty(pmFormDataList)) {
|
|
||||||
handleFormDataList(pmFormDataList, query);
|
|
||||||
}
|
|
||||||
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal());
|
com.baomidou.mybatisplus.extension.plugins.pagination.Page<PmFormDataDto> dtoPage = new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page.getPages(), page.getPageSize(), page.getTotal());
|
||||||
dtoPage.setRecords(pmFormDataList);
|
dtoPage.setRecords(pmFormDataList);
|
||||||
return dtoPage;
|
return dtoPage;
|
||||||
@@ -150,13 +171,9 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
if (!CollectionUtils.isEmpty(childs)) {
|
if (!CollectionUtils.isEmpty(childs)) {
|
||||||
Map<String, List<PmFormDataDto>> childMap = childs.stream().collect(Collectors.groupingBy(PmFormDataDto::getParent_id));
|
Map<String, List<PmFormDataDto>> childMap = childs.stream().collect(Collectors.groupingBy(PmFormDataDto::getParent_id));
|
||||||
for (PmFormDataDto dataDto : pmFormDataDtos) {
|
for (PmFormDataDto dataDto : pmFormDataDtos) {
|
||||||
String productArea = dataDto.getForm_data().getString("product_area");
|
|
||||||
dataDto.setProduct_area(productArea);
|
|
||||||
List<PmFormDataDto> children = childMap.get(dataDto.getId());
|
List<PmFormDataDto> children = childMap.get(dataDto.getId());
|
||||||
if (children != null) {
|
if (children != null) {
|
||||||
for (PmFormDataDto child : children) {
|
for (PmFormDataDto child : children) {
|
||||||
String childProductArea = child.getForm_data().getString("product_area");
|
|
||||||
child.setProduct_area(childProductArea);
|
|
||||||
if (child.getPlan_qty() != null && child.getAssign_qty().compareTo(BigDecimal.ZERO) == 0) {
|
if (child.getPlan_qty() != null && child.getAssign_qty().compareTo(BigDecimal.ZERO) == 0) {
|
||||||
BigDecimal total = child.getPlan_qty().subtract(child.getAssign_qty().add(child.getActual_qty() == null ? BigDecimal.ZERO : child.getActual_qty()));
|
BigDecimal total = child.getPlan_qty().subtract(child.getAssign_qty().add(child.getActual_qty() == null ? BigDecimal.ZERO : child.getActual_qty()));
|
||||||
child.setQty(total.compareTo(BigDecimal.ZERO) > 0 ? total : BigDecimal.ZERO);
|
child.setQty(total.compareTo(BigDecimal.ZERO) > 0 ? total : BigDecimal.ZERO);
|
||||||
@@ -165,13 +182,6 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
|||||||
}
|
}
|
||||||
dataDto.setChildren(children);
|
dataDto.setChildren(children);
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
if (ObjectUtil.isNotEmpty(query.getMater()) || ObjectUtil.isNotEmpty(query.getPcsn()) || ObjectUtil.isNotEmpty(query.getBill_code()) || ObjectUtil.isNotEmpty(query.getStatus())) {
|
|
||||||
BigDecimal counts = this.baseMapper.queryTreeCounts(query);
|
|
||||||
for (PmFormDataDto r : pmFormDataDtos) {
|
|
||||||
r.setSto_qty(counts);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -13,8 +13,9 @@
|
|||||||
>
|
>
|
||||||
<el-form-item label="单据类型">
|
<el-form-item label="单据类型">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="query.bill_type"
|
v-model="query.form_type"
|
||||||
filterable
|
filterable
|
||||||
|
clearable
|
||||||
size="mini"
|
size="mini"
|
||||||
placeholder="请选择/搜索"
|
placeholder="请选择/搜索"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
@@ -59,7 +60,7 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="物料编码">
|
<el-form-item label="物料编码">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="query.mater"
|
v-model="query.material_code"
|
||||||
clearable
|
clearable
|
||||||
style="width: 250px"
|
style="width: 250px"
|
||||||
size="mini"
|
size="mini"
|
||||||
@@ -202,6 +203,9 @@
|
|||||||
<label slot="label">备 注:</label>
|
<label slot="label">备 注:</label>
|
||||||
<el-input v-model.trim="form.remark" style="width: 480px;" rows="2" type="textarea" :disabled="crud.status.view > 0" />
|
<el-input v-model.trim="form.remark" style="width: 480px;" rows="2" type="textarea" :disabled="crud.status.view > 0" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item v-if="false" label="单位" prop="unit_id">
|
||||||
|
<el-input v-model="form.unit_id" style="width: 240px;" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
@@ -227,7 +231,15 @@
|
|||||||
<span v-else>{{ scope.row.code }}</span>
|
<span v-else>{{ scope.row.code }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="form_type" label="单据类型" show-overflow-tooltip width="120" />
|
<el-table-column show-overflow-tooltip prop="form_type" min-width="120" :formatter="bill_typeFormat" label="单据类型" />
|
||||||
|
<el-table-column show-overflow-tooltip prop="stor_name" min-width="120" label="仓库" />
|
||||||
|
<el-table-column prop="qty" label="物料数量" show-overflow-tooltip />
|
||||||
|
<el-table-column prop="material_code" label="物料编码" show-overflow-tooltip :min-width="flexWidth('material_code',crud.data,'物料编码')" />
|
||||||
|
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip :min-width="flexWidth('material_name',crud.data,'物料名称')" />
|
||||||
|
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip :min-width="flexWidth('material_spec',crud.data,'物料规格')" />
|
||||||
|
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
|
||||||
|
<el-table-column prop="unit_name" label="单位" show-overflow-tooltip width="120" />
|
||||||
|
<el-table-column prop="source_form_date" label="源单日期" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="status" label="单据状态" show-overflow-tooltip width="120">
|
<el-table-column prop="status" label="单据状态" show-overflow-tooltip width="120">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<template v-for="item in formStatus">
|
<template v-for="item in formStatus">
|
||||||
@@ -235,27 +247,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="vehicle_code" label="载具编号" show-overflow-tooltip width="120" />-->
|
<el-table-column prop="actual_qty" label="明细实际数量" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="qty" label="物料数量" show-overflow-tooltip />
|
<el-table-column prop="total_qty" label="单据累计数量" show-overflow-tooltip width="130" />
|
||||||
<el-table-column prop="material_id" label="物料id" show-overflow-tooltip width="120" />
|
<el-table-column prop="remark" label="备注" show-overflow-tooltip width="120" />
|
||||||
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip width="120" />
|
<el-table-column prop="create_name" label="创建人" />
|
||||||
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip width="120" />
|
<el-table-column prop="create_time" label="创建时间" :min-width="flexWidth('create_time',crud.data,'创建时间')" />
|
||||||
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip width="120" />
|
|
||||||
<el-table-column prop="unit_id" label="单位" show-overflow-tooltip width="120" />
|
|
||||||
<el-table-column prop="biz_code" label="业务单据编码" show-overflow-tooltip width="120" />
|
|
||||||
<el-table-column prop="biz_date" label="业务单据时间" show-overflow-tooltip width="130" />
|
|
||||||
<el-table-column prop="parent_id" label="父单据数据id" show-overflow-tooltip width="120" />
|
|
||||||
<el-table-column
|
|
||||||
v-for="(item, index) in cols"
|
|
||||||
:key="item.value"
|
|
||||||
width="130"
|
|
||||||
show-overflow-tooltip
|
|
||||||
:label="item.lable"
|
|
||||||
>
|
|
||||||
<template slot-scope="scope">{{ scope.row.form_data[item.value] }}</template>
|
|
||||||
</el-table-column>
|
|
||||||
<el-table-column prop="create_time" label="创建时间" />
|
|
||||||
<el-table-column prop="proc_inst_id" label="对应流程实例id" show-overflow-tooltip width="120" />
|
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-permission="['admin','Classstandard:edit','Classstandard:del']"
|
v-permission="['admin','Classstandard:edit','Classstandard:del']"
|
||||||
label="操作"
|
label="操作"
|
||||||
@@ -302,8 +298,7 @@ const defaultForm = {
|
|||||||
source_form_date: new Date(),
|
source_form_date: new Date(),
|
||||||
material_name: null,
|
material_name: null,
|
||||||
material_spec: null,
|
material_spec: null,
|
||||||
boz_code: null,
|
unit_id: null,
|
||||||
biz_date: null,
|
|
||||||
form_type: null,
|
form_type: null,
|
||||||
status: null,
|
status: null,
|
||||||
mater: null,
|
mater: null,
|
||||||
@@ -387,6 +382,15 @@ export default {
|
|||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
|
if (this.query.datepick) {
|
||||||
|
this.query.start_time = this.query.datepick[0]
|
||||||
|
if (this.query.datepick.length > 1) {
|
||||||
|
this.query.end_time = this.query.datepick[1]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
this.query.start_time = ''
|
||||||
|
this.query.end_time = ''
|
||||||
|
}
|
||||||
// if (this.fromTypes.length > 0) {
|
// if (this.fromTypes.length > 0) {
|
||||||
// // formstruc.getHeader(this.query.form_type).then(res => {
|
// // formstruc.getHeader(this.query.form_type).then(res => {
|
||||||
// // this.cols = res
|
// // this.cols = res
|
||||||
@@ -399,6 +403,9 @@ export default {
|
|||||||
// }
|
// }
|
||||||
// return false
|
// return false
|
||||||
},
|
},
|
||||||
|
bill_typeFormat(row, column) {
|
||||||
|
return this.dict.label.INANDOUT_BILL_TYPE[row.form_type]
|
||||||
|
},
|
||||||
async queryMater(material_code) {
|
async queryMater(material_code) {
|
||||||
this.materShow = true
|
this.materShow = true
|
||||||
this.materOptCode = material_code
|
this.materOptCode = material_code
|
||||||
@@ -408,6 +415,7 @@ export default {
|
|||||||
this.form.material_code = row.material_code
|
this.form.material_code = row.material_code
|
||||||
this.form.material_name = row.material_name
|
this.form.material_name = row.material_name
|
||||||
this.form.material_spec = row.material_spec
|
this.form.material_spec = row.material_spec
|
||||||
|
this.form.unit_id = row.base_unit_id
|
||||||
},
|
},
|
||||||
// getFromTypes() {
|
// getFromTypes() {
|
||||||
// crudFormData.getParentFormTypes().then((res) => { // 获取分类名称,查询根据分类编码查找对应分支树
|
// crudFormData.getParentFormTypes().then((res) => { // 获取分类名称,查询根据分类编码查找对应分支树
|
||||||
|
|||||||
Reference in New Issue
Block a user