package zy.cloud.wms.pda.service.impl;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.common.BaseRes;
|
import com.core.common.Cools;
|
import com.core.exception.CoolException;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import zy.cloud.wms.common.utils.VersionUtils;
|
import zy.cloud.wms.manager.entity.Comb;
|
import zy.cloud.wms.manager.entity.Mat;
|
import zy.cloud.wms.manager.service.CombService;
|
import zy.cloud.wms.manager.service.MatService;
|
import zy.cloud.wms.pda.entity.CombParam;
|
import zy.cloud.wms.pda.service.MobileService;
|
|
import java.util.Date;
|
|
/**
|
* 移动端服务核心类
|
* Created by vincent on 2020/6/28
|
*/
|
@Service
|
public class MobileServiceImpl implements MobileService {
|
|
@Autowired
|
private MatService matService;
|
@Autowired
|
private CombService combService;
|
|
@Override
|
@Transactional
|
public void comb(CombParam param, Long userId, Long hostId) {
|
if (Cools.isEmpty(param.getZpallet())) {
|
throw new CoolException(BaseRes.PARAM);
|
}
|
if (Cools.isEmpty(param.getCombMats())) {
|
throw new CoolException(BaseRes.PARAM);
|
}
|
int count = combService.selectCount(new EntityWrapper<Comb>().
|
eq("zpallet", param.getZpallet()).eq("io_status", 1).eq("host_id", hostId));
|
if (count > 0) {
|
throw new CoolException("条码数据已存在");
|
}
|
if (Cools.isEmpty(param.getBillNo())) {
|
for (CombParam.CombMat combMat : param.getCombMats()) {
|
Mat mat = matService.selectByMatnr(hostId, combMat.getMatnr());
|
if (Cools.isEmpty(mat)) {
|
throw new CoolException("物料数据错误");
|
}
|
Comb comb = new Comb();
|
comb.setHostId(hostId);
|
comb.setZpallet(param.getZpallet()); // 托盘码
|
comb.setStatus(1); // 状态
|
comb.setAnfme(combMat.getCount()); // 数量
|
comb.setIoStatus(1); // 入出状态 1.待入库
|
comb.setCreateBy(userId);
|
comb.setCreateTime(new Date());
|
comb.setUpdateBy(userId);
|
comb.setUpdateTime(new Date());
|
VersionUtils.setComb(comb, mat);
|
|
if (!combService.insert(comb)) {
|
throw new CoolException("保存数据失败");
|
}
|
}
|
} else {
|
// // 关联通知单组托
|
// for (CombParam.CombMat combMat : param.getCombMats()) {
|
// WaitPakin one = waitPakinService.selectOne(new EntityWrapper<WaitPakin>()
|
// .eq("supplier", param.getBillNo())
|
// .eq("matnr", combMat.getMatNo())
|
// .isNull("zpallet"));
|
// if (one == null) {
|
// throw new CoolException("通知单不存在"+combMat.getMatNo()+"数据!");
|
// }
|
// if (combMat.getCount() > one.getAnfme()) {
|
// throw new CoolException(combMat.getMatNo()+"物料数量不足!");
|
// }
|
// MatCode matCode = matCodeService.selectById(combMat.getMatNo());
|
// if (Cools.isEmpty(matCode)) {
|
// throw new CoolException("物料数据错误");
|
// }
|
// WaitPakin waitPakin = one.clone();
|
// waitPakin.setZpallet(param.getBarcode()); // 托盘码
|
// waitPakin.setAnfme(combMat.getCount()); // 数量
|
// waitPakin.setAppeUser(userId);
|
// waitPakin.setAppeTime(new Date());
|
// waitPakin.setModiUser(userId);
|
// waitPakin.setModiTime(new Date());
|
// if (!waitPakinService.insert(waitPakin)) {
|
// throw new CoolException("保存数据失败");
|
// }
|
// // 减少通知单上该物料组托数量
|
// if (waitPakin.getAnfme() >= one.getAnfme()) {
|
// waitPakinService.delete(new EntityWrapper<WaitPakin>()
|
// .eq("supplier", param.getBillNo())
|
// .eq("matnr", combMat.getMatNo())
|
// .isNull("zpallet"));
|
// } else {
|
// Wrapper<WaitPakin> wrapper = new EntityWrapper<WaitPakin>()
|
// .eq("supplier", param.getBillNo())
|
// .eq("matnr", combMat.getMatNo())
|
// .isNull("zpallet");
|
// WaitPakin pakin = new WaitPakin();
|
// pakin.setAnfme(one.getAnfme() - waitPakin.getAnfme());
|
// if (!waitPakinService.update(pakin, wrapper)) {
|
// throw new CoolException("更新数据失败");
|
// }
|
//
|
// }
|
//
|
// }
|
|
|
}
|
|
|
}
|
|
}
|