rev:物料参数保存报错、软废库存是否可用不一致、入库分配删除桶不生效

This commit is contained in:
2023-06-07 18:40:55 +08:00
parent 3c34900441
commit 975bd75f65
5 changed files with 76 additions and 34 deletions

View File

@@ -156,6 +156,20 @@ public class PdaBucketServiceImpl implements PdaBucketService {
//2.假如桶码没有就插入,有就更新 桶记录表 //2.假如桶码没有就插入,有就更新 桶记录表
JSONObject bucketJo = new JSONObject(); JSONObject bucketJo = new JSONObject();
if (StrUtil.isNotEmpty(bucketunique)) { 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); bucketJo = bucketRecordTable.query("bucketunique='" + bucketunique + "'").uniqueResult(0);
String before_storage_qty = bucketJo.getString("storage_qty"); String before_storage_qty = bucketJo.getString("storage_qty");
bucketJo.put("storagevehicle_type", "04"); bucketJo.put("storagevehicle_type", "04");

View File

@@ -478,3 +478,20 @@
ENDSELECT ENDSELECT
ENDQUERY ENDQUERY
ENDIF 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

View File

@@ -16,6 +16,7 @@ import org.apache.commons.lang3.StringUtils;
import org.nl.modules.system.domain.DictDetail; import org.nl.modules.system.domain.DictDetail;
import org.nl.modules.system.repository.DictDetailRepository; import org.nl.modules.system.repository.DictDetailRepository;
import org.nl.utils.SecurityUtils; import org.nl.utils.SecurityUtils;
import org.nl.utils.SpringContextHolder;
import org.nl.wms.basedata.master.constant.MaterOptTypeEnum; import org.nl.wms.basedata.master.constant.MaterOptTypeEnum;
import org.nl.wms.basedata.pdm.service.WasteBallTimeService; import org.nl.wms.basedata.pdm.service.WasteBallTimeService;
import org.nl.wms.basedata.pdm.service.dto.WastecchangeDto; 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("material_code", "%" + material_code + "%");
} }
map.put("class_ids", MaterOptTypeEnum.THW.getClass_idStr()); 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); 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"); 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 @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(JSONObject form) { 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(); JSONObject allData = new JSONObject();
for (String key : rfType) { for (String key : rfType) {
allData.put(key,form.get(key)); allData.put(key,form.get(key));

View File

@@ -15,6 +15,7 @@ import org.nl.exception.BadRequestException;
import org.nl.modules.system.domain.DictDetail; import org.nl.modules.system.domain.DictDetail;
import org.nl.modules.system.repository.DictDetailRepository; import org.nl.modules.system.repository.DictDetailRepository;
import org.nl.modules.system.service.DictDetailService; 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.master.constant.MaterOptTypeEnum;
import org.nl.wms.basedata.pdm.service.WastecchangeService; import org.nl.wms.basedata.pdm.service.WastecchangeService;
import org.nl.wms.basedata.pdm.service.dto.WastecchangeDto; import org.nl.wms.basedata.pdm.service.dto.WastecchangeDto;
@@ -53,7 +54,6 @@ public class WastecchangeServiceImpl implements WastecchangeService {
@Autowired @Autowired
private DictDetailRepository dictDetailRepository; private DictDetailRepository dictDetailRepository;
@Override @Override
public Map<String, Object> queryAll(Map whereJson, Pageable page) { public Map<String, Object> queryAll(Map whereJson, Pageable page) {
String material_code = MapUtil.getStr(whereJson, "material_code"); 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"); JSONObject allmaterialIds = WQL.getWO("PDM_WASTECCHANGE").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mater.material_code");
JSONArray array = allmaterialIds.getJSONArray("content"); JSONArray array = allmaterialIds.getJSONArray("content");
//label:name;value:code //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); Map<String, String> typeMap = rfType.stream().collect(HashMap::new, (k, v) -> k.put(v.getValue(), v.getLabel()), HashMap::putAll);
JSONArray array2 = new JSONArray(); JSONArray array2 = new JSONArray();
if (ObjectUtil.isNotEmpty(array)){ if (ObjectUtil.isNotEmpty(array)){
@@ -141,7 +141,7 @@ public class WastecchangeServiceImpl implements WastecchangeService {
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(JSONObject form) { 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(); JSONObject allData = new JSONObject();
for (String key : rfType) { for (String key : rfType) {
allData.put(key,form.get(key)); allData.put(key,form.get(key));
@@ -254,7 +254,7 @@ public class WastecchangeServiceImpl implements WastecchangeService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public JSONArray contentShift(JSONObject json) { 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(); JSONArray rf_arr = new JSONArray();
rfType.forEach(a->{ rfType.forEach(a->{
JSONObject json_CF = new JSONObject(); JSONObject json_CF = new JSONObject();

View File

@@ -77,7 +77,8 @@
<el-card class="box-card" shadow="never" :body-style="{padding:'20px 20px 0 20px'}"> <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 ref="form2" :inline="true" :model="form" :rules="rules" size="mini">
<el-form-item label="载具号" prop="storagevehicle_code"> <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>
<el-form-item label="桶号" prop="bucketunique"> <el-form-item label="桶号" prop="bucketunique">
<el-input <el-input
@@ -224,9 +225,12 @@
<p>{{ '是否确认删除桶明细?' }}</p> <p>{{ '是否确认删除桶明细?' }}</p>
<div style="text-align: right; margin: 0"> <div style="text-align: right; margin: 0">
<el-button size="mini" type="text" @click="doCancel(scope.row)">取消</el-button> <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> </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> </el-popover>
</template> </template>
</el-table-column> </el-table-column>
@@ -330,7 +334,8 @@ export default {
}) })
}, },
toDelete(data) { toDelete(data) {
data.pop = true this.$set(data, 'pop', true)
// data.pop = true
}, },
close() { close() {
this.form.tableMater = [] this.form.tableMater = []
@@ -395,7 +400,8 @@ export default {
return return
} }
dis_dtl.storagevehicle_code = this.form.storagevehicle_code 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) this.form.tableMater.splice(this.form.tableMater.length, 0, dis_dtl)
if (this.form.dtl_row.assign_qty) { 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) 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) { deleteRow(index, rows) {
debugger
// 如果桶状态不是生成调后台逻辑 // 如果桶状态不是生成调后台逻辑
if (rows[index].status !== '01') { if (rows[index].status !== '01') {
crudRawAssist.deleteDisDtl(rows[index]).then(res => { crudRawAssist.deleteDisDtl(rows[index]).then(res => {
@@ -453,9 +460,11 @@ export default {
crudRawAssist.getDisDtl(this.form.dtl_row).then(res => { crudRawAssist.getDisDtl(this.form.dtl_row).then(res => {
this.form.tableMater = res this.form.tableMater = res
}) })
rows[index].pop = false // rows[index].pop = false
this.$set(rows[index], 'pop', false)
}).catch(err => { }).catch(err => {
rows[index].pop = false // rows[index].pop = false
this.$set(rows[index], 'pop', false)
return return
}) })
} }
@@ -553,7 +562,8 @@ export default {
} }
}, },
doCancel(data) { doCancel(data) {
data.pop = false this.$set(data, 'pop', false)
// data.pop = false
}, },
unDivStruct() { unDivStruct() {
if (this.form.tableMater.length <= 0) { if (this.form.tableMater.length <= 0) {