rev:出库修改

This commit is contained in:
zhangzq
2024-12-03 21:15:36 +08:00
parent 48dcaa7089
commit 76ccf60d48
9 changed files with 71 additions and 17 deletions

View File

@@ -102,7 +102,7 @@ public class SpelUtil {
value = product_area;
}
result.put(field,value);
}catch (SpelEvaluationException ex){
}catch (Exception ex){
ex.printStackTrace();
throw new BadRequestException("当前业务数据没有映射字段"+field+" 对应的数据"+skip);
}

View File

@@ -15,7 +15,7 @@ import java.nio.charset.StandardCharsets;
*/
public class RunHeartMain {
public static void main(String[] args) throws InterruptedException {
HeartServer heartServer = new HeartServer(new InetSocketAddress("192.168.18.218", 20889));
// HeartServer heartServer = new HeartServer(new InetSocketAddress("192.168.18.218", 20889));
// while (true){
// Thread.sleep(5000);
// for (Channel value : HeartServer.Heart_Connection.values()) {

View File

@@ -2,6 +2,7 @@ package org.nl.wms.pda_manage.iostorage;
import cn.dev33.satoken.annotation.SaIgnore;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.TableDataInfo;
@@ -75,14 +76,14 @@ public class PdaOutController {
return new ResponseEntity<>(TableDataInfo.build(iPmFormDataService.queryTree(query,page)), HttpStatus.OK);
}
@GetMapping("orderConfirm")
@PostMapping("orderConfirm")
@Log("查询单据数据")
@SaIgnore
public ResponseEntity<TableDataInfo<PmFormDataDto>> orderConfirm(String form_code) {
if (StringUtils.isEmpty(form_code)){
public ResponseEntity<TableDataInfo<PmFormDataDto>> orderConfirm(@RequestBody JSONObject param) {
if (param==null || StringUtils.isEmpty(param.getString("code"))){
throw new BadRequestException("请求参数不能为空");
}
PmFormDataDto pmFormDataDto = iPmFormDataService.queryErpCode(form_code);
PmFormDataDto pmFormDataDto = iPmFormDataService.queryErpCode(param.getString("code"));
return new ResponseEntity<>(TableDataInfo.build(ListOf.of(pmFormDataDto)), HttpStatus.OK);
}

View File

@@ -3,13 +3,10 @@ package org.nl.wms.pda_manage.iostorage.sevice;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.SerializeConfig;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.kingdee.bos.webapi.entity.IdentifyInfo;
import com.kingdee.bos.webapi.sdk.K3CloudApi;
import jcifs.smb.SmbFile;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.nl.common.domain.exception.BadRequestException;

View File

@@ -48,6 +48,7 @@
<result property="parent_id" column="parent_id"/>
<result property="form_data" column="form_data" typeHandler="org.nl.common.domain.mybatis.handler.FastjsonSortTypeHandler"/>
<result property="unit_id" column="unit_id"/>
<result property="unit_name" column="unit_name"/>
<!-- <result property="HasChildren" column="HasChildren"/>-->
</resultMap>
@@ -154,8 +155,10 @@
md_me_materialbase.material_code,
md_me_materialbase.material_name,
md_me_materialbase.material_spec,
md_me_materialbase.single_weight
md_me_materialbase.single_weight,
bm_measure_unit.unit_name
from pm_form_data left join md_me_materialbase on pm_form_data.material_id = md_me_materialbase.material_id
left join bm_measure_unit on pm_form_data.unit_id = bm_measure_unit.unit_id
where parent_id in
<foreach collection="parents" open="(" close=")" item="parent_id" separator=",">
#{parent_id}

View File

@@ -140,8 +140,9 @@ public class PmFormDataServiceImpl extends ServiceImpl<PmFormDataMapper, PmFormD
}
return result;
} catch (Exception ex) {
ex.printStackTrace();
log.error("ERP单据解析异常" + ex.getMessage());
return result;
throw new BadRequestException(ex.getMessage());
}
}

View File

@@ -17,6 +17,9 @@ import org.nl.wms.md_manage.group_dick.service.IMdGruopDickService;
import org.nl.wms.md_manage.group_dick.service.dao.MdGruopDick;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
import org.nl.wms.md_manage.vehicleMater.service.dao.MdPbVehicleMater;
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.PmFormDataDto;
import org.nl.wms.stor_manage.io.service.iostor.IStIvtIostorinvService;
import org.nl.wms.stor_manage.io.service.iostor.dao.StIvtIostorinv;
import org.nl.wms.stor_manage.io.service.iostor.dao.mapper.StIvtIostorinvOutMapper;
@@ -54,6 +57,8 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapp
private IMdGruopDickService iMdGruopDickService;
@Autowired
private IBmVehicleInfoService iBmVehicleInfoService;
@Autowired
private IPmFormDataService iPmFormDataService;
@Override
@Transactional
@@ -61,6 +66,14 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapp
if (form == null) {
return;
}
String sourceFormCode = form.getString("source_form_code");
String mstString = null;
if (StringUtils.isNotEmpty(sourceFormCode)){
PmFormData mst = iPmFormDataService.getOne(new QueryWrapper<PmFormData>().eq("code", sourceFormCode));
JSONObject mstJ = (JSONObject) JSONObject.toJSON(mst);
mstJ.putAll((Map)mstJ.remove("form_data"));
mstString = mstJ.toJSONString();
}
List<Map> dtls = (List<Map>) form.remove("item");
StIvtIostorinv mst = form.toJavaObject(StIvtIostorinv.class);
mst.setId(IdUtil.getStringId());
@@ -70,7 +83,18 @@ public class StIvtIostorinvServiceImpl extends ServiceImpl<StIvtIostorinvOutMapp
mst.setStatus(StatusEnum.FORM_STATUS.code("生成"));
if (dtls != null && dtls.size() > 0) {
for (int i = 0; i < dtls.size(); i++) {
StIvtIostorinvdtl dtl = new JSONObject(dtls.get(i)).toJavaObject(StIvtIostorinvdtl.class);
JSONObject jsonDtl = new JSONObject(dtls.get(i));
String sourceDtlFormCode = jsonDtl.getString("source_form_code");
StIvtIostorinvdtl dtl = jsonDtl.toJavaObject(StIvtIostorinvdtl.class);
if (StringUtils.isNotEmpty(sourceDtlFormCode) && mstString!=null){
JSONObject sourceFormData = JSONObject.parseObject(mstString);
PmFormData sourDtl = iPmFormDataService.getOne(new QueryWrapper<PmFormData>()
.eq("code", sourceFormCode));
JSONObject dtlJ = (JSONObject) JSONObject.toJSON(sourDtl);
dtlJ.putAll((Map) dtlJ.remove("form_data"));
sourceFormData.putAll(dtlJ);
dtl.setSource_form_data(sourceFormData);
}
dtl.setId(IdUtil.getStringId());
dtl.setInv_id(mst.getId());
dtl.setStatus(StatusEnum.FORM_STATUS.code("生成"));

View File

@@ -105,9 +105,9 @@ public class SyncFormMappingController {
if (analyseData == null){
throw new BadRequestException("解析数据不能为空");
}
JSONArray jsonArray = form.getJSONArray("mapping_json");
boolean dtlSplit =Boolean.parseBoolean(form.getString("mapping_json"));
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(jsonArray,form.getString("form_type"),dtlSplit,(String) analyseData);
Object mappingJson = form.get("mapping_json");
JSONArray array = JSONArray.parseArray(JSON.toJSONString(mappingJson));
List<PmFormData> pmFormDatas = formDataService.syncAnalyse(array,form.getString("form_type"),false,(String) analyseData);
if (needSave!=null && (Boolean)needSave){
formDataService.saveBatch(pmFormDatas);
}

View File

@@ -52,6 +52,22 @@
<el-form-item label="源单时间" prop="source_form_date">
<el-input v-model="form.source_form_date" clearable style="width: 150px" />
</el-form-item>
<el-select
v-model="form.stor_code"
clearable
size="mini"
placeholder="仓库"
class="filter-item"
style="width: 120px"
@change="storChange"
>
<el-option
v-for="item in tableEnum.st_ivt_bsrealstorattr"
:key="item.key"
:label="item.label"
:value="item.value"
/>
</el-select>
<template v-for="(col,index) in cols">
<el-form-item label="col.lable" prop="bill_code">
<label slot="label">{{ col.lable }}:</label>
@@ -103,7 +119,7 @@
size="mini"
@click="insertForm()"
>
添加单据
添加单据2
</el-button>
</span>
@@ -123,7 +139,7 @@
<el-table-column show-overflow-tooltip prop="pcsn" label="物料批次" width="160" align="center">
<template scope="scope"><el-input v-model="tableData[scope.$index].pcsn" class="input-with-select" /></template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="qty" label="计划数量" width="160" align="center">
<el-table-column show-overflow-tooltip prop="qty" label="分配数量" width="160" align="center">
<template scope="scope"><el-input-number v-model="tableData[scope.$index].qty" class="input-with-select" /></template>
</el-table-column>
<el-table-column show-overflow-tooltip prop="unit_id" label="单位" width="160">
@@ -244,6 +260,7 @@ const defaultForm = {
status: '',
source_form_type: '',
source_form_id: '',
source_form_code: '',
source_form_date: '',
create_name: '',
create_time: '',
@@ -344,6 +361,13 @@ export default {
})
}
},
storChange(val) {
if (this.tableData.length > 0) {
this.tableData.forEach(a => {
this.$set(a, 'stor_code', val)
})
}
},
[CRUD.HOOK.beforeSubmit]() {
// 提交前校验
@@ -395,6 +419,7 @@ export default {
data.single_weight = row.single_weight
data.source_form_type = ''
data.source_form_id = ''
data.source_form_code = ''
data.unit_id = row.unit_id
data.form_data = {}
this.dtlCols.forEach(a => {
@@ -409,9 +434,11 @@ export default {
})
},
tableDtlMaterial2(data) {
debugger
const mst = data['t']
let rows = []
this.form.source_form_type = mst.form_type
this.form.source_form_code = mst.code
this.form.source_form_id = mst.id
const mst_form_data = mst.form_data
if (data['item'] == null || data['item'].length == 0) {
@@ -435,6 +462,7 @@ export default {
data.single_weight = row.single_weight
data.source_form_type = row.form_type
data.source_form_id = row.id
data.source_form_code = row.code
data.pcsn = row.pcsn
data.qty = row.qty
data.unit_id = row.unit_id