opt:1.优化单据回传查询;2.优化用料单实时查询,实时更新;
3.优化失败单据回传字段序列化顺序混乱; 4.手动同步数量限制,模糊搜索;
This commit is contained in:
@@ -70,6 +70,10 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
||||
}
|
||||
handleBillEntity(pmFormData.getForm_type(), formData);
|
||||
String json = formData.toJSONString();
|
||||
LambdaUpdateWrapper<PmFormData> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PmFormData::getId, pmFormData.getId());
|
||||
updateWrapper.set(PmFormData::getUpdate_time, DateUtil.now());
|
||||
updateWrapper.set(PmFormData::getErp_data, json);
|
||||
try {
|
||||
IdentifyInfo identifyInfo = new IdentifyInfo();
|
||||
BeanUtils.copyProperties(erpSec, identifyInfo);
|
||||
@@ -90,21 +94,15 @@ public class SyncReceiptProcessHandler implements ClassProcess {
|
||||
.map(error -> ((JSONObject) error).getString("Message"))
|
||||
.collect(Collectors.joining("; "));
|
||||
}
|
||||
LambdaUpdateWrapper<PmFormData> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PmFormData::getId, pmFormData.getId());
|
||||
updateWrapper.set(PmFormData::getUpdate_time, DateUtil.now());
|
||||
if (isSuccess) {
|
||||
updateWrapper.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成"));
|
||||
updateWrapper.set(PmFormData::getRemark, "回执单创建成功,回传Erp数据为:" + responseStatus.getJSONArray("SuccessEntitys").toJSONString());
|
||||
Log.error("回传Erp数据为:" + json + ",传输数据为:");
|
||||
} else {
|
||||
updateWrapper.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("暂停"));
|
||||
updateWrapper.set(PmFormData::getRemark, "回执单创建失败,原因为:" + errorMessages + ",回传Erp数据为:" + json);
|
||||
Log.error("回传Erp数据为:" + json + ",传输数据为:");
|
||||
}
|
||||
iPmFormDataService.update(updateWrapper);
|
||||
} catch (Exception ex) {
|
||||
LambdaUpdateWrapper<PmFormData> updateWrapper = new LambdaUpdateWrapper<>();
|
||||
updateWrapper.eq(PmFormData::getId, pmFormData.getId());
|
||||
updateWrapper.set(PmFormData::getRemark, "回执单创建失败,原因为:" + ex.getMessage() + ",回传Erp数据为:" + json);
|
||||
iPmFormDataService.update(updateWrapper);
|
||||
|
||||
@@ -3,15 +3,18 @@ package org.nl.wms.pm_manage.form_data.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaIgnore;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.alibaba.fastjson.parser.Feature;
|
||||
import com.alibaba.fastjson.serializer.SerializerFeature;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.nl.common.TableDataInfo;
|
||||
import org.nl.common.anno.Log;
|
||||
import org.nl.common.domain.entity.PageQuery;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
import org.nl.common.utils.SecurityUtils;
|
||||
import org.nl.wms.config_manage.form_struc.service.dao.BmFormStruc;
|
||||
import org.nl.wms.pm_manage.form_data.service.IPmFormDataService;
|
||||
import org.nl.wms.pm_manage.form_data.service.dao.PmFormData;
|
||||
import org.nl.wms.pm_manage.form_data.service.dto.FormDataQuery;
|
||||
@@ -22,6 +25,8 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -69,10 +74,30 @@ public class PmFormDataController {
|
||||
}
|
||||
|
||||
@GetMapping("/getSonFormData/{id}")
|
||||
public ResponseEntity<Object> getSonDtlFormData(@PathVariable String id){
|
||||
public ResponseEntity<Object> getSonDtlFormData(@PathVariable String id) {
|
||||
//参数判读,参数解析,调用参数入库
|
||||
//Page<BmFormStruc> page = iBmFormStrucService.page(pageQuery.build(), query.build());
|
||||
return new ResponseEntity<>(iPmFormDataService.getSonDtlFormData(id),HttpStatus.OK);
|
||||
return new ResponseEntity<>(iPmFormDataService.getSonDtlFormData(id), HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@PostMapping("/confirmStatus")
|
||||
@SaIgnore
|
||||
@Log("单据完成")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public ResponseEntity<Object> confirmStatus(@RequestBody JSONObject form) {
|
||||
JSONArray data = form.getJSONArray("data");
|
||||
if (!ObjectUtils.isEmpty(data)) {
|
||||
Set<String> ids = data.stream()
|
||||
.map(item -> (String) item)
|
||||
.collect(Collectors.toSet());
|
||||
iPmFormDataService.update(
|
||||
new LambdaUpdateWrapper<PmFormData>()
|
||||
.set(PmFormData::getStatus, StatusEnum.FORM_STATUS.code("完成"))
|
||||
.in(PmFormData::getId, ids)
|
||||
);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,9 +3,9 @@ package org.nl.wms.pm_manage.form_data.service.dao;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import org.nl.common.domain.mybatis.handler.FastjsonSortTypeHandler;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import org.nl.common.domain.mybatis.handler.FastjsonSortTypeHandler;
|
||||
import org.nl.common.enums.StatusEnum;
|
||||
|
||||
import java.io.Serializable;
|
||||
@@ -351,4 +351,11 @@ public class PmFormData implements Serializable {
|
||||
private String taxPrice;
|
||||
|
||||
|
||||
/**
|
||||
* 自定义表单字段
|
||||
*/
|
||||
@TableField(typeHandler = FastjsonSortTypeHandler.class)
|
||||
private JSONObject erp_data = new JSONObject();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -112,16 +112,19 @@
|
||||
md_me_materialbase.single_weight
|
||||
FROM
|
||||
pm_form_data
|
||||
left join md_me_materialbase on pm_form_data.material_id = md_me_materialbase.material_id
|
||||
left join md_me_materialbase on pm_form_data.material_id = md_me_materialbase.material_id
|
||||
<where>
|
||||
<if test="query.search != null and query.search != ''">
|
||||
and form_data LIKE '%${query.search}%'
|
||||
and form_data LIKE '%${query.search}%'
|
||||
</if>
|
||||
<if test="query.form_type != null and query.form_type != ''">
|
||||
and form_type = #{query.form_type}
|
||||
</if>
|
||||
<if test="query.pcsn != null and query.pcsn != ''">
|
||||
and pcsn = #{query.pcsn}
|
||||
</if>
|
||||
<if test="query.code != null and query.code != ''">
|
||||
and code = #{query.code}
|
||||
and code LIKE '%${query.code}'
|
||||
</if>
|
||||
<if test="query.mater != null and query.mater != ''">
|
||||
and md_me_materialbase.material_code like '%${query.mater}%'
|
||||
@@ -142,7 +145,7 @@
|
||||
and parent_id = #{query.parent_id}
|
||||
</if>
|
||||
<if test="query.form_query != null and query.form_query.size() > 0">
|
||||
<foreach collection="query.form_query" item="value" index="key" >
|
||||
<foreach collection="query.form_query" item="value" index="key">
|
||||
<if test="value != null and value != ''">
|
||||
and JSON_CONTAINS(form_data, '{"${key}":"${value}"}')
|
||||
</if>
|
||||
|
||||
@@ -19,6 +19,7 @@ public class FormDataQuery extends BaseQuery<PmFormData> {
|
||||
private String bill_code;
|
||||
private String site_code;
|
||||
private String search;
|
||||
private String pcsn;
|
||||
private String parent_id;
|
||||
private String mater;
|
||||
private String[] status;
|
||||
|
||||
@@ -113,13 +113,15 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
* 手动推送回执单据
|
||||
*/
|
||||
@Override
|
||||
public String syncFeedBack(JSONObject jsonData) {
|
||||
public String syncFeedBack(JSONObject form) {
|
||||
//执行回传单
|
||||
PmFormData pmFormData = jsonData.toJavaObject(PmFormData.class);
|
||||
JSONArray jsonData = form.getJSONArray("data");
|
||||
PmFormData pmFormData = jsonData.getObject(0, PmFormData.class);
|
||||
if (Integer.parseInt(pmFormData.getStatus()) > 30) {
|
||||
throw new BadRequestException("该单据状态为已完成,无需再次回传!");
|
||||
}
|
||||
JSONObject formData = pmFormData.getForm_data();
|
||||
PmFormData data = iPmFormDataService.getById(pmFormData.getId());
|
||||
JSONObject formData = data.getErp_data();
|
||||
//要回传的json数据
|
||||
String formid = formData.getString("formid");
|
||||
if (StringUtils.isEmpty(formid)) {
|
||||
@@ -275,7 +277,9 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
List<SyncFormMapping> list = iSyncFormMappingService.list(new LambdaQueryWrapper<SyncFormMapping>().eq(SyncFormMapping::getForm_type, query.getForm_type()));
|
||||
JSONArray mappingJson = list.get(0).getMapping_json();
|
||||
String mappingString = JSON.toJSONString(mappingJson);
|
||||
syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode());
|
||||
syncErpBillsScheduleService.syncData(mappingString, list.get(0).getForm_type(), list.get(0).getDtl_split(), query.getCode(),true);
|
||||
//一张单据会多次更新或新增明细,明细物料出库一次不能直接标记为完成,取消完成状态筛选
|
||||
query.setStatus(null);
|
||||
List<PmFormDataDto> pmFormData = this.baseMapper.queryTree2(query);
|
||||
if (ObjectUtil.isNotEmpty(pmFormData)) {
|
||||
handleFormDatas(pmFormData);
|
||||
@@ -321,23 +325,25 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
private void handleFormDatas(List<PmFormDataDto> pmFormDataDtos) {
|
||||
List<String> parents = pmFormDataDtos.stream().map(PmFormDataDto::getId).collect(Collectors.toList());
|
||||
List<PmFormDataDto> childs = this.baseMapper.selectChilds(parents);
|
||||
//过滤非料箱与托盘库
|
||||
String stockId = "";
|
||||
if (pmFormDataDtos.get(0).getCode().contains("PPBOM")) {
|
||||
stockId = "stock_Id";
|
||||
} else if (pmFormDataDtos.get(0).getCode().contains("JDSCLLSQ")) {
|
||||
stockId = "stockId";
|
||||
} else if (pmFormDataDtos.get(0).getCode().contains("ZJDB")) {
|
||||
stockId = "SrcStockId_Id";
|
||||
}
|
||||
if (StringUtils.isNotBlank(stockId)) {
|
||||
String finalStockId = stockId;
|
||||
childs.removeIf(r ->
|
||||
!new HashSet<>(Arrays.asList("1233925", "1233926"))
|
||||
.contains(r.getForm_data().getString(finalStockId))
|
||||
);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(childs)) {
|
||||
if (StringUtils.isNotBlank(pmFormDataDtos.get(0).getCode())) {
|
||||
//过滤非料箱与托盘库
|
||||
String stockId = "";
|
||||
if (pmFormDataDtos.get(0).getCode().contains("PPBOM")) {
|
||||
stockId = "stock_Id";
|
||||
} else if (pmFormDataDtos.get(0).getCode().contains("JDSCLLSQ")) {
|
||||
stockId = "stockId";
|
||||
} else if (pmFormDataDtos.get(0).getCode().contains("ZJDB")) {
|
||||
stockId = "SrcStockId_Id";
|
||||
}
|
||||
if (StringUtils.isNotBlank(stockId)) {
|
||||
String finalStockId = stockId;
|
||||
childs.removeIf(r ->
|
||||
!new HashSet<>(Arrays.asList("1233925", "1233926"))
|
||||
.contains(r.getForm_data().getString(finalStockId))
|
||||
);
|
||||
}
|
||||
}
|
||||
Map<String, List<PmFormDataDto>> childMap = childs.stream().collect(Collectors.groupingBy(PmFormDataDto::getParent_id));
|
||||
for (PmFormDataDto dataDto : pmFormDataDtos) {
|
||||
String productArea = dataDto.getForm_data().getString("product_area");
|
||||
@@ -358,7 +364,7 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
|
||||
public PmFormDataDto queryErpCode(String code, String stor_code) {
|
||||
FormDataQuery query = new FormDataQuery();
|
||||
query.setCode(code);
|
||||
query.setStatus(new String[]{StatusEnum.FORM_STATUS.code("生成"), StatusEnum.FORM_STATUS.code("执行中")});
|
||||
// query.setStatus(new String[]{StatusEnum.FORM_STATUS.code("生成"), StatusEnum.FORM_STATUS.code("执行中")});
|
||||
List<PmFormDataDto> pmFormDataDtos = this.baseMapper.queryTree2(query);
|
||||
if (CollectionUtils.isEmpty(pmFormDataDtos)) {
|
||||
throw new BadRequestException(code + "单据编码不存在或已经完成入库");
|
||||
|
||||
@@ -112,17 +112,15 @@ public class SyncErpBillsScheduleService {
|
||||
for (SyncFormMapping m : list) {
|
||||
JSONArray mappingJson = m.getMapping_json();
|
||||
String mappingString = JSON.toJSONString(mappingJson);
|
||||
syncData(mappingString, m.getForm_type(), m.getDtl_split(), "");
|
||||
syncData(mappingString, m.getForm_type(), m.getDtl_split(), "", false);
|
||||
}
|
||||
} finally {
|
||||
LuceneAppender.traceIdTL.remove();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 自动同步
|
||||
*/
|
||||
public void syncData(String mappingJson, String formType, Boolean dtlSplit, String billCode) {
|
||||
|
||||
public void syncData(String mappingJson, String formType, Boolean dtlSplit, String billCode, Boolean isManual) {
|
||||
boolean islock = lock.tryLock();
|
||||
try {
|
||||
if (islock) {
|
||||
@@ -136,18 +134,22 @@ public class SyncErpBillsScheduleService {
|
||||
String sevenDaysAgo = new SimpleDateFormat("yyyy-MM-dd").format(calendar.getTime());
|
||||
String filterString;
|
||||
if (StringUtils.isNotBlank(billCode)) {
|
||||
filterString = "FBillNo = '" + billCode + "'";
|
||||
filterString = "FBillNo like '%" + billCode + "'";
|
||||
} else {
|
||||
filterString = getFilterString(formType, "", sevenDaysAgo, today);
|
||||
}
|
||||
query.setFilterString(filterString);
|
||||
query.setFormId(formType);
|
||||
query.setFieldKeys("FID");
|
||||
query.setLimit(0);
|
||||
if (isManual) {
|
||||
query.setLimit(1);
|
||||
} else {
|
||||
query.setLimit(0);
|
||||
}
|
||||
result = erpServiceUtils.queryBills(query);
|
||||
if (ObjectUtils.isNotEmpty(result)) {
|
||||
K3CloudApi k3CloudApi = erpServiceUtils.getCloudApi();
|
||||
handleBills(mappingJson, formType, dtlSplit, errorMsg, result, k3CloudApi);
|
||||
handleBills(mappingJson, formType, dtlSplit, errorMsg, result, k3CloudApi, isManual);
|
||||
}
|
||||
}
|
||||
} catch (Exception ex) {
|
||||
@@ -198,11 +200,11 @@ public class SyncErpBillsScheduleService {
|
||||
query.setFilterString(filterString);
|
||||
query.setFormId(formType);
|
||||
query.setFieldKeys("FID");
|
||||
query.setLimit(0);
|
||||
query.setLimit(10);
|
||||
result = erpServiceUtils.queryBills(query);
|
||||
if (ObjectUtils.isNotEmpty(result)) {
|
||||
K3CloudApi k3CloudApi = erpServiceUtils.getCloudApi();
|
||||
handleBills(mappingJson, formType, dtlSplit, errorMsg, result, k3CloudApi);
|
||||
handleBills(mappingJson, formType, dtlSplit, errorMsg, result, k3CloudApi, true);
|
||||
}
|
||||
if (!CollectionUtils.isEmpty(errorMsg)) {
|
||||
throw new BadRequestException("同步成功" + (result.size() - errorMsg.size()) + "条,失败信息:" + errorMsg.toString());
|
||||
@@ -224,7 +226,7 @@ public class SyncErpBillsScheduleService {
|
||||
private static String getFilterString(String formType, String code, String timeStart, String timeEnd) {
|
||||
String filterString;
|
||||
if (StringUtils.isNotBlank(code)) {
|
||||
filterString = "FBillNo = '" + code + "'";
|
||||
filterString = "FBillNo like '%" + code + "'";
|
||||
} else {
|
||||
filterString = BILL_ORG_MAPPING.get(formType) + " = '750572' ";
|
||||
if ("ka7c19edf9d4b4b39b8cc4a06802163b0".equals(formType)) {
|
||||
@@ -241,7 +243,7 @@ public class SyncErpBillsScheduleService {
|
||||
return filterString;
|
||||
}
|
||||
|
||||
private void handleBills(String mappingJson, String formType, Boolean dtlSplit, Map errorMsg, JSONArray result, K3CloudApi cloudApi) {
|
||||
private void handleBills(String mappingJson, String formType, Boolean dtlSplit, Map errorMsg, JSONArray result, K3CloudApi cloudApi, Boolean isManual) {
|
||||
//物料同步
|
||||
SyncFormMapping syncFormMapping = syncFormMappingServiceImpl.getOne(new LambdaQueryWrapper<SyncFormMapping>().in(SyncFormMapping::getForm_type, "BD_MATERIAL"));
|
||||
String materialMappingString = JSON.toJSONString(syncFormMapping.getMapping_json());
|
||||
@@ -296,11 +298,11 @@ public class SyncErpBillsScheduleService {
|
||||
for (PmFormData f : mainBill) {
|
||||
//存在ID,主单据不新增不修改,修改未出库单据的明细
|
||||
String id = f.getId() + "$" + f.getForm_type();
|
||||
if (exitFormDataList.contains(id)) {
|
||||
//实时扫描则同步修改未出库的用料清单单据
|
||||
if (exitFormDataList.contains(id) && isManual) {
|
||||
//单据明细
|
||||
if (StringUtils.isBlank(f.getCode())) {
|
||||
PmFormData existDtlData = formDataService.getOne(new QueryWrapper<PmFormData>().eq("id", id).select("qty"));
|
||||
//同步修改未出库单据
|
||||
//existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0||f.getPlan_qty().compareTo(f.getAssign_qty()) > 0
|
||||
if (existDtlData.getQty() != null) {
|
||||
if (existDtlData.getQty().compareTo(BigDecimal.ZERO) > 0) {
|
||||
|
||||
@@ -60,4 +60,12 @@ export function getSonFormData(id) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, getFormType, getParentFormTypes, getParentFormTypesByDesc, getSonFormData, syncFeedBack }
|
||||
export function confirm(data) {
|
||||
return request({
|
||||
url: '/api/pmFormData/confirmStatus',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, getFormType, getParentFormTypes, getParentFormTypesByDesc, getSonFormData, syncFeedBack, confirm }
|
||||
|
||||
@@ -56,6 +56,16 @@
|
||||
class="filter-item"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次">
|
||||
<el-input
|
||||
v-model="query.pcsn"
|
||||
clearable
|
||||
size="mini"
|
||||
placeholder="请输入批次"
|
||||
prefix-icon="el-icon-search"
|
||||
class="filter-item"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据日期" prop="analyseData">
|
||||
<el-date-picker
|
||||
v-model="query.datepick"
|
||||
@@ -88,6 +98,17 @@
|
||||
>
|
||||
手动回传
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="warning"
|
||||
icon="el-icon-check"
|
||||
size="mini"
|
||||
:disabled="!currentRow"
|
||||
@click="confirm"
|
||||
>
|
||||
处理完成
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
|
||||
<el-dialog
|
||||
@@ -124,7 +145,7 @@
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="批号" prop="pcsn">
|
||||
<el-form-item label="批次" prop="pcsn">
|
||||
<el-input v-model="form.pcsn" style="width: 150px;" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -154,7 +175,12 @@
|
||||
@selection-change="handleDtlCurrentChange"
|
||||
>
|
||||
<el-table-column type="selection" width="55" />
|
||||
<el-table-column prop="code" label="单据编码" show-overflow-tooltip width="120">
|
||||
<el-table-column
|
||||
prop="code"
|
||||
label="单据编码"
|
||||
show-overflow-tooltip
|
||||
:min-width="flexWidth('code',crud.data,'单据编码')"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-link v-if="scope.row.hasChildren" type="warning" @click="toView(scope.row)">{{
|
||||
scope.row.code
|
||||
@@ -171,21 +197,31 @@
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="vehicle_code" label="载具编号" show-overflow-tooltip width="120" />
|
||||
<!-- <el-table-column prop="vehicle_code" label="载具编号" show-overflow-tooltip width="120" />-->
|
||||
<el-table-column prop="qty" label="物料数量" show-overflow-tooltip />
|
||||
<el-table-column prop="material_code" label="物料编码" show-overflow-tooltip width="120" />
|
||||
<el-table-column prop="material_name" label="物料名称" show-overflow-tooltip width="120" />
|
||||
<el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip width="120" />
|
||||
<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="source_form_id" label="源单编码" show-overflow-tooltip width="120" />
|
||||
<el-table-column prop="source_form_type" label="源单类型" show-overflow-tooltip width="130" />
|
||||
<el-table-column prop="parent_id" label="父单据数据id" show-overflow-tooltip width="120" />
|
||||
<el-table-column
|
||||
prop="material_code"
|
||||
label="物料编码"
|
||||
show-overflow-tooltip
|
||||
:min-width="flexWidth('material_code',crud.data,'物料编码')"
|
||||
/>
|
||||
<el-table-column
|
||||
prop="material_name"
|
||||
label="物料名称"
|
||||
:min-width="flexWidth('material_name',crud.data,'物料名称')"
|
||||
/>
|
||||
<!-- <el-table-column prop="material_spec" label="物料规格" show-overflow-tooltip width="120" />-->
|
||||
<el-table-column prop="pcsn" label="批次" show-overflow-tooltip :min-width="flexWidth('pcsn',crud.data,'批次')" />
|
||||
<!-- <el-table-column prop="unit_id" label="单位" show-overflow-tooltip width="120" />-->
|
||||
|
||||
<!-- <el-table-column prop="parent_id" label="父单据数据id" show-overflow-tooltip width="120" />-->
|
||||
<el-table-column prop="create_time" label="创建时间" width="140" />
|
||||
<el-table-column prop="remark" label="备注" show-overflow-tooltip width="210" />
|
||||
<el-table-column label="ERP回传数据" show-overflow-tooltip width="210">
|
||||
<template slot-scope="scope">{{ scope.row.form_data }}</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" show-overflow-tooltip width="210" />
|
||||
<el-table-column prop="create_time" label="创建时间" />
|
||||
<el-table-column prop="source_form_type" label="源单类型" show-overflow-tooltip width="130" />
|
||||
<el-table-column prop="source_form_id" label="源单编码" show-overflow-tooltip width="120" />
|
||||
<el-table-column prop="proc_inst_id" label="对应流程实例id" show-overflow-tooltip width="120" />
|
||||
<el-table-column
|
||||
v-permission="['admin','Classstandard:edit','Classstandard:del']"
|
||||
@@ -223,6 +259,7 @@ import pagination from '@crud/Pagination'
|
||||
import formstruc from '@/views/wms/config_manage/formStruc/formstruc'
|
||||
import ViewDialog from './ViewDialog'
|
||||
import crudClassstandard from '@/views/wms/base_manage/class_standard/classstandard'
|
||||
import crudbucketrecord from '@/views/wms/md_manage/group_dick/groupdick'
|
||||
// import UploadDialog from './UploadDialog'
|
||||
|
||||
const defaultForm = {
|
||||
@@ -362,10 +399,19 @@ export default {
|
||||
this.$refs.viewDialog.setForm(row)
|
||||
}
|
||||
},
|
||||
syncFeedBack(row) {
|
||||
crudFormData.syncFeedBack(JSON.stringify(this.currentRow))
|
||||
syncFeedBack() {
|
||||
if (this.currentRow.length === 0) {
|
||||
this.crud.notify('请选择一行单据', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
if (this.currentRow.length > 1) {
|
||||
this.crud.notify('请确认只选择一行单据', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
const param = {}
|
||||
param.data = this.currentRow
|
||||
crudFormData.syncFeedBack(param)
|
||||
.then(res => {
|
||||
debugger
|
||||
this.crud.notify(res) // 使用后端返回的消息
|
||||
})
|
||||
.catch(error => {
|
||||
@@ -373,12 +419,21 @@ export default {
|
||||
})
|
||||
},
|
||||
handleDtlCurrentChange(val) {
|
||||
console.log(val)
|
||||
if (val.length == 1) {
|
||||
this.currentRow = val[0]
|
||||
} else {
|
||||
this.currentRow = null
|
||||
this.currentRow = val
|
||||
}, confirm() {
|
||||
if (this.currentRow.length === 0) {
|
||||
this.crud.notify('请选择一行单据', CRUD.NOTIFICATION_TYPE.INFO)
|
||||
return
|
||||
}
|
||||
const ids = this.currentRow.map(row => row.id)
|
||||
// 构造参数
|
||||
const param = {
|
||||
data: ids // 将提取的 id 数组赋值给 param.data
|
||||
}
|
||||
crudFormData.confirm(param).then(res => {
|
||||
this.crud.notify('单据处理成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user