自动化立体仓库 - WMS系统
pang.jiabao
2025-04-30 abb9b5c51d8a20be68b64e0c4a9620f6578d2e3a
src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -13,16 +13,23 @@
import com.core.common.DateUtils;
import com.core.common.R;
import com.zy.asrs.entity.LocDetl;
import com.zy.asrs.entity.ManLocDetl;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.param.ProductCalibrationExcelParam;
import com.zy.asrs.importexcle.LocMat;
import com.zy.asrs.importexcle.LocMatListener;
import com.zy.asrs.importexcle.ProductCalibrationImportListener;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
import com.zy.asrs.service.ManLocDetlService;
import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
import org.apache.ibatis.session.SqlSessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
@@ -38,6 +45,57 @@
    private LocDetlMapper locDetlMapper;
    @Autowired
    private MatService matService;
    @Resource
    private LocMastService locMastService;
    @Resource
    private SqlSessionFactory sqlSessionFactory;
    @PostMapping("/importLocData")
    @ManagerAuth(memo = "导入立库已有库存")
    public R importLocData(@RequestParam("file") MultipartFile multipartFile) {
        try {
            importLocData1(multipartFile);
        } catch (Exception e) {
            e.printStackTrace();
            return R.error(e.getMessage());
        }
        return R.ok("导入成功");
    }
    @PostMapping("/productCalibration")
    @ManagerAuth(memo = "产品校验导入excel方式")
    public R productCalibration(@RequestParam("file") MultipartFile multipartFile) {
        try {
            productCalibrationExcel(multipartFile);
        } catch (Exception e) {
            e.printStackTrace();
            return R.error(e.getMessage());
        }
        return R.ok("导入成功");
    }
    @PostMapping("/getLocDateByLocNo")
    @ManagerAuth(memo = "根据包装组号提取一整箱库存")
    public R getLocDateByLocNo(@RequestBody List<String> packageNoList) {
        List<LocDetl> locDetls = locDetlMapper.selectList(new EntityWrapper<LocDetl>().in("brand", packageNoList));
        return R.ok(locDetls);
    }
    @Transactional(rollbackFor = Exception.class)
    public void importLocData1(MultipartFile multipartFile) throws IOException {
        EasyExcel.read(multipartFile.getInputStream(), LocMat.class,
                new LocMatListener(locMastService,locDetlMapper,getUserId())).sheet().doReadSync();
    }
    @Transactional(rollbackFor = Exception.class)
    public void productCalibrationExcel(MultipartFile multipartFile) throws IOException {
        EasyExcel.read(multipartFile.getInputStream(), ProductCalibrationExcelParam.class,
                new ProductCalibrationImportListener(sqlSessionFactory)).sheet().doReadSync();
    }
    @RequestMapping(value = "/locDetl/update")
    public R update1() {
@@ -83,7 +141,11 @@
                param.remove("modi_time");
            }
        }
        return R.ok(locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class)));
        Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
        if (stockOut.getRecords().size()==0){
            stockOut = locDetlService.getStockOut(toPage(1, limit, param, LocDetl.class));
        }
        return R.ok(stockOut);
    }
    @RequestMapping(value = "/locDetl/list/auth")// /locDetl/list/auth 接口问题