rev:修改组盘记录页面
This commit is contained in:
@@ -10,6 +10,7 @@ import org.nl.common.utils.RedissonUtils;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.IMdPbBucketrecordService;
|
||||
import org.nl.wms.masterdata_manage.service.vehicle.dao.MdPbBucketrecord;
|
||||
import org.nl.wms.scheduler_manage.service.point.ISchBasePointService;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
@@ -18,7 +19,9 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -39,11 +42,35 @@ public class MdPbBucketrecordController {
|
||||
@GetMapping
|
||||
@Log("查询桶记录表")
|
||||
//("查询桶记录表")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(iMdPbBucketrecordService.queryAll(whereJson,page), HttpStatus.OK);
|
||||
public ResponseEntity<Object> queryBygroup(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(iMdPbBucketrecordService.queryBygroup(whereJson,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PutMapping
|
||||
@GetMapping("/vechile_code")
|
||||
@Log("查询桶表详情")
|
||||
//("查询桶记录表")
|
||||
public ResponseEntity<Object> query(@RequestParam Map whereJson, PageQuery page) {
|
||||
return new ResponseEntity<>(iMdPbBucketrecordService.queryItem(whereJson,page), HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PutMapping("/updategroup")
|
||||
@Log("修改桶记录表")
|
||||
//("查询桶记录表")
|
||||
public ResponseEntity<Object> updategroup(@RequestBody JSONObject whereJson) {
|
||||
String[] bucket_record_ids = whereJson.getString("bucket_record_id").split(",");
|
||||
MdPbBucketrecord param = whereJson.toJavaObject(MdPbBucketrecord.class);
|
||||
List<MdPbBucketrecord> list = new ArrayList<>();
|
||||
for (String bucket_record_id : bucket_record_ids) {
|
||||
MdPbBucketrecord item = new MdPbBucketrecord();
|
||||
BeanUtils.copyProperties(param,item);
|
||||
item.setBucket_record_id(bucket_record_id);
|
||||
list.add(item);
|
||||
}
|
||||
iMdPbBucketrecordService.updateBatchById(list);
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
@PutMapping()
|
||||
@Log("修改桶记录表")
|
||||
//("查询桶记录表")
|
||||
public ResponseEntity<Object> update(@RequestBody JSONObject whereJson) {
|
||||
@@ -54,7 +81,14 @@ public class MdPbBucketrecordController {
|
||||
@DeleteMapping
|
||||
@Log("删除桶记录表")
|
||||
public ResponseEntity<Object> delete(@RequestBody String[] ids) {
|
||||
iMdPbBucketrecordService.removeByIds(Arrays.asList(ids));
|
||||
if (ids != null && ids.length >0){
|
||||
List<String> list = new ArrayList();
|
||||
for (String item : ids) {
|
||||
String[] split = item.split(",");
|
||||
list.addAll(Arrays.asList(split));
|
||||
}
|
||||
iMdPbBucketrecordService.removeByIds(list);
|
||||
}
|
||||
return new ResponseEntity<>(HttpStatus.OK);
|
||||
}
|
||||
|
||||
|
||||
@@ -29,6 +29,10 @@ public interface IMdPbBucketrecordService extends IService<MdPbBucketrecord> {
|
||||
*/
|
||||
Object queryAll(Map whereJson, PageQuery page);
|
||||
|
||||
Object queryBygroup(Map whereJson, PageQuery page);
|
||||
|
||||
Object queryItem(Map whereJson,PageQuery page);
|
||||
|
||||
void createBucke(MdPbBucketrecord dao);
|
||||
|
||||
/**
|
||||
|
||||
@@ -19,5 +19,7 @@ public interface MdPbBucketrecordMapper extends BaseMapper<MdPbBucketrecord> {
|
||||
|
||||
List<Map> queryAll(Map<String,Object> map);
|
||||
|
||||
List<Map> queryAllBygroup(Map<String,Object> map);
|
||||
|
||||
List<Map> getMstList(@Param("storagevehicle_code") String storagevehicle_code,@Param("sale_code") String sale_code);
|
||||
}
|
||||
|
||||
@@ -46,4 +46,37 @@
|
||||
</if>
|
||||
GROUP BY storagevehicle_code,sale_code,create_time
|
||||
</select>
|
||||
<select id="queryAllBygroup" resultType="java.util.Map">
|
||||
SELECT
|
||||
GROUP_CONCAT(bucket_record_id) bucket_record_id,
|
||||
storagevehicle_code,
|
||||
count(1) as item_count,
|
||||
sum(re.storage_qty) storage_qtys,qty_unit_name,status,re.create_time,contract_code,sale_code,
|
||||
GROUP_CONCAT(ma.material_spec) as material_specs
|
||||
FROM
|
||||
MD_PB_BucketRecord re
|
||||
LEFT JOIN md_me_materialbase ma ON ma.material_id = re.material_id
|
||||
WHERE
|
||||
1=1
|
||||
<if test="material_id != null and material_id != ''">
|
||||
and ma.material_id = #{material_id}
|
||||
</if>
|
||||
<if test="sale_code != null and sale_code != ''">
|
||||
and re.sale_code like '%${sale_code}%'
|
||||
</if>
|
||||
<if test="storagevehicle_type != null and storagevehicle_type != ''">
|
||||
and re.storagevehicle_type = #{storagevehicle_type}
|
||||
</if>
|
||||
<if test="status != null and status != ''">
|
||||
and re.status = #{status}
|
||||
</if>
|
||||
<if test="storagevehicle_code != null and storagevehicle_code != ''">
|
||||
and re.storagevehicle_code like '%${storagevehicle_code}%'
|
||||
</if>
|
||||
<if test="bucketunique != null and bucketunique != ''">
|
||||
and ( re.bucketunique like '%${bucketunique}%' )
|
||||
</if>
|
||||
GROUP BY storagevehicle_code,re.status
|
||||
order by re.create_time DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -81,6 +81,22 @@ public class MdPbBucketrecordServiceImpl extends ServiceImpl<MdPbBucketrecordMap
|
||||
return build;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryBygroup(Map whereJson, PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage()+1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(baseMapper.queryAllBygroup(whereJson));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object queryItem(Map whereJson,PageQuery pageQuery) {
|
||||
Page<Object> page = PageHelper.startPage(pageQuery.getPage()+1, pageQuery.getSize());
|
||||
TableDataInfo build = TableDataInfo.build(baseMapper.queryAll(whereJson));
|
||||
build.setTotalElements(page.getTotal());
|
||||
return build;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void createBucke(MdPbBucketrecord dao) {
|
||||
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getOne(
|
||||
|
||||
@@ -23,6 +23,13 @@ export function edit(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
export function updategroup(data) {
|
||||
return request({
|
||||
url: '/api/mdPbBucketrecord/updategroup',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function addPersons(data) {
|
||||
return request({
|
||||
@@ -72,4 +79,4 @@ export function excelImport(data) {
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, addPersons, getHeader, deleteRow, addDevices,excelImport }
|
||||
export default { add, edit, del, addPersons, getHeader, deleteRow, addDevices,excelImport,updategroup }
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
</crudOperation>
|
||||
<!--表单组件-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title">
|
||||
title="新增组盘信息">
|
||||
<el-form
|
||||
ref="form"
|
||||
:inline="true"
|
||||
@@ -81,9 +81,6 @@
|
||||
<el-form-item label="销售单明细" prop="seq_no">
|
||||
<el-input v-model="form.seq_no" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料编码" prop="material_code">
|
||||
<el-input v-model="form.material_code" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料规格" prop="material_spec">
|
||||
<el-input-number v-model="form.material_spec" style="width: 200px;" />
|
||||
</el-form-item>
|
||||
@@ -122,16 +119,46 @@
|
||||
<el-button :loading="crud.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog width ="250" :close-on-click-modal="false" :visible.sync="statusEdit" title="编辑托盘状态">
|
||||
<el-form
|
||||
ref="form"
|
||||
:inline="true"
|
||||
:model="editForm"
|
||||
label-width="100px"
|
||||
style="border: 1px solid #cfe0df;margin-top: 10px;padding-top: 10px;"
|
||||
>
|
||||
<el-form-item label="托盘号" prop="deliver_code">
|
||||
<el-input v-model="editForm.storagevehicle_code" style="width: 160px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select v-model="editForm.status" placeholder="" style="width: 120px">
|
||||
<el-option
|
||||
v-for="item in dict.BOX_STATUS"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitStatus">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
|
||||
@selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="storagevehicle_code" label="托盘号"/>
|
||||
<el-table-column prop="storagevehicle_code" label="托盘号">
|
||||
<template slot-scope="scope">
|
||||
<el-link type="warning" @click="vechile(scope.row.storagevehicle_code)">{{ scope.row.storagevehicle_code }}</el-link>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="sale_code" label="销售单号"/>
|
||||
<el-table-column prop="seq_no" label="销售单明细"/>
|
||||
<el-table-column prop="material_code" label="物料编码"/>
|
||||
<el-table-column prop="material_spec" label="物料规格"/>
|
||||
<el-table-column prop="storage_qty" label="数量"/>
|
||||
<el-table-column prop="item_count" label="托盘明细数"/>
|
||||
<el-table-column prop="material_specs" label="物料规格" show-overflow-tooltip/>
|
||||
<el-table-column prop="storage_qtys" label="总数量"/>
|
||||
<el-table-column prop="qty_unit_name" label="计量单位"/>
|
||||
<el-table-column prop="create_time" label="组盘时间"/>
|
||||
<el-table-column prop="status" label="状态">
|
||||
@@ -141,10 +168,7 @@
|
||||
</el-table-column>
|
||||
<el-table-column v-permission="[]" label="操作" width="120px" align="center" fixed="right">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
<el-button type="warning" size="mini" @click="editStatus(scope.row)">编辑状态</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
@@ -155,6 +179,7 @@
|
||||
:dialog-show.sync="uploadShow"
|
||||
@tableChanged3="tableChanged3"
|
||||
/>
|
||||
<vechileViewDialog ref="vechileViewDialog" :dialog-show.sync="vachileView" />
|
||||
<Dialog :dialog-show.sync="dialogShow" />
|
||||
</div>
|
||||
</template>
|
||||
@@ -167,6 +192,7 @@ import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import UploadDialog from '@/views/wms/storage_manage/product/bucketRecord/UploadDialog'
|
||||
import Dialog from '@/views/wms/storage_manage/product/bucketRecord/Dialog'
|
||||
import vechileViewDialog from '@/views/wms/storage_manage/product/bucketRecord/vechileViewDialog'
|
||||
import pagination from '@crud/Pagination'
|
||||
import Treeselect, {LOAD_CHILDREN_OPTIONS} from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
@@ -197,7 +223,7 @@ const defaultForm = {
|
||||
export default {
|
||||
name: 'DeliveryOrder',
|
||||
dicts: ['PCS_DELIVER_TYPE', 'BOX_STATUS'],
|
||||
components: {pagination, crudOperation, rrOperation, udOperation, Treeselect, Dialog, UploadDialog},
|
||||
components: {vechileViewDialog,pagination, crudOperation, rrOperation, udOperation, Treeselect, Dialog, UploadDialog},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
@@ -214,6 +240,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
statusEdit:false,
|
||||
vachileView:false,
|
||||
editForm:{},
|
||||
classes3: [],
|
||||
uploadShow: false,
|
||||
dialogShow: false,
|
||||
@@ -244,6 +273,10 @@ export default {
|
||||
})
|
||||
})
|
||||
},
|
||||
vechile(row){
|
||||
this.vachileView = true
|
||||
this.$refs.vechileViewDialog.openQ(row)
|
||||
},
|
||||
tableChanged3() {
|
||||
this.crud.toQuery()
|
||||
},
|
||||
@@ -276,6 +309,18 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
editStatus(row){
|
||||
this.editForm = row,
|
||||
this.statusEdit = true
|
||||
},
|
||||
submitStatus(){
|
||||
crudbucketrecord.updategroup(this.editForm).then(res => {
|
||||
this.editForm = {}
|
||||
this.crud.notify('编辑成功', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.statusEdit = false
|
||||
this.crud.toQuery()
|
||||
})
|
||||
},
|
||||
initClass3() {
|
||||
const param = {
|
||||
parent_class_code: '07'
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
title="托盘明细"
|
||||
append-to-body
|
||||
:visible.sync="dialogVisible"
|
||||
destroy-on-close
|
||||
width="80%"
|
||||
>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="crud.loading"
|
||||
:data="crud.data"
|
||||
size="mini"
|
||||
style="width: 100%;"
|
||||
>
|
||||
<el-table-column type="index" fixed width="80" label="序号" />
|
||||
<el-table-column prop="storagevehicle_code" fixed width="120" label="托盘号" />
|
||||
<el-table-column prop="sale_code" width="120" label="销售单号" />
|
||||
<el-table-column prop="seq_no" label="销售单明细" width="100" />
|
||||
<el-table-column prop="material_spec" label="物料规格" width="150" />
|
||||
<el-table-column prop="storage_qty" label="数量" width="150" />
|
||||
<el-table-column prop="qty_unit_name" label="单位" width="150" />
|
||||
<el-table-column prop="create_time" label="组盘时间" width="150" />
|
||||
<el-table-column prop="status" label="状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.BOX_STATUS[scope.row.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submit">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import bucketrecord from '@/views/wms/storage_manage/product/bucketRecord/bucketrecord'
|
||||
import CRUD, { header, presenter } from '@crud/crud'
|
||||
import pagination from '@crud/Pagination'
|
||||
|
||||
export default {
|
||||
name: 'vechileViewDialog',
|
||||
components: {pagination },
|
||||
cruds() {
|
||||
return CRUD({ title: '组盘明细', url: '/api/mdPbBucketrecord/vechile_code', crudMethod: { ...bucketrecord }, optShow: {}})
|
||||
},
|
||||
mixins: [presenter(), header()],
|
||||
dicts: ['BOX_STATUS'],
|
||||
props: {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
tableRadio: null,
|
||||
checkrow: null,
|
||||
rows: [],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
openQ(query) {
|
||||
this.crud.query.storagevehicle_code = query
|
||||
this.dialogVisible = true
|
||||
this.crud.toQuery()
|
||||
},
|
||||
submit() {
|
||||
this.dialogVisible = false
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style rel="stylesheet/scss" lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
padding-top: 0px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user