Browse Source

fix:组盘、入库相关业务修改为混料

master_V2.0
zhouz 2 weeks ago
parent
commit
514f45ab5a
  1. 50
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java
  2. 7
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdMeMaterialbase.java
  3. 2
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java
  4. 20
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/mapper/IOStorInvMapper.xml
  5. 6
      nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml
  6. 17
      nladmin-ui/src/views/wms/basedata/group/AddDialog.vue
  7. 10
      nladmin-ui/src/views/wms/basedata/group/group.js
  8. 9
      nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue
  9. 12
      nladmin-ui/src/views/wms/st/inbill/AddDtl.vue

50
nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/controller/GroupController.java

@ -2,7 +2,9 @@ package org.nl.wms.basedata_manage.controller;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -17,6 +19,7 @@ import org.nl.wms.basedata_manage.service.dao.MdPbStoragevehicleinfo;
import org.nl.wms.warehouse_manage.enums.IOSEnum;
import org.nl.wms.warehouse_manage.service.IMdPbGroupplateService;
import org.nl.wms.warehouse_manage.service.dao.GroupPlate;
import org.nl.wms.warehouse_manage.service.dao.mapper.MdPbGroupplateMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
@ -24,8 +27,11 @@ import org.springframework.util.Assert;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
/**
@ -46,6 +52,8 @@ public class GroupController {
private final IMdPbGroupplateService iMdPbGroupplateService;
@Autowired
private final IMdPbStoragevehicleinfoService iMdPbStoragevehicleinfoService;
@Autowired
private final MdPbGroupplateMapper mdPbGroupplateMapper;
@GetMapping
@Log("分页查询")
@ -57,24 +65,30 @@ public class GroupController {
@PostMapping
@Log("新增组盘组盘")
public ResponseEntity<Object> createSingle(@RequestBody JSONObject group) {
Assert.noNullElements(new Object[]{group,group.get("material_id"),group.get("storagevehicle_code"),group.get("qty")},"请求参数不能为空");
GroupPlate groupPlate = group.toJavaObject(GroupPlate.class);
String storagevehicleCode = groupPlate.getStoragevehicle_code();
Assert.noNullElements(new Object[]{group, group.get("tableData"), group.get("storagevehicle_code")}, "请求参数不能为空");
String storagevehicleCode = group.getString("storagevehicle_code");
{
iMdPbStoragevehicleinfoService.getByCode(storagevehicleCode);
int has = iMdPbGroupplateService.count(new LambdaUpdateWrapper<GroupPlate>()
.eq(GroupPlate::getStoragevehicle_code, groupPlate.getStoragevehicle_code())
.eq(GroupPlate::getStoragevehicle_code, storagevehicleCode)
.lt(GroupPlate::getStatus, IOSEnum.GROUP_PLATE_STATUS.code("出库")));
if (has>0){
if (has > 0) {
throw new BadRequestException("当前载具组盘信息已存在");
}
}
groupPlate.setGroup_id(IdUtil.getStringId());
groupPlate.setCreate_id(SecurityUtils.getCurrentUserId());
groupPlate.setCreate_name(SecurityUtils.getCurrentUsername());
groupPlate.setCreate_time(DateUtil.now());
groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘"));
iMdPbGroupplateService.save(groupPlate);
JSONArray rows = group.getJSONArray("tableData");
for (int i = 0; i < rows.size(); i++) {
JSONObject row = rows.getJSONObject(i);
GroupPlate groupPlate = row.toJavaObject(GroupPlate.class);
groupPlate.setStoragevehicle_code(storagevehicleCode);
groupPlate.setGroup_id(IdUtil.getStringId());
groupPlate.setCreate_id(SecurityUtils.getCurrentUserId());
groupPlate.setCreate_name(SecurityUtils.getCurrentUsername());
groupPlate.setCreate_time(DateUtil.now());
groupPlate.setStatus(IOSEnum.GROUP_PLATE_STATUS.code("组盘"));
iMdPbGroupplateService.save(groupPlate);
}
return new ResponseEntity<>(HttpStatus.OK);
}
@ -84,4 +98,18 @@ public class GroupController {
iMdPbGroupplateService.delete(ids);
return new ResponseEntity<>(HttpStatus.OK);
}
@PostMapping(value = "/getAllGroupInfo")
@Log("通过载具号获取全部组盘信息")
public ResponseEntity<Object> getAllGroupInfo(@RequestBody JSONArray rows) {
List<String> vehicle_list = rows.stream()
.map(obj -> (HashMap<String, String>) obj)
.map(json -> json.get("storagevehicle_code"))
.distinct()
.collect(Collectors.toList());
List<JSONObject> list = mdPbGroupplateMapper.getVehicleMaterial(new JSONObject() {{
put("vehicle_codes", vehicle_list);
}});
return new ResponseEntity<>(TableDataInfo.build(list), HttpStatus.OK);
}
}

7
nladmin-system/nlsso-server/src/main/java/org/nl/wms/basedata_manage/service/dao/MdMeMaterialbase.java

@ -60,7 +60,12 @@ public class MdMeMaterialbase implements Serializable {
/**
* 基本计量单位
*/
private String base_unit_id;
private String qty_unit_id;
/**
* 基本计量单位名称
*/
private String qty_unit_name;
/**
* 辅助计量单位

2
nladmin-system/nlsso-server/src/main/java/org/nl/wms/pda_manage/ios_manage/service/impl/PdaIosInServiceImpl.java

@ -148,7 +148,7 @@ public class PdaIosInServiceImpl implements PdaIosInService {
String qty = whereJson.getString("qty");
MdPbStoragevehicleinfo vehicleDao = iMdPbStoragevehicleinfoService.getByCode(whereJson.getString("vehicle_code"));
MdMeMaterialbase materDao = iMdMeMaterialbaseService.getByCode(materialId);
MdPbMeasureunit unitDao = iMdPbMeasureunitService.getById(materDao.getBase_unit_id());
MdPbMeasureunit unitDao = iMdPbMeasureunitService.getById(materDao.getQty_unit_id());
// 校验
if (ObjectUtil.isEmpty(vehicleDao) || ObjectUtil.isEmpty(materDao) || ObjectUtil.isEmpty(materDao)) {
throw new BadRequestException("载具,物料或单位信息有误!");

20
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/inAndOut/service/dao/mapper/IOStorInvMapper.xml

@ -49,12 +49,16 @@
<select id="getGroupPlate" resultType="org.nl.wms.warehouse_manage.service.dto.GroupPlateDto">
SELECT group_id,
storagevehicle_code,
gp.material_id,pcsn,
qty_unit_id,
qty_unit_name,qty,frozen_qty,remark,
status,ext_code,ext_type,
mater.material_name,mater.material_spec,mater.material_code
storagevehicle_code,
gp.material_id,
pcsn,
gp.qty_unit_id,
gp.qty_unit_name,
qty,
frozen_qty,
remark,
status,ext_code,ext_type,
mater.material_name,mater.material_spec,mater.material_code
FROM md_pb_groupplate gp
LEFT JOIN md_me_materialbase mater ON mater.material_id = gp.material_id
<where>
@ -65,11 +69,11 @@
</if>
<if test="params.pcsn != null">
AND
gp.pcsn LIKE CONCAT('%', #{params.pcsn}, '%')
gp.pcsn LIKE CONCAT('%', #{params.pcsn}, '%')
</if>
<if test="params.storagevehicle_code != null">
AND
gp.storagevehicle_code LIKE CONCAT('%', #{params.storagevehicle_code}, '%')
gp.storagevehicle_code LIKE CONCAT('%', #{params.storagevehicle_code}, '%')
</if>
<if test="params.begin_time != null">
AND

6
nladmin-system/nlsso-server/src/main/java/org/nl/wms/warehouse_manage/service/dao/mapper/MdPbGroupplateMapper.xml

@ -76,6 +76,12 @@
AND
gro.qty>0
</if>
<if test="params.vehicle_codes != null and params.vehicle_codes.size > 0">
AND gro.storagevehicle_code IN
<foreach collection="params.vehicle_codes" item="storagevehicle_code" open="(" separator="," close=")">
#{storagevehicle_code}
</foreach>
</if>
</where>
ORDER BY gro.create_time Desc
</select>

17
nladmin-ui/src/views/wms/basedata/group/AddDialog.vue

@ -230,7 +230,22 @@ export default {
}
},
materialChoose(row) {
this.form.tableData = row
debugger
//
row.forEach((item) => {
debugger
let same_mater = true
this.form.tableData.forEach((row) => {
debugger
if (row.material_code === item.material_code && row.pcsn === item.pcsn) {
debugger
same_mater = false
}
})
if (same_mater) {
this.form.tableData.splice(-1, 0, item)
}
})
},
async insertEvent(row) {
this.dtlShow = true

10
nladmin-ui/src/views/wms/basedata/group/group.js

@ -24,4 +24,12 @@ export function edit(data) {
})
}
export default { add, edit, del }
export function getAllGroupInfo(data) {
return request({
url: 'api/group/getAllGroupInfo',
method: 'post',
data
})
}
export default { add, edit, del, getAllGroupInfo }

9
nladmin-ui/src/views/wms/basedata/material/MaterialDialog.vue

@ -29,7 +29,7 @@
<!--表格渲染-->
<el-table
ref="table"
ref="table2"
v-loading="crud.loading"
:data="crud.data"
style="width: 100%;"
@ -49,7 +49,7 @@
<el-table-column prop="material_name" label="物料名称" width="170" show-overflow-tooltip />
<el-table-column prop="material_spec" label="物料规格" width="170" show-overflow-tooltip/>
<el-table-column prop="class_name" label="物料分类" width="140" />
<el-table-column prop="unit_name" label="计量单位" />
<el-table-column prop="qty_unit_name" label="计量单位" />
<el-table-column prop="product_series_name" label="系列" />
<el-table-column prop="update_optname" label="修改人" />
<el-table-column prop="update_time" label="修改时间" width="135" />
@ -112,20 +112,21 @@ export default {
this.tableRadio = item
},
open() {
this.crud.refresh()
},
close() {
this.crud.resetQuery(false)
this.$emit('update:dialogShow', false)
},
submit() {
debugger
//
if (this.isSingle && this.tableRadio) {
this.$emit('update:dialogShow', false)
this.$emit('materialChoose', this.tableRadio)
return
}
this.rows = this.$refs.table.selection
this.rows = this.$refs.table2.selection
if (this.rows.length <= 0) {
this.$message('请先勾选物料')
return

12
nladmin-ui/src/views/wms/st/inbill/AddDtl.vue

@ -77,12 +77,12 @@ import rrOperation from '@crud/RR.operation'
import crudOperation from '@crud/CRUD.operation'
import pagination from '@crud/Pagination'
import DateRangePicker from '@/components/DateRangePicker/index'
import crudRawAssist from '@/views/wms/st/inbill/rawassist'
import group, { getAllGroupInfo } from '@/views/wms/basedata/group/group.js'
const start = new Date()
export default {
name: 'AddDtl',
components: { crudOperation, rrOperation, pagination, DateRangePicker },
components: { crudOperation, rrOperation, pagination, DateRangePicker, group },
cruds() {
return CRUD({
title: '用户',
@ -149,10 +149,10 @@ export default {
console.log('获取的rows:')
console.log(this.rows)
this.$emit('tableChanged', this.rows)
// crudRawAssist.queryBoxMater(this.rows).then(res => {
// this.rows = res
// this.$emit('tableChanged', this.rows)
// })
group.getAllGroupInfo(this.rows).then(res => {
this.rows = res.content
this.$emit('tableChanged', this.rows)
})
// this.form = this.$options.data().form
}
}

Loading…
Cancel
Save