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.假如桶码没有就插入,有就更新 桶记录表
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");

View File

@@ -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

View File

@@ -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));

View File

@@ -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();