|
@@ -1,14 +1,19 @@
|
|
package com.ruoyi.ams.box.service.impl;
|
|
package com.ruoyi.ams.box.service.impl;
|
|
|
|
|
|
|
|
+import java.util.Date;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
|
import com.ruoyi.ams.box.form.AddBoxForm;
|
|
import com.ruoyi.ams.box.form.AddBoxForm;
|
|
import com.ruoyi.ams.inv.domain.InvLotAtt;
|
|
import com.ruoyi.ams.inv.domain.InvLotAtt;
|
|
import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
import com.ruoyi.ams.inv.domain.InvLotLocId;
|
|
import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
import com.ruoyi.ams.inv.mapper.InvLotLocIdMapper;
|
|
|
|
+import com.ruoyi.base.constant.Constant;
|
|
|
|
+import com.ruoyi.base.domain.BaseLocationInfo;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
|
+import com.ruoyi.common.exception.ServiceException;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import com.ruoyi.common.utils.DateUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
import com.ruoyi.common.utils.StringUtils;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -22,6 +27,7 @@ import com.ruoyi.ams.box.service.IWmsBoxInfoService;
|
|
* @author ruoyi
|
|
* @author ruoyi
|
|
* @date 2022-11-01
|
|
* @date 2022-11-01
|
|
*/
|
|
*/
|
|
|
|
+@Slf4j
|
|
@Service
|
|
@Service
|
|
public class WmsBoxInfoServiceImpl implements IWmsBoxInfoService {
|
|
public class WmsBoxInfoServiceImpl implements IWmsBoxInfoService {
|
|
@Autowired
|
|
@Autowired
|
|
@@ -192,4 +198,47 @@ public class WmsBoxInfoServiceImpl implements IWmsBoxInfoService {
|
|
public int updateLocationBind(String palletNo, Long locationTo, String isFull) {
|
|
public int updateLocationBind(String palletNo, Long locationTo, String isFull) {
|
|
return wmsBoxInfoMapper.updateLocationBindByPalletNo(palletNo, locationTo, isFull);
|
|
return wmsBoxInfoMapper.updateLocationBindByPalletNo(palletNo, locationTo, isFull);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public AjaxResult importLocation(List<WmsBoxInfo> list, boolean updateSupport, String opname) {
|
|
|
|
+ if (StringUtils.isNull(list) || list.size() == 0) {
|
|
|
|
+ throw new ServiceException("导入信息数据不能为空!");
|
|
|
|
+ }
|
|
|
|
+ int successNum = 0;
|
|
|
|
+ int failureNum = 0;
|
|
|
|
+ StringBuilder successMsg = new StringBuilder();
|
|
|
|
+ StringBuilder failureMsg = new StringBuilder();
|
|
|
|
+ for (WmsBoxInfo wmsBoxInfo : list) {
|
|
|
|
+ try {
|
|
|
|
+ WmsBoxInfo b = wmsBoxInfoMapper.selectWmsBoxInfoByBoxNo(wmsBoxInfo.getBoxNo());
|
|
|
|
+ if (b == null) {
|
|
|
|
+ wmsBoxInfo.setBoxType("pallet");
|
|
|
|
+ wmsBoxInfo.setBoxState(1);
|
|
|
|
+ wmsBoxInfo.setIsEmpty("Y");
|
|
|
|
+ wmsBoxInfo.setLocationId(null);
|
|
|
|
+ wmsBoxInfo.setIsFull("N");
|
|
|
|
+ wmsBoxInfo.setCreateBy(opname);
|
|
|
|
+ wmsBoxInfo.setCreateTime(new Date());
|
|
|
|
+ this.insertWmsBoxInfo(wmsBoxInfo);
|
|
|
|
+ successNum++;
|
|
|
|
+ successMsg.append("<br/>" + successNum + "、容器 " + wmsBoxInfo.getBoxNo() + " 导入成功");
|
|
|
|
+ } else {
|
|
|
|
+ failureNum++;
|
|
|
|
+ failureMsg.append("<br/>" + failureNum + "、容器 " + wmsBoxInfo.getBoxNo() + " 已存在");
|
|
|
|
+ }
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ failureNum++;
|
|
|
|
+ String msg = "<br/>" + failureNum + "、容器 " + wmsBoxInfo.getBoxNo() + " 导入失败:";
|
|
|
|
+ failureMsg.append(msg + e.getMessage());
|
|
|
|
+ log.error(msg, e);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (failureNum > 0) {
|
|
|
|
+ failureMsg.insert(0, "导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
|
|
|
|
+ throw new ServiceException(failureMsg.toString());
|
|
|
|
+ } else {
|
|
|
|
+ successMsg.insert(0, "数据已全部导入成功!共 " + successNum + " 条,数据如下:");
|
|
|
|
+ }
|
|
|
|
+ return AjaxResult.success(successMsg);
|
|
|
|
+ }
|
|
}
|
|
}
|