rev:物料参数保存报错、软废库存是否可用不一致、入库分配删除桶不生效
This commit is contained in:
@@ -156,6 +156,20 @@ public class PdaBucketServiceImpl implements PdaBucketService {
|
||||
//2.假如桶码没有就插入,有就更新 桶记录表
|
||||
JSONObject bucketJo = new JSONObject();
|
||||
if (StrUtil.isNotEmpty(bucketunique)) {
|
||||
// 校验此桶是否有未完成的单据
|
||||
JSONObject map = new JSONObject();
|
||||
map.put("flag", "16");
|
||||
map.put("bucketunique", bucketunique);
|
||||
JSONArray iosList = WQL.getWO("QPADSTSETSERVICE").addParamMap(map).process().getResultJSONArray(0);
|
||||
|
||||
if (ObjectUtil.isNotEmpty(iosList)) {
|
||||
boolean is_emp = iosList.stream()
|
||||
.map(row -> (JSONObject) row)
|
||||
.allMatch(row -> row.getString("is_active").equals(is_active));
|
||||
|
||||
if (!is_emp) throw new PdaRequestException("此桶库存是否可用与选择是否可用不一致"+bucketunique+"!");
|
||||
}
|
||||
|
||||
bucketJo = bucketRecordTable.query("bucketunique='" + bucketunique + "'").uniqueResult(0);
|
||||
String before_storage_qty = bucketJo.getString("storage_qty");
|
||||
bucketJo.put("storagevehicle_type", "04");
|
||||
|
||||
@@ -478,3 +478,20 @@
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
IF 输入.flag = "16"
|
||||
QUERY
|
||||
SELECT
|
||||
dis.*
|
||||
FROM
|
||||
st_ivt_iostorinvdisdtl dis
|
||||
LEFT JOIN ST_IVT_IOStorInv mst ON mst.iostorinv_id = dis.iostorinv_id
|
||||
WHERE
|
||||
mst.io_type = '0'
|
||||
|
||||
OPTION 输入.bucketunique <> ""
|
||||
dis.bucketunique = 输入.bucketunique
|
||||
ENDOPTION
|
||||
ENDSELECT
|
||||
ENDQUERY
|
||||
ENDIF
|
||||
|
||||
@@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.nl.modules.system.domain.DictDetail;
|
||||
import org.nl.modules.system.repository.DictDetailRepository;
|
||||
import org.nl.utils.SecurityUtils;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
||||
import org.nl.wms.basedata.pdm.service.WasteBallTimeService;
|
||||
import org.nl.wms.basedata.pdm.service.dto.WastecchangeDto;
|
||||
@@ -56,7 +57,7 @@ public class WasteBallTimeServiceImpl implements WasteBallTimeService {
|
||||
map.put("material_code", "%" + material_code + "%");
|
||||
}
|
||||
map.put("class_ids", MaterOptTypeEnum.THW.getClass_idStr());
|
||||
List<DictDetail> rfType = dictDetailRepository.findByDictName("MD_MATERIAL_WASTE_TYPE");
|
||||
List<DictDetail> rfType = SpringContextHolder.getBean(DictDetailRepository.class).findByDictName("MD_MATERIAL_WASTE_TYPE");
|
||||
Map<String, String> typeMap = rfType.stream().collect(HashMap::new, (k, v) -> k.put(v.getValue(), v.getLabel()), HashMap::putAll);
|
||||
|
||||
JSONObject allmaterialIds = WQL.getWO("PDM_WASTEBALLTIME").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mater.material_code");
|
||||
@@ -129,7 +130,7 @@ public class WasteBallTimeServiceImpl implements WasteBallTimeService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject form) {
|
||||
List<String> rfType = dictDetailRepository.findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
List<String> rfType = SpringContextHolder.getBean(DictDetailRepository.class).findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
JSONObject allData = new JSONObject();
|
||||
for (String key : rfType) {
|
||||
allData.put(key,form.get(key));
|
||||
|
||||
@@ -15,6 +15,7 @@ import org.nl.exception.BadRequestException;
|
||||
import org.nl.modules.system.domain.DictDetail;
|
||||
import org.nl.modules.system.repository.DictDetailRepository;
|
||||
import org.nl.modules.system.service.DictDetailService;
|
||||
import org.nl.utils.SpringContextHolder;
|
||||
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
|
||||
import org.nl.wms.basedata.pdm.service.WastecchangeService;
|
||||
import org.nl.wms.basedata.pdm.service.dto.WastecchangeDto;
|
||||
@@ -53,7 +54,6 @@ public class WastecchangeServiceImpl implements WastecchangeService {
|
||||
@Autowired
|
||||
private DictDetailRepository dictDetailRepository;
|
||||
|
||||
|
||||
@Override
|
||||
public Map<String, Object> queryAll(Map whereJson, Pageable page) {
|
||||
String material_code = MapUtil.getStr(whereJson, "material_code");
|
||||
@@ -97,7 +97,7 @@ public class WastecchangeServiceImpl implements WastecchangeService {
|
||||
JSONObject allmaterialIds = WQL.getWO("PDM_WASTECCHANGE").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mater.material_code");
|
||||
JSONArray array = allmaterialIds.getJSONArray("content");
|
||||
//label:name;value:code
|
||||
List<DictDetail> rfType = dictDetailRepository.findByDictName("MD_MATERIAL_WASTE_TYPE");
|
||||
List<DictDetail> rfType = SpringContextHolder.getBean(DictDetailRepository.class).findByDictName("MD_MATERIAL_WASTE_TYPE");
|
||||
Map<String, String> typeMap = rfType.stream().collect(HashMap::new, (k, v) -> k.put(v.getValue(), v.getLabel()), HashMap::putAll);
|
||||
JSONArray array2 = new JSONArray();
|
||||
if (ObjectUtil.isNotEmpty(array)){
|
||||
@@ -141,7 +141,7 @@ public class WastecchangeServiceImpl implements WastecchangeService {
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void update(JSONObject form) {
|
||||
List<String> rfType = dictDetailRepository.findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
List<String> rfType = SpringContextHolder.getBean(DictDetailRepository.class).findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
JSONObject allData = new JSONObject();
|
||||
for (String key : rfType) {
|
||||
allData.put(key,form.get(key));
|
||||
@@ -254,7 +254,7 @@ public class WastecchangeServiceImpl implements WastecchangeService {
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public JSONArray contentShift(JSONObject json) {
|
||||
List<String> rfType = dictDetailRepository.findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
List<String> rfType = SpringContextHolder.getBean(DictDetailRepository.class).findByDictName("MD_MATERIAL_WASTE_TYPE").stream().map(DictDetail::getValue).collect(Collectors.toList());
|
||||
JSONArray rf_arr = new JSONArray();
|
||||
rfType.forEach(a->{
|
||||
JSONObject json_CF = new JSONObject();
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
<span class="el-dialog__title2">入库分配</span>
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<slot name="left"/>
|
||||
<el-button slot="left" type="info" @click="dialogVisible = false">关闭</el-button>
|
||||
</span>
|
||||
</div>
|
||||
@@ -51,10 +51,10 @@
|
||||
</el-select>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次号" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center"/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="assign_qty"
|
||||
@@ -69,15 +69,16 @@
|
||||
label="未分配数量"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_bill_type_name" label="源单类型" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单编号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="qty_unit_name" label="单位" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="source_bill_type_name" label="源单类型" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="source_bill_code" label="源单编号" align="center"/>
|
||||
</el-table>
|
||||
</el-card>
|
||||
<el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}">
|
||||
<el-form ref="form2" :inline="true" :model="form" :rules="rules" size="mini">
|
||||
<el-form-item label="载具号" prop="storagevehicle_code">
|
||||
<el-input v-model.trim="form.storagevehicle_code" placeholder="载具号" style="width: 200px" @blur="vehicleCheck" />
|
||||
<el-input v-model.trim="form.storagevehicle_code" placeholder="载具号" style="width: 200px"
|
||||
@blur="vehicleCheck"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="桶号" prop="bucketunique">
|
||||
<el-input
|
||||
@@ -87,7 +88,7 @@
|
||||
class="input-with-select"
|
||||
style="width: 200px"
|
||||
>
|
||||
<el-button slot="append" icon="el-icon-search" @click="dialogBucket" />
|
||||
<el-button slot="append" icon="el-icon-search" @click="dialogBucket"/>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="放入重量" prop="storage_qty">
|
||||
@@ -140,7 +141,7 @@
|
||||
</div>
|
||||
<span class="crud-opts-right2">
|
||||
<!--左侧插槽-->
|
||||
<slot name="left" />
|
||||
<slot name="left"/>
|
||||
<el-button
|
||||
slot="left"
|
||||
class="filter-item"
|
||||
@@ -203,12 +204,12 @@
|
||||
border
|
||||
:header-cell-style="{background:'#f5f7fa',color:'#606266'}"
|
||||
>
|
||||
<el-table-column show-overflow-tooltip type="index" label="序号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="bucketunique" label="桶号" align="center" />
|
||||
<el-table-column show-overflow-tooltip type="index" label="序号" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_code" label="物料编码" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="material_name" label="物料名称" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="pcsn" label="批次" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="storagevehicle_code" label="托盘号" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="bucketunique" label="桶号" align="center"/>
|
||||
<el-table-column
|
||||
show-overflow-tooltip
|
||||
prop="storage_qty"
|
||||
@@ -216,25 +217,28 @@
|
||||
label="重量"
|
||||
align="center"
|
||||
/>
|
||||
<el-table-column show-overflow-tooltip prop="point_code" label="入库点" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" align="center" />
|
||||
<el-table-column show-overflow-tooltip prop="point_code" label="入库点" align="center"/>
|
||||
<el-table-column show-overflow-tooltip prop="struct_code" label="货位" align="center"/>
|
||||
<el-table-column align="center" label="操作" width="190" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<el-popover v-model="scope.row.pop" placement="top" width="180" trigger="manual">
|
||||
<p>{{ '是否确认删除桶明细?' }}</p>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="doCancel(scope.row)">取消</el-button>
|
||||
<el-button type="primary" size="mini" @click.native.prevent="deleteRow(scope.$index, form.tableMater)">确定</el-button>
|
||||
<el-button type="primary" size="mini" @click.native.prevent="deleteRow(scope.$index, form.tableMater)">
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
<el-button slot="reference" :disabled="scope.row.struct_code !== '' && scope.row.struct_code" type="danger" icon="el-icon-delete" size="mini" @click="toDelete(scope.row)" />
|
||||
<el-button slot="reference" :disabled="scope.row.struct_code !== '' && scope.row.struct_code"
|
||||
type="danger" icon="el-icon-delete" size="mini" @click="toDelete(scope.row)"/>
|
||||
</el-popover>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-card>
|
||||
|
||||
<StructDiv ref="child" :dialog-show.sync="structShow" :sect-prop="sectProp" @tableChanged="tableChanged" />
|
||||
<BucketDialog :dialog-show.sync="bucketShow" :bucket-prop="bucketProp" @bucketChange="bucketChange" />
|
||||
<StructDiv ref="child" :dialog-show.sync="structShow" :sect-prop="sectProp" @tableChanged="tableChanged"/>
|
||||
<BucketDialog :dialog-show.sync="bucketShow" :bucket-prop="bucketProp" @bucketChange="bucketChange"/>
|
||||
|
||||
</el-dialog>
|
||||
</template>
|
||||
@@ -330,7 +334,8 @@ export default {
|
||||
})
|
||||
},
|
||||
toDelete(data) {
|
||||
data.pop = true
|
||||
this.$set(data, 'pop', true)
|
||||
// data.pop = true
|
||||
},
|
||||
close() {
|
||||
this.form.tableMater = []
|
||||
@@ -395,7 +400,8 @@ export default {
|
||||
return
|
||||
}
|
||||
dis_dtl.storagevehicle_code = this.form.storagevehicle_code
|
||||
dis_dtl.pop = false
|
||||
// dis_dtl.pop = false
|
||||
this.$set(dis_dtl, 'pop', false)
|
||||
this.form.tableMater.splice(this.form.tableMater.length, 0, dis_dtl)
|
||||
if (this.form.dtl_row.assign_qty) {
|
||||
this.form.dtl_row.assign_qty = parseFloat(this.form.dtl_row.assign_qty) + parseFloat(this.form.storage_qty)
|
||||
@@ -444,6 +450,7 @@ export default {
|
||||
})
|
||||
},
|
||||
deleteRow(index, rows) {
|
||||
debugger
|
||||
// 如果桶状态不是生成调后台逻辑
|
||||
if (rows[index].status !== '01') {
|
||||
crudRawAssist.deleteDisDtl(rows[index]).then(res => {
|
||||
@@ -453,9 +460,11 @@ export default {
|
||||
crudRawAssist.getDisDtl(this.form.dtl_row).then(res => {
|
||||
this.form.tableMater = res
|
||||
})
|
||||
rows[index].pop = false
|
||||
// rows[index].pop = false
|
||||
this.$set(rows[index], 'pop', false)
|
||||
}).catch(err => {
|
||||
rows[index].pop = false
|
||||
// rows[index].pop = false
|
||||
this.$set(rows[index], 'pop', false)
|
||||
return
|
||||
})
|
||||
}
|
||||
@@ -553,7 +562,8 @@ export default {
|
||||
}
|
||||
},
|
||||
doCancel(data) {
|
||||
data.pop = false
|
||||
this.$set(data, 'pop', false)
|
||||
// data.pop = false
|
||||
},
|
||||
unDivStruct() {
|
||||
if (this.form.tableMater.length <= 0) {
|
||||
|
||||
Reference in New Issue
Block a user