|
@@ -22,6 +22,7 @@ import com.platform.dao.entity.upms.SysDept;
|
|
|
import com.platform.dao.entity.upms.SysFile;
|
|
|
import com.platform.dao.entity.upms.SysUser;
|
|
|
import com.platform.dao.enums.SysFileTypeEnum;
|
|
|
+import com.platform.dao.mapper.sb.SbInfoMapper;
|
|
|
import com.platform.dao.mapper.sb.SbModelMapper;
|
|
|
import com.platform.dao.mapper.sb.SbModelSpareBomMapper;
|
|
|
import com.platform.dao.mapper.sqarepartmanage.SparePartInfoMapper;
|
|
@@ -31,7 +32,6 @@ import com.platform.dao.mapper.upms.SysFileMapper;
|
|
|
import com.platform.dao.util.CustomExcelImportUtil;
|
|
|
import com.platform.dao.vo.query.sparepartmanage.SparePartInfoVO;
|
|
|
import com.platform.dao.vo.sb.SbInfoVO;
|
|
|
-import com.platform.service.sb.SbInfoService;
|
|
|
import com.platform.service.sqarepartmanage.SparePartInfoService;
|
|
|
import com.platform.service.sqarepartmanage.SpareTypeService;
|
|
|
import com.platform.service.util.CodeFileUtils;
|
|
@@ -60,7 +60,7 @@ import java.util.stream.Collectors;
|
|
|
@Service("sparePartInfoService")
|
|
|
public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMapper, SparePartInfo, SparePartInfoDTO> implements SparePartInfoService {
|
|
|
|
|
|
- private final SbInfoService sbInfoService;
|
|
|
+ private final SbInfoMapper sbInfoMapper;
|
|
|
private final SpareTypeMapper spareTypeMapper;
|
|
|
private final SbModelMapper sbModelMapper;
|
|
|
private final SbModelSpareBomMapper sbModelSpareBomMapper;
|
|
@@ -143,7 +143,7 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
|
|
|
public AbstractPageResultBean<SparePartInfo> selectPageInfo(SparePartInfoDTO record, int pageNum, int pageSize) {
|
|
|
// 选择设备对应的备件bom列表
|
|
|
if(record.getSbId()!=null){
|
|
|
- SbInfoVO sbInfo = sbInfoService.getById(record.getSbId());
|
|
|
+ SbInfoVO sbInfo = sbInfoMapper.getById(record.getSbId());
|
|
|
List<SparePartInfoVO> partList = mapper.selectSpareInfoList(sbInfo.getModelId());
|
|
|
PageHelper.startPage(pageNum, pageSize);
|
|
|
AbstractPageResultBean<SparePartInfo> pageInfo = new MyPage(partList);
|
|
@@ -251,6 +251,12 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
|
|
|
return model;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 新增同时入了仓库,所以初始数量须填写一下,不填则默认为0
|
|
|
+ *
|
|
|
+ * @param model
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public SparePartInfo saveModelByDTO(SparePartInfoDTO model) {
|
|
|
|
|
@@ -286,12 +292,12 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /* Weekend<SparePartInfo> weekend = new Weekend<>(SparePartInfo.class);
|
|
|
- weekend.weekendCriteria().andEqualTo(SparePartInfo::getUniteNo, model.getUniteNo());
|
|
|
+ Weekend<SparePartInfo> weekend = new Weekend<>(SparePartInfo.class);
|
|
|
+ weekend.weekendCriteria().andEqualTo(SparePartInfo::getName, model.getName()).andEqualTo(SparePartInfo::getGgxh, model.getGgxh());
|
|
|
int checkInfo = mapper.selectCountByExample(weekend);
|
|
|
if(checkInfo > 0){
|
|
|
- throw new BusinessException("编码已存在,请重新设置名称编码或者规格编码," + model.getUniteNo());
|
|
|
- }*/
|
|
|
+ throw new BusinessException("同名称同规格的备件已存在,请重新设置");
|
|
|
+ }
|
|
|
model.setId(IdGeneratorUtils.getObjectId());
|
|
|
// 保存二维码
|
|
|
String path = CommonConstants.RESOURCE_PREFIX + "/png/" + DateUtil.formatDate(new Date()) + "/" + IdGeneratorUtils.getObjectId() + "/";
|
|
@@ -319,12 +325,36 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
|
|
|
sbModelSpareBomMapper.insert(bom);
|
|
|
}
|
|
|
this.saveFile(model);
|
|
|
+
|
|
|
+ // 如果初始化数量有了,就需要更新库存
|
|
|
+ if(model.getInitStock() == null){
|
|
|
+ model.setInitStock(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ if(model.getInitStock() != null){
|
|
|
+ SpareStore spareStore = new SpareStore();
|
|
|
+ spareStore.setSpareId(model.getId());
|
|
|
+ spareStore.setId(IdGeneratorUtils.getObjectId());
|
|
|
+ spareStore.setStoreId("9");
|
|
|
+ BigDecimal price = model.getInitialValue();
|
|
|
+ spareStore.setPrice(model.getInitialValue());
|
|
|
+ spareStore.setNum(model.getInitStock() );
|
|
|
+ spareStore.setInitNum(model.getInitStock() );
|
|
|
+ spareStore.setInitPrice(model.getInitialValue());
|
|
|
+ spareStore.setInitPurchasePrice(model.getInitialValue());
|
|
|
+ spareStore.setCreatedTime(time);
|
|
|
+ spareStore.setCreatedUserId(userInfo.getUserId());
|
|
|
+ spareStore.setUpdateTime(time);
|
|
|
+ spareStore.setUpdateUserId(userInfo.getUserId());
|
|
|
+ spareStoreMapper.insert(spareStore);
|
|
|
+ }
|
|
|
+
|
|
|
return super.saveModelHaveCreateInfo(model);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void modModelByDTO(SparePartInfoDTO model) {
|
|
|
-
|
|
|
+ UserInfo userInfo = SecurityUtils.getUserInfo();
|
|
|
+ LocalDateTime time = LocalDateTime.now();
|
|
|
// 设置备件的统一编号
|
|
|
SpareType parentType = spareTypeMapper.selectByPrimaryKey(model.getParentTypeId());
|
|
|
SpareType middleType = spareTypeMapper.selectByPrimaryKey(model.getMiddleTypeId());
|
|
@@ -358,13 +388,62 @@ public class SparePartInfoServiceImpl extends BaseServiceImpl<SparePartInfoMappe
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /* Weekend<SparePartInfo> weekend = new Weekend<>(SparePartInfo.class);
|
|
|
- weekend.weekendCriteria().andEqualTo(SparePartInfo::getUniteNo, model.getUniteNo());
|
|
|
+ Weekend<SparePartInfo> weekend = new Weekend<>(SparePartInfo.class);
|
|
|
+ weekend.weekendCriteria().andEqualTo(SparePartInfo::getName, model.getName()).andEqualTo(SparePartInfo::getGgxh, model.getGgxh());
|
|
|
SparePartInfo checkInfo = mapper.selectOneByExample(weekend);
|
|
|
- if(checkInfo != null && !checkInfo.getId().equals(model.getId())){
|
|
|
- throw new BusinessException("编码已存在,请重新设置名称编码或者规格编码," + model.getUniteNo());
|
|
|
- }*/
|
|
|
+ if(checkInfo != null && !checkInfo.getId().equals(model.getId())){
|
|
|
+ throw new BusinessException("同名称同规格的备件已存在,请重新设置");
|
|
|
+ }
|
|
|
this.saveFile(model);
|
|
|
+
|
|
|
+ if(model.getInitStock() == null){
|
|
|
+ model.setInitStock(new BigDecimal(0));
|
|
|
+ }
|
|
|
+ // 如果初始化数量有了,就需要更新库存
|
|
|
+ if(model.getInitStock() != null){
|
|
|
+ Weekend<SpareStore> weekendSpareStore = new Weekend<>(SpareStore.class);
|
|
|
+ weekendSpareStore.weekendCriteria().andEqualTo(SpareStore::getSpareId, model.getId());
|
|
|
+ SpareStore spareStore = spareStoreMapper.selectOneByExample(weekendSpareStore);
|
|
|
+ /**
|
|
|
+ * 1:已经存在库存,则判断数量是否一致,
|
|
|
+ * 1.1一致则不变,
|
|
|
+ * 1.2否则则要变更初始数量,并更新当前数量,当前数量=当前数量-旧初始数量+新初始数量
|
|
|
+ * 2:不存在库存,则新建
|
|
|
+ */
|
|
|
+ if(spareStore != null){
|
|
|
+ if(spareStore.getInitNum() != null){
|
|
|
+ if(spareStore.getInitNum().compareTo(model.getInitStock()) !=0){
|
|
|
+ spareStore.setNum(spareStore.getNum().subtract(spareStore.getInitNum()).add(model.getInitStock()) );
|
|
|
+ spareStore.setInitNum(model.getInitStock());
|
|
|
+ spareStore.setUpdateTime(time);
|
|
|
+ spareStore.setUpdateUserId(userInfo.getUserId());
|
|
|
+ spareStoreMapper.updateByPrimaryKey(spareStore);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ spareStore.setNum(model.getInitStock());
|
|
|
+ spareStore.setInitNum(model.getInitStock());
|
|
|
+ spareStore.setUpdateTime(time);
|
|
|
+ spareStore.setUpdateUserId(userInfo.getUserId());
|
|
|
+ spareStoreMapper.updateByPrimaryKey(spareStore);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ spareStore = new SpareStore();
|
|
|
+ spareStore.setSpareId(model.getId());
|
|
|
+ spareStore.setId(IdGeneratorUtils.getObjectId());
|
|
|
+ spareStore.setStoreId("9");
|
|
|
+ BigDecimal price = model.getInitialValue();
|
|
|
+ spareStore.setPrice(model.getInitialValue());
|
|
|
+ spareStore.setNum(model.getInitStock() );
|
|
|
+ spareStore.setInitNum(model.getInitStock() );
|
|
|
+ spareStore.setInitPrice(model.getInitialValue());
|
|
|
+ spareStore.setInitPurchasePrice(model.getInitialValue());
|
|
|
+ spareStore.setCreatedTime(time);
|
|
|
+ spareStore.setCreatedUserId(userInfo.getUserId());
|
|
|
+ spareStore.setUpdateTime(time);
|
|
|
+ spareStore.setUpdateUserId(userInfo.getUserId());
|
|
|
+ spareStoreMapper.insert(spareStore);
|
|
|
+ }
|
|
|
+ }
|
|
|
super.modModelByDTO(model);
|
|
|
}
|
|
|
private void saveFile(SparePartInfoDTO model) {
|