代码合并

This commit is contained in:
2022-11-29 15:22:13 +08:00
parent a5a7cb4d4e
commit f489649c62
7 changed files with 88 additions and 41 deletions

View File

@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.nl.modules.common.exception.BadRequestException;
import org.nl.modules.wql.WQL; import org.nl.modules.wql.WQL;
import org.nl.modules.wql.core.bean.WQLObject; import org.nl.modules.wql.core.bean.WQLObject;
import org.nl.wms.pda.st.service.VirtualOutService; import org.nl.wms.pda.st.service.VirtualOutService;
@@ -95,37 +96,42 @@ public class VirtualOutServiceImpl implements VirtualOutService {
JSONArray box_rows = whereJson.getJSONArray("box_rows"); JSONArray box_rows = whereJson.getJSONArray("box_rows");
HashSet<String> boxSet = new HashSet<>(); String box_no = whereJson.getString("box_no");
if (ObjectUtil.isEmpty(box_no)) throw new BadRequestException("木箱不能为空");
for (int i = 0; i < box_rows.size(); i++) {
/* for (int i = 0; i < box_rows.size(); i++) {
JSONObject json = box_rows.getJSONObject(i); JSONObject json = box_rows.getJSONObject(i);
boxSet.add(json.getString("package_box_sn")); if (!StrUtil.equals(json.getString("package_box_sn"), box_no)) {
} throw new BadRequestException("请输入正确的木箱号");
}
}*/
for (String box_no : boxSet) { // 传单据号
JSONArray disArr = WQL.getWO("PDA_ST_01").addParam("flag", "7").addParam("box_no", box_no).process().getResultJSONArray(0);
for (int i = 0; i < disArr.size(); i++) {
JSONObject jsonDis = disArr.getJSONObject(i);
// 更新状态为完成
jsonDis.put("work_status", "99");
disTab.update(jsonDis);
// 判断分配明细是否全部完成 JSONArray disArr = WQL.getWO("PDA_ST_01").addParam("flag", "7").addParam("box_no", box_no).process().getResultJSONArray(0);
JSONArray disNoArr = disTab.query("iostorinvdtl_id = '" + jsonDis.getString("iostorinvdtl_id") + "' and work_status <> '99'").getResultJSONArray(0); if (ObjectUtil.isEmpty(disArr)) throw new BadRequestException("木箱码无效");
if (ObjectUtil.isEmpty(disNoArr)) { for (int i = 0; i < disArr.size(); i++) {
// 更新明细表状态为完成 JSONObject jsonDis = disArr.getJSONObject(i);
JSONObject jsonDtl = dtlTab.query("iostorinvdtl_id = '" + jsonDis.getString("iostorinvdtl_id") + "'").uniqueResult(0); // 更新状态为完成
jsonDtl.put("bill_status", "99"); jsonDis.put("work_status", "99");
dtlTab.update(jsonDtl); disTab.update(jsonDis);
// 判断明细是否全部完成 // 判断分配明细是否全部完成
JSONArray dtlNoArr = dtlTab.query("iostorinv_id = '" + jsonDis.getString("iostorinv_id") + "' and bill_status <> '99'").getResultJSONArray(0); JSONArray disNoArr = disTab.query("iostorinvdtl_id = '" + jsonDis.getString("iostorinvdtl_id") + "' and work_status <> '99'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(dtlNoArr)) { if (ObjectUtil.isEmpty(disNoArr)) {
// 调用强制完成接口 // 更新明细表状态为完成
JSONObject param = new JSONObject(); JSONObject jsonDtl = dtlTab.query("iostorinvdtl_id = '" + jsonDis.getString("iostorinvdtl_id") + "'").uniqueResult(0);
param.put("iostorinv_id",jsonDis.getString("iostorinv_id")); jsonDtl.put("bill_status", "99");
checkOutBillService.confirm(param); dtlTab.update(jsonDtl);
}
// 判断此明细是否全部完成
JSONArray dtlNoArr = dtlTab.query("iostorinv_id = '" + jsonDis.getString("iostorinv_id") + "' and bill_status <> '99'").getResultJSONArray(0);
if (ObjectUtil.isEmpty(dtlNoArr)) {
// 调用强制完成接口
JSONObject param = new JSONObject();
param.put("iostorinv_id", jsonDis.getString("iostorinv_id"));
checkOutBillService.confirm(param);
} }
} }
} }
@@ -135,8 +141,8 @@ public class VirtualOutServiceImpl implements VirtualOutService {
} }
@Override @Override
public JSONObject printType(JSONObject whereJson){ public JSONObject printType(JSONObject whereJson) {
JSONArray rows = WQL.getWO("PDA_ST_01").addParam("flag","6").process().getResultJSONArray(0); JSONArray rows = WQL.getWO("PDA_ST_01").addParam("flag", "6").process().getResultJSONArray(0);
JSONObject jo = new JSONObject(); JSONObject jo = new JSONObject();
jo.put("data", rows); jo.put("data", rows);
jo.put("message", "查询成功!"); jo.put("message", "查询成功!");

View File

@@ -38,6 +38,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
public Map<String, Object> pageQuery(Map whereJson, Pageable page) { public Map<String, Object> pageQuery(Map whereJson, Pageable page) {
HashMap map = new HashMap<>(whereJson); HashMap map = new HashMap<>(whereJson);
String bill_code = MapUtil.getStr(whereJson, "bill_code"); String bill_code = MapUtil.getStr(whereJson, "bill_code");
String box_no = MapUtil.getStr(whereJson, "box_no");
String material_search = MapUtil.getStr(whereJson, "material_search"); String material_search = MapUtil.getStr(whereJson, "material_search");
map.put("flag", "1"); map.put("flag", "1");
map.put("stor_id", MapUtil.getStr(whereJson, "stor_id")); map.put("stor_id", MapUtil.getStr(whereJson, "stor_id"));
@@ -50,6 +51,7 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService {
map.put("pcsn", MapUtil.getStr(whereJson, "pcsn")); map.put("pcsn", MapUtil.getStr(whereJson, "pcsn"));
if (!ObjectUtil.isEmpty(bill_code)) map.put("bill_code", "%" + bill_code + "%"); if (!ObjectUtil.isEmpty(bill_code)) map.put("bill_code", "%" + bill_code + "%");
if (!ObjectUtil.isEmpty(material_search)) map.put("material_search", "%" + material_search + "%"); if (!ObjectUtil.isEmpty(material_search)) map.put("material_search", "%" + material_search + "%");
if (!ObjectUtil.isEmpty(box_no)) map.put("box_no", "%" + box_no + "%");
JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc"); JSONObject jo = WQL.getWO("QST_IVT_INANDOUTRETRUN").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), "mst.input_time desc");
return jo; return jo;

View File

@@ -30,6 +30,7 @@
输入.material_type_id TYPEAS f_string 输入.material_type_id TYPEAS f_string
输入.iostorinv_id TYPEAS s_string 输入.iostorinv_id TYPEAS s_string
输入.ids TYPEAS f_string 输入.ids TYPEAS f_string
输入.box_no TYPEAS s_string
@@ -66,6 +67,7 @@
FROM FROM
st_ivt_iostorinv mst st_ivt_iostorinv mst
LEFT JOIN st_ivt_iostorinvdtl dtl ON mst.iostorinv_id = dtl.iostorinv_id LEFT JOIN st_ivt_iostorinvdtl dtl ON mst.iostorinv_id = dtl.iostorinv_id
LEFT JOIN ST_IVT_IOStorInvDis dis ON dis.iostorinvdtl_id = dtl.iostorinvdtl_id
LEFT JOIN sys_user user ON user.user_id = mst.upload_optid LEFT JOIN sys_user user ON user.user_id = mst.upload_optid
INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id INNER JOIN md_me_materialbase mb ON mb.material_id = dtl.material_id
WHERE WHERE
@@ -86,6 +88,10 @@
mst.bill_type = 输入.bill_type mst.bill_type = 输入.bill_type
ENDOPTION ENDOPTION
OPTION 输入.box_no <> ""
dis.box_no like 输入.box_no
ENDOPTION
OPTION 输入.bill_status <> "" OPTION 输入.bill_status <> ""
mst.bill_status = 输入.bill_status mst.bill_status = 输入.bill_status
ENDOPTION ENDOPTION

View File

@@ -110,6 +110,15 @@
@keyup.enter.native="crud.toQuery" @keyup.enter.native="crud.toQuery"
/> />
</el-form-item> </el-form-item>
<el-form-item label="箱号">
<el-input
v-model="query.box_no"
size="mini"
clearable
placeholder="箱号"
@keyup.enter.native="crud.toQuery"
/>
</el-form-item>
<el-form-item label="模糊查询"> <el-form-item label="模糊查询">
<el-input <el-input
v-model="query.bill_code" v-model="query.bill_code"
@@ -236,7 +245,7 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation' import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination' import pagination from '@crud/Pagination'
import crudStorattr from '@/views/wms/basedata/st/stor/storattr' import crudStorattr from '@/views/wms/basedata/st/stor/storattr'
import ViewDialog from '@/views/wms/st/inbill/ViewDialog' import ViewDialog from '@/views/wms/st/outbill/ViewDialog'
export default { export default {
name: 'Return', name: 'Return',

View File

@@ -113,7 +113,11 @@
@selection-change="crud.selectionChangeHandler" @selection-change="crud.selectionChangeHandler"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="bill_code" width="130" label="单据编码" /> <el-table-column show-overflow-tooltip prop="bill_code" width="130" label="单据号">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.bill_code }}</el-link>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip :formatter="formatStatus" width="100" prop="bill_status" label="单据状态" /> <el-table-column show-overflow-tooltip :formatter="formatStatus" width="100" prop="bill_status" label="单据状态" />
<el-table-column prop="stor_name" label="仓库" width="100" /> <el-table-column prop="stor_name" label="仓库" width="100" />
<el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" label="业务类型" /> <el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" label="业务类型" />
@@ -134,6 +138,7 @@
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
</div> </div>
<ViewDialog :dialog-show.sync="viewShow" :rowmst="mstrow" @AddChanged="querytable" />
</div> </div>
</template> </template>
@@ -146,10 +151,11 @@ import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker/index' import DateRangePicker from '@/components/DateRangePicker/index'
import crudInchargefrom from '@/views/wms/st/incharge/incharge' import crudInchargefrom from '@/views/wms/st/incharge/incharge'
import crudStorattr from '@/views/wms/basedata/st/stor/storattr' import crudStorattr from '@/views/wms/basedata/st/stor/storattr'
import ViewDialog from '@/views/wms/st/outbill/ViewDialog'
export default { export default {
name: 'Incharge', name: 'Incharge',
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker }, components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker, ViewDialog },
cruds() { cruds() {
return CRUD({ return CRUD({
title: '入库冲销', title: '入库冲销',
@@ -171,6 +177,8 @@ export default {
dicts: ['ST_CREATE_MODE', 'ST_INV_IN_TYPE', 'io_bill_status'], dicts: ['ST_CREATE_MODE', 'ST_INV_IN_TYPE', 'io_bill_status'],
data() { data() {
return { return {
mstrow: {},
viewShow: false,
permission: { permission: {
}, },
storlist: [] storlist: []
@@ -185,6 +193,10 @@ export default {
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
return true return true
}, },
toView(index, row) {
this.mstrow = row
this.viewShow = true
},
charge() { charge() {
const _selectData = this.$refs.table.selection const _selectData = this.$refs.table.selection
crudInchargefrom.charge(_selectData[0]).then(res => { crudInchargefrom.charge(_selectData[0]).then(res => {

View File

@@ -42,7 +42,7 @@
disabled disabled
> >
<el-option <el-option
v-for="item in dict.ST_INV_OUT_TYPE" v-for="item in dict.INANDOUT_BILL_TYPE"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
@@ -137,12 +137,12 @@
<el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" /> <el-table-column min-width="120" show-overflow-tooltip prop="material_code" label="物料编码" align="center" />
<el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" /> <el-table-column min-width="120" show-overflow-tooltip prop="material_name" label="物料名称" align="center" />
<el-table-column prop="pcsn" label="子卷批次号" align="center" show-overflow-tooltip /> <el-table-column prop="pcsn" label="子卷批次号" align="center" show-overflow-tooltip />
<el-table-column prop="storagevehicle_code" label="箱号" align="center" width="200px" show-overflow-tooltip /> <el-table-column prop="box_no" label="箱号" align="center" width="200px" show-overflow-tooltip />
<el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" /> <el-table-column prop="plan_qty" :formatter="crud.formatNum3" label="重量" align="center" />
<el-table-column prop="struct_code" label="起始位置" align="center" show-overflow-tooltip /> <el-table-column prop="struct_code" label="仓位" align="center" show-overflow-tooltip />
<el-table-column prop="next_point_code" label="目的位置" align="center" /> <!-- <el-table-column prop="next_point_code" label="目的位置" align="center" />-->
<el-table-column prop="task_code" label="任务号" align="center" /> <!-- <el-table-column prop="task_code" label="任务号" align="center" />-->
<el-table-column prop="task_type" label="任务类型" align="center" width="150px" :formatter="taskdtl_typeFormat" /> <!-- <el-table-column prop="task_type" label="任务类型" align="center" width="150px" :formatter="taskdtl_typeFormat" />-->
<el-table-column prop="task_status" label="状态" align="center" width="110px" :formatter="task_statusFormat" /> <el-table-column prop="task_status" label="状态" align="center" width="110px" :formatter="task_statusFormat" />
</el-table> </el-table>
</el-card> </el-card>
@@ -160,7 +160,7 @@ export default {
name: 'ViewDialog', name: 'ViewDialog',
components: { }, components: { },
mixins: [crud()], mixins: [crud()],
dicts: ['io_bill_status', 'work_status', 'task_status', 'SCH_TASK_TYPE_DTL','ST_INV_OUT_TYPE'], dicts: ['io_bill_status', 'work_status', 'task_status', 'SCH_TASK_TYPE_DTL','ST_INV_OUT_TYPE', 'INANDOUT_BILL_TYPE'],
props: { props: {
dialogShow: { dialogShow: {
type: Boolean, type: Boolean,
@@ -198,7 +198,7 @@ export default {
this.billtypelist = res this.billtypelist = res
}), }),
// 查询原材料库的仓库 // 查询原材料库的仓库
crudStorattr.getStor({ 'is_materialstore': '1' }).then(res => { crudStorattr.getStor({ 'is_productstore': '1' }).then(res => {
this.storlist = res.content this.storlist = res.content
}) })
}, },

View File

@@ -134,7 +134,11 @@
@select-all="onSelectAll" @select-all="onSelectAll"
> >
<el-table-column type="selection" width="55" /> <el-table-column type="selection" width="55" />
<el-table-column show-overflow-tooltip prop="bill_code" width="130" label="单据编码"/> <el-table-column show-overflow-tooltip prop="bill_code" width="130" label="单据">
<template slot-scope="scope">
<el-link type="warning" @click="toView(scope.$index, scope.row)">{{ scope.row.bill_code }}</el-link>
</template>
</el-table-column>
<el-table-column show-overflow-tooltip :formatter="stateFormat" width="100" prop="bill_status" label="单据状态" /> <el-table-column show-overflow-tooltip :formatter="stateFormat" width="100" prop="bill_status" label="单据状态" />
<el-table-column prop="stor_name" label="仓库" width="100" /> <el-table-column prop="stor_name" label="仓库" width="100" />
<el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" label="业务类型" /> <el-table-column show-overflow-tooltip prop="bill_type" :formatter="bill_typeFormat" label="业务类型" />
@@ -155,6 +159,7 @@
<!--分页组件--> <!--分页组件-->
<pagination /> <pagination />
</div> </div>
<ViewDialog :dialog-show.sync="viewShow" :rowmst="mstrow" @AddChanged="querytable" />
</div> </div>
</template> </template>
@@ -167,10 +172,11 @@ import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker/index' import DateRangePicker from '@/components/DateRangePicker/index'
import crudOutchargefrom from '@/views/wms/st/outcharge/outcharge' import crudOutchargefrom from '@/views/wms/st/outcharge/outcharge'
import crudStorattr from '@/views/wms/basedata/st/stor/storattr' import crudStorattr from '@/views/wms/basedata/st/stor/storattr'
import ViewDialog from '@/views/wms/st/outbill/ViewDialog'
export default { export default {
name: 'Outcharge', name: 'Outcharge',
components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker }, components: { crudOperation, rrOperation, udOperation, pagination, DateRangePicker, ViewDialog },
cruds() { cruds() {
return CRUD({ return CRUD({
title: '出库冲销', title: '出库冲销',
@@ -196,6 +202,8 @@ export default {
}, },
billType: null, billType: null,
storlist: [], storlist: [],
mstrow: {},
viewShow: false,
currentRow: null, currentRow: null,
createtypelist: [], createtypelist: [],
statuslist: [] statuslist: []
@@ -210,6 +218,10 @@ export default {
[CRUD.HOOK.beforeRefresh]() { [CRUD.HOOK.beforeRefresh]() {
return true return true
}, },
toView(index, row) {
this.mstrow = row
this.viewShow = true
},
create_modeFormat(row, column) { create_modeFormat(row, column) {
return this.dict.label.ST_CREATE_MODE[row.create_mode] return this.dict.label.ST_CREATE_MODE[row.create_mode]
}, },