add:组盘导入

This commit is contained in:
zhangzq
2024-12-10 14:16:29 +08:00
parent c959b09015
commit 2638440903
4 changed files with 81 additions and 10 deletions

View File

@@ -72,8 +72,6 @@ public class MdGruopDickController {
return new ResponseEntity<>(HttpStatus.OK); return new ResponseEntity<>(HttpStatus.OK);
} }
@PostMapping("/excelImport") @PostMapping("/excelImport")
@Log("导入组盘信息")
//("查询桶记录表")
public ResponseEntity<Object> excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) { public ResponseEntity<Object> excelImport(@RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
RedissonUtils.lock(() -> { RedissonUtils.lock(() -> {
iMdGruopDickService.excelImport(file, request, response); iMdGruopDickService.excelImport(file, request, response);

View File

@@ -1,6 +1,9 @@
package org.nl.wms.md_manage.group_dick.service.impl; package org.nl.wms.md_manage.group_dick.service.impl;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -13,6 +16,8 @@ import org.nl.common.domain.entity.PageQuery;
import org.nl.common.domain.exception.BadRequestException; import org.nl.common.domain.exception.BadRequestException;
import org.nl.common.enums.StatusEnum; import org.nl.common.enums.StatusEnum;
import org.nl.common.utils.*; import org.nl.common.utils.*;
import org.nl.wms.base_manage.material.service.IMdMeMaterialbaseService;
import org.nl.wms.base_manage.material.service.dao.MdMeMaterialbase;
import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService; import org.nl.wms.base_manage.vehicle.service.IBmVehicleInfoService;
import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo; import org.nl.wms.base_manage.vehicle.service.dao.BmVehicleInfo;
import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService; import org.nl.wms.md_manage.vehicleMater.service.IMdPbVehicleMaterService;
@@ -34,6 +39,8 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@@ -55,7 +62,8 @@ public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGru
@Autowired @Autowired
private IMdPbVehicleMaterService iMdPbVehicleMaterService; private IMdPbVehicleMaterService iMdPbVehicleMaterService;
@Autowired
private IMdMeMaterialbaseService mdMeMaterialbaseService;
@Autowired @Autowired
private IBmVehicleInfoService iBmVehicleInfoService; private IBmVehicleInfoService iBmVehicleInfoService;
@Autowired @Autowired
@@ -164,9 +172,63 @@ public class MdGruopDickServiceImpl extends ServiceImpl<MdGruopDickMapper, MdGru
@Override @Override
public void excelImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) { public void excelImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) {
try {
InputStream inputStream = file.getInputStream();
ExcelReader excelReader = ExcelUtil.getReader(inputStream);
List<List<Object>> read = excelReader.read();
String now = DateUtil.now();
if (read.size()>1){
List<MdGruopDick> groups = new ArrayList<>();
List<MdPbVehicleMater> vms = new ArrayList<>();
for (int i = 1; i < read.size(); i++) {
List<Object> list = read.get(i);
String vehicle_code = (String)list.get(0);
String material_code = (String)list.get(1);
String pcsn = (String)list.get(2);
String qty = String.valueOf(list.get(3));
if (StringUtils.isEmpty(vehicle_code)||StringUtils.isEmpty(material_code)||StringUtils.isEmpty(pcsn)||StringUtils.isEmpty(qty)){
throw new BadRequestException(""+(i+1)+"行数据不全");
}
BmVehicleInfo vehicleInfo = iBmVehicleInfoService.vehileInfo(vehicle_code);
if (vehicleInfo==null){
throw new BadRequestException(vehicle_code+"载具信息不存在");
}
List<MdPbVehicleMaterVo> vehicleMaters = iMdPbVehicleMaterService.getVehicleMaters(vehicle_code);
if (!CollectionUtils.isEmpty(vehicleMaters)){
throw new BadRequestException(vehicle_code+"存在信息,先出库确认在使用");
}
MdMeMaterialbase materialCode = mdMeMaterialbaseService.getOne(new QueryWrapper<MdMeMaterialbase>().eq("material_code", material_code));
if (materialCode==null){
throw new BadRequestException(material_code+"物料编码不存在");
}
MdGruopDick dick = new MdGruopDick();
dick.setVehicle_code(vehicle_code);
dick.setCode(CodeUtil.getNewCode("md_group_dick"));
dick.setId(IdUtil.getStringId());
dick.setStatus(StatusEnum.FORM_STATUS.code("完成"));
dick.setCreate_name(SecurityUtils.getCurrentNickName());
dick.setCreate_time(now);
MdPbVehicleMater vehicleMater = new MdPbVehicleMater();
vehicleMater.setGroup_id(dick.getId());
vehicleMater.setVehicle_code(vehicle_code);
vehicleMater.setQty(new BigDecimal(Integer.valueOf(qty)));
vehicleMater.setPcsn(pcsn);
vehicleMater.setMaterial_id(materialCode.getMaterial_id());
vehicleMater.setId(IdUtil.getStringId());
vehicleMater.setUnit_id("100438");//个
vehicleMater.setStor_code("FStockId");
vehicleMater.setCreate_time(now);
vehicleMater.setCreate_name(SecurityUtils.getCurrentNickName());
groups.add(dick);
vms.add(vehicleMater);
}
iMdPbVehicleMaterService.saveBatch(vms);
this.saveBatch(groups);
}
}catch (Exception ex){
throw new BadRequestException("导入失败"+ex.getMessage());
}
} }
@Override @Override
public List<MdPbVehicleMaterVo> getGroupDtl(String vehicle_code) { public List<MdPbVehicleMaterVo> getGroupDtl(String vehicle_code) {
if (StringUtils.isEmpty(vehicle_code)){ if (StringUtils.isEmpty(vehicle_code)){

View File

@@ -33,6 +33,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import java.text.Format; import java.text.Format;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -112,15 +113,22 @@ public class DeviceManageController {
@PostMapping("transf") @PostMapping("transf")
@SaIgnore @SaIgnore
@Log("输送线转运") @Log("输送线转运")
public ResponseEntity<Map> transf(@RequestBody JSONObject param) { public ResponseEntity<Object> transf(@RequestBody JSONObject param) {
HashMap result = MapOf.of("", ""); String start = param.getString("start");
return new ResponseEntity<>(result,HttpStatus.OK); //2116 2127 1120 1131 3102 3104
HashMap<String, String> map = new HashMap<>();
ArrayList<Map> list = new ArrayList<>();
list.add(MapOf.of("text","二楼出库点","value","2127"));
list.add(MapOf.of("text","三楼出库点","value","3104"));
list.add(MapOf.of("text","一楼出库点","value","1131"));
return new ResponseEntity<>(list,HttpStatus.OK);
} }
@PostMapping("transfConfirm") @PostMapping("transfConfirm")
@SaIgnore @SaIgnore
@Log("转运确认") @Log("转运确认")
public ResponseEntity<TableDataInfo> transfConfirm(@RequestBody JSONObject param) { public ResponseEntity<TableDataInfo> transfConfirm(@RequestBody JSONObject param) {
HashMap result = MapOf.of("", ""); // {"start":"1123","end":"1131"}
return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK); return new ResponseEntity<>(TableDataInfo.build(),HttpStatus.OK);
} }

View File

@@ -90,6 +90,7 @@
<el-button type="primary" @click="submitStatus">确认</el-button> <el-button type="primary" @click="submitStatus">确认</el-button>
</div> </div>
</el-dialog> </el-dialog>
<UploadDialog :dialog-show.sync="uploadShow" @tableChanged3="crud.toQuery()"/>
<!--表格渲染--> <!--表格渲染-->
<el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;" <el-table ref="table" v-loading="crud.loading" :data="crud.data" size="mini" style="width: 100%;"
@@ -137,6 +138,8 @@ import pagination from '@crud/Pagination'
import AddDialog from '@/views/wms/md_manage/group_dick/AddDialog' import AddDialog from '@/views/wms/md_manage/group_dick/AddDialog'
import formstruc from '@/views/wms/config_manage/formStruc/formstruc' import formstruc from '@/views/wms/config_manage/formStruc/formstruc'
import ViewDialog from '@/views/wms/md_manage/group_dick/ViewDialog' import ViewDialog from '@/views/wms/md_manage/group_dick/ViewDialog'
import UploadDialog from './UploadDialog'
const defaultForm = { const defaultForm = {
id: '', id: '',
@@ -155,7 +158,7 @@ const defaultForm = {
export default { export default {
name: 'groupDick', name: 'groupDick',
statusEnums: ['FORM_STATUS'], statusEnums: ['FORM_STATUS'],
components: { ViewDialog, AddDialog, crudbucketrecord, formstruc, pagination, crudOperation, rrOperation }, components: { ViewDialog, AddDialog, crudbucketrecord, formstruc, pagination, crudOperation, rrOperation,UploadDialog },
mixins: [presenter(), header(), form(defaultForm), crud()], mixins: [presenter(), header(), form(defaultForm), crud()],
cruds() { cruds() {
return CRUD({ return CRUD({