物料管理测试修改2:按照日期降序查询、编写删除物料接口

This commit is contained in:
hy2250089 2020-01-08 14:51:21 +08:00
parent 19490a5a2a
commit 9e12f2d898
9 changed files with 33 additions and 35 deletions

View File

@ -12,6 +12,6 @@ import java.util.List;
public interface MaterialsOutgoingLogMapper extends Mapper<MaterialsOutgoingLog> { public interface MaterialsOutgoingLogMapper extends Mapper<MaterialsOutgoingLog> {
List<MaterialsOutgoingLogVo> findListByOneMaterial(MaterialsOutgoingLogParams params); List<MaterialsOutgoingLogVo> findListByOneMaterial(MaterialsOutgoingLogParams params);
void deleteByOutgoingIds(List<Integer> ids); void deleteByOutgoingIds(HashMap outgoingParam);
} }

View File

@ -78,7 +78,7 @@
<if test="companyId != null"> <if test="companyId != null">
AND com.company_id = #{companyId} AND com.company_id = #{companyId}
</if> </if>
</where> order by materials.create_time DESC </where> ORDER BY materials.create_time DESC
</select> </select>
<select id="findDetailById" parameterType="com.deer.wms.produce.manage.model.MaterialsInfoParams" resultMap="MatInfoDTOResultMap"> <select id="findDetailById" parameterType="com.deer.wms.produce.manage.model.MaterialsInfoParams" resultMap="MatInfoDTOResultMap">
@ -133,7 +133,7 @@
OR materialsInfo.specification LIKE CONCAT('%', #{keywords}, '%') OR materialsInfo.specification LIKE CONCAT('%', #{keywords}, '%')
OR materialsInfo.unit_id LIKE CONCAT('%', #{keywords}, '%') OR materialsInfo.unit_id LIKE CONCAT('%', #{keywords}, '%')
</if> </if>
</where> </where> ORDER BY materialsInfo.create_time
</select> </select>
</mapper> </mapper>

View File

@ -50,10 +50,11 @@
</where> ORDER BY outgoing.create_time DESC </where> ORDER BY outgoing.create_time DESC
</select> </select>
<delete id="deleteByOutgoingIds" parameterType = "java.util.List"> <delete id="deleteByOutgoingIds" parameterType = "java.util.HashMap">
DELETE FROM mt_alone_materials_outgoing_log WHERE id IN DELETE FROM mt_alone_materials_outgoing_log
<foreach collection="list" item="ids" open="(" separator="," close=")"> where 1>2 OR company_id=#{companyId} AND id IN
#{ids} <foreach collection="ids" item="id" open="(" separator="," close=")">
#{id}
</foreach> </foreach>
</delete> </delete>

View File

@ -1,5 +1,6 @@
package com.deer.wms.produce.manage.service; package com.deer.wms.produce.manage.service;
import com.deer.wms.intercept.common.data.CurrentUser;
import com.deer.wms.produce.manage.model.MaterialsInfo; import com.deer.wms.produce.manage.model.MaterialsInfo;
import com.deer.wms.produce.manage.model.MaterialsInfoDto; import com.deer.wms.produce.manage.model.MaterialsInfoDto;
import com.deer.wms.produce.manage.model.MaterialsInfoParams; import com.deer.wms.produce.manage.model.MaterialsInfoParams;
@ -20,5 +21,5 @@ public interface MaterialsInfoService extends Service<MaterialsInfo, Integer> {
List<MaterialsInfoVO> findMaterialsByKeyWords(MaterialsInfoParams params); List<MaterialsInfoVO> findMaterialsByKeyWords(MaterialsInfoParams params);
void deleteRelevantById(Integer materialsId); void deleteRelevantById(Integer materialsId, CurrentUser currentUser);
} }

View File

@ -21,5 +21,5 @@ public interface MaterialsOutgoingLogService extends Service<MaterialsOutgoingLo
void save(MaterialsOutgoingLog materialsOutgoingLog, CurrentUser currentUser); void save(MaterialsOutgoingLog materialsOutgoingLog, CurrentUser currentUser);
void deleteByOutgoingIds(List<Integer> ids); void deleteByOutgoingIds(HashMap outgoingParam);
} }

View File

@ -1,5 +1,6 @@
package com.deer.wms.produce.manage.service.impl; package com.deer.wms.produce.manage.service.impl;
import com.deer.wms.intercept.common.data.CurrentUser;
import com.deer.wms.produce.manage.dao.MaterialsInfoMapper; import com.deer.wms.produce.manage.dao.MaterialsInfoMapper;
import com.deer.wms.produce.manage.model.*; import com.deer.wms.produce.manage.model.*;
import com.deer.wms.produce.manage.service.MaterialsInfoService; import com.deer.wms.produce.manage.service.MaterialsInfoService;
@ -52,7 +53,7 @@ public class MaterialsInfoServiceImpl extends AbstractService<MaterialsInfo, Int
} }
@Override @Override
public void deleteRelevantById(Integer materialsId) { public void deleteRelevantById(Integer materialsId, CurrentUser currentUser) {
materialsInfoMapper.deleteByPrimaryKey(materialsId); materialsInfoMapper.deleteByPrimaryKey(materialsId);
MaterialsStockInfo stock = materialsStockInfoService.findBy("materialsId", materialsId); MaterialsStockInfo stock = materialsStockInfoService.findBy("materialsId", materialsId);
if(null!=stock) if(null!=stock)
@ -61,16 +62,18 @@ public class MaterialsInfoServiceImpl extends AbstractService<MaterialsInfo, Int
params.setMaterialsId(materialsId); params.setMaterialsId(materialsId);
params.setCompanyId(1); params.setCompanyId(1);
List<MaterialsOutgoingLogVo> materialsOutgoingLogList = materialsOutgoingLogService.findListByOneMaterial(params); List<MaterialsOutgoingLogVo> materialsOutgoingLogList = materialsOutgoingLogService.findListByOneMaterial(params);
System.out.println("=========="+materialsOutgoingLogList.size());
if((null!=materialsOutgoingLogList) && (materialsOutgoingLogList.size()!=0)){ if((null!=materialsOutgoingLogList) && (materialsOutgoingLogList.size()!=0)){
List<Integer> ids = new ArrayList<Integer>(); List<Integer> ids = new ArrayList<Integer>();
for (MaterialsOutgoingLogVo materialsOutgoingLogVo : materialsOutgoingLogList){ for (MaterialsOutgoingLogVo materialsOutgoingLogVo : materialsOutgoingLogList){
ids.add(materialsOutgoingLogVo.getId()); ids.add(materialsOutgoingLogVo.getId());
} }
System.out.println("----------"+ids.size());
if((null!=ids) && (ids.size()!=0)) { if((null!=ids) && (ids.size()!=0)) {
materialsOutgoingLogService.deleteByOutgoingIds(ids); HashMap outgoingParam = new HashMap();
outgoingParam.put("companyId", 1);
outgoingParam.put("ids", ids);
materialsOutgoingLogService.deleteByOutgoingIds(outgoingParam);
} }
} }

View File

@ -39,18 +39,22 @@ public class MaterialsOutgoingLogServiceImpl extends AbstractService<MaterialsOu
public void save(MaterialsOutgoingLog materialsOutgoingLog, CurrentUser currentUser) { public void save(MaterialsOutgoingLog materialsOutgoingLog, CurrentUser currentUser) {
Date date = new Date(); Date date = new Date();
materialsOutgoingLog.setOperatorId(1); materialsOutgoingLog.setOperatorId(currentUser.getUserId());
materialsOutgoingLog.setCreateTime(date); materialsOutgoingLog.setCreateTime(date);
materialsOutgoingLog.setCompanyId(1); materialsOutgoingLog.setVersion("1.1");
materialsOutgoingLog.setStatus(ProduceManageConstant.STATUS_AVAILABLE);
materialsOutgoingLog.setCompanyId(currentUser.getCompanyId());
materialsOutgoingLogMapper.insert(materialsOutgoingLog); materialsOutgoingLogMapper.insert(materialsOutgoingLog);
MaterialsStockInfo stock = materialsStockInfoService.findBy("materialsId", materialsOutgoingLog.getMaterialsId()); MaterialsStockInfo stock = materialsStockInfoService.findBy("materialsId", materialsOutgoingLog.getMaterialsId());
if(stock==null){//如果是新的物料库存表中没有该物料信息则新增一条库存记录 if(stock==null){//如果是新的物料库存表中没有该物料信息则新增一条库存记录
stock = new MaterialsStockInfo(); stock = new MaterialsStockInfo();
stock.setOperatorId(1); stock.setOperatorId(currentUser.getUserId());
stock.setCreateTime(date);
stock.setVersion("1.1");
stock.setMaterialsId(materialsOutgoingLog.getMaterialsId()); stock.setMaterialsId(materialsOutgoingLog.getMaterialsId());
stock.setUnitId(materialsOutgoingLog.getUnitId()); stock.setUnitId(materialsOutgoingLog.getUnitId());
stock.setCreateTime(date);
if(materialsOutgoingLog.getType() == ProduceManageConstant.TYPE_OUT) { if(materialsOutgoingLog.getType() == ProduceManageConstant.TYPE_OUT) {
stock.setQuantity(0-materialsOutgoingLog.getQuantity());//新建物料的出库仓储数量为负数 stock.setQuantity(0-materialsOutgoingLog.getQuantity());//新建物料的出库仓储数量为负数
}else if(materialsOutgoingLog.getType() == ProduceManageConstant.TYPE_IN) { }else if(materialsOutgoingLog.getType() == ProduceManageConstant.TYPE_IN) {
@ -58,14 +62,13 @@ public class MaterialsOutgoingLogServiceImpl extends AbstractService<MaterialsOu
} }
stock.setPositionName(materialsOutgoingLog.getPositionName()); stock.setPositionName(materialsOutgoingLog.getPositionName());
stock.setCompanyId(1); stock.setCompanyId(currentUser.getCompanyId());
materialsStockInfoService.save(stock); materialsStockInfoService.save(stock);
}else{//如果库存表中有该物料信息则更新对应的库存记录 }else{//如果库存表中有该物料信息则更新对应的库存记录
stock.setCreateTime(date);//日期取最新更新的日期
MaterialsInfoParams params = new MaterialsInfoParams();//查询条件赋值 MaterialsInfoParams params = new MaterialsInfoParams();//查询条件赋值
params.setMaterialsId(materialsOutgoingLog.getMaterialsId()); params.setMaterialsId(materialsOutgoingLog.getMaterialsId());
params.setCompanyId(1); params.setCompanyId(currentUser.getCompanyId());
//设置库存数量已有库存数量+入库数量或已有库存数量-出库数量 //设置库存数量已有库存数量+入库数量或已有库存数量-出库数量
Float totalQuantity = materialsStockInfoService.getStockQuantityByMaId(params); Float totalQuantity = materialsStockInfoService.getStockQuantityByMaId(params);
@ -79,7 +82,7 @@ public class MaterialsOutgoingLogServiceImpl extends AbstractService<MaterialsOu
//设置库存位置已有库存仓库,出入库记录对应仓库 //设置库存位置已有库存仓库,出入库记录对应仓库
String inAndOutLogPosition = materialsOutgoingLog.getPositionName(); String inAndOutLogPosition = materialsOutgoingLog.getPositionName();
String stockPosition = materialsStockInfoService.getStockPositionByMaId(params); String stockPosition = materialsStockInfoService.getStockPositionByMaId(params);
if(stockPosition!=null && !stockPosition.trim().equals("")) { if((null!=stockPosition) && (!stockPosition.trim().equals(""))) {
stock.setPositionName(stockPosition + "," +inAndOutLogPosition); stock.setPositionName(stockPosition + "," +inAndOutLogPosition);
}else{ }else{
stock.setPositionName(inAndOutLogPosition); stock.setPositionName(inAndOutLogPosition);
@ -90,7 +93,7 @@ public class MaterialsOutgoingLogServiceImpl extends AbstractService<MaterialsOu
} }
@Override @Override
public void deleteByOutgoingIds(List<Integer> ids) { public void deleteByOutgoingIds(HashMap outgoingParam) {
materialsOutgoingLogMapper.deleteByOutgoingIds(ids); materialsOutgoingLogMapper.deleteByOutgoingIds(outgoingParam);
} }
} }

View File

@ -42,12 +42,6 @@ public class MaterialsInfoController {
@Autowired @Autowired
private MaterialsInfoService materialsInfoService; private MaterialsInfoService materialsInfoService;
@Autowired
private MaterialsStockInfoService materialsStockInfoService;
@Autowired
private MaterialsOutgoingLogService materialsOutgoingLogService;
/** /**
* hy正在用 * hy正在用
* 新增物料信息 * 新增物料信息
@ -94,7 +88,7 @@ public class MaterialsInfoController {
// return ResultGenerator.genFailResult(CommonCode.SERVICE_ERROR,"未登录错误",null ); // return ResultGenerator.genFailResult(CommonCode.SERVICE_ERROR,"未登录错误",null );
//} //}
materialsInfoService.deleteRelevantById(materialsId); materialsInfoService.deleteRelevantById(materialsId, currentUser);
return ResultGenerator.genSuccessResult(); return ResultGenerator.genSuccessResult();
} }

View File

@ -35,10 +35,6 @@ public class MaterialsOutgoingLogController {
@Autowired @Autowired
private MaterialsOutgoingLogService materialsOutgoingLogService; private MaterialsOutgoingLogService materialsOutgoingLogService;
@Autowired
private MaterialsStockInfoService materialsStockInfoService;
/** /**
* hy正在用 * hy正在用
* 出入库操作添加一条出入库记录同时更新对应的库存信息 * 出入库操作添加一条出入库记录同时更新对应的库存信息