出库单出库
This commit is contained in:
parent
bcdd994fcb
commit
b357f62209
|
|
@ -132,6 +132,9 @@ public class AppPmsController extends BaseController {
|
|||
appPmsOrderOut.setOrderStatus(0);
|
||||
appPmsOrderOut.setCreateTime(new Date());
|
||||
appPmsOrderOut.setUpdateTime(new Date());
|
||||
appPmsOrderOut.setShelvesNum(BigDecimal.valueOf(orderOutRequest.getGoodsNum()));
|
||||
appPmsOrderOut.setPickNum(BigDecimal.ZERO);
|
||||
appPmsOrderOut.setTrNum(BigDecimal.ZERO);
|
||||
appPmsOrderOut.setCreateBy("PMS出库接口");
|
||||
insertRow += appPmsOrderOutService.insertAppPmsOrderOut(appPmsOrderOut);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,13 +97,13 @@ public class AppPmsOrderOutController extends BaseController
|
|||
}
|
||||
|
||||
/**
|
||||
* 删除【请填写功能名称】
|
||||
* 删除出库单
|
||||
*/
|
||||
@PreAuthorize("@ss.hasPermi('system:out:remove')")
|
||||
@Log(title = "【请填写功能名称】", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{listIds}")
|
||||
public AjaxResult remove(@PathVariable String[] listIds)
|
||||
@PreAuthorize("@ss.hasPermi('app:pmsOrderOut:remove')")
|
||||
@Log(title = "出库单", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{recordIds}")
|
||||
public AjaxResult remove(@PathVariable String[] recordIds)
|
||||
{
|
||||
return toAjax(appPmsOrderOutService.deleteAppPmsOrderOutByListIds(listIds));
|
||||
return toAjax(appPmsOrderOutService.deleteAppPmsOrderOutByRecordIds(recordIds));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -552,21 +552,21 @@ public class AppTaskController extends BaseController
|
|||
BigDecimal shelvesNum = appPmsOrderOut.getShelvesNum();
|
||||
BigDecimal total = BigDecimal.ZERO;
|
||||
for(AppStock appStock : appStocks){
|
||||
total = total.add(appStock.getOriginNum());
|
||||
total = total.add(appStock.getRemainNum());
|
||||
if(appPmsOrderOut.getPickNum() == null){
|
||||
appPmsOrderOut.setPickNum(BigDecimal.ZERO);
|
||||
}
|
||||
if(shelvesNum.compareTo(total) == 0){
|
||||
ctlMap.put(appStock.getVehicleId(),appStock.getOriginNum());
|
||||
appPmsOrderOut.setPickNum(appPmsOrderOut.getPickNum().add(appStock.getOriginNum()));
|
||||
ctlMap.put(appStock.getVehicleId(),appStock.getRemainNum());
|
||||
appPmsOrderOut.setPickNum(appPmsOrderOut.getPickNum().add(appStock.getRemainNum()));
|
||||
break;
|
||||
}else if(shelvesNum.compareTo(total) > 0){
|
||||
ctlMap.put(appStock.getVehicleId(),appStock.getOriginNum());
|
||||
appPmsOrderOut.setPickNum(appPmsOrderOut.getPickNum().add(appStock.getOriginNum()));
|
||||
ctlMap.put(appStock.getVehicleId(),appStock.getRemainNum());
|
||||
appPmsOrderOut.setPickNum(appPmsOrderOut.getPickNum().add(appStock.getRemainNum()));
|
||||
}else{
|
||||
//小于0
|
||||
BigDecimal subtract = total.subtract(shelvesNum);
|
||||
BigDecimal subtract1 = appStock.getOriginNum().subtract(subtract);
|
||||
BigDecimal subtract1 = appStock.getRemainNum().subtract(subtract);
|
||||
ctlMap.put(appStock.getVehicleId(),subtract1);
|
||||
appPmsOrderOut.setPickNum(appPmsOrderOut.getPickNum().add(subtract1));
|
||||
break;
|
||||
|
|
@ -797,8 +797,8 @@ public class AppTaskController extends BaseController
|
|||
BigDecimal totalNum = BigDecimal.ZERO;
|
||||
for (AppStock tMiStock1 : appStocks) {
|
||||
if (tMiStock1.getGoodsId().equals(key)) {
|
||||
BigDecimal availableStock = tMiStock1.getOriginNum(); // 当前库存数量
|
||||
totalNum = totalNum.add(tMiStock1.getOriginNum());
|
||||
BigDecimal availableStock = tMiStock1.getRemainNum(); // 当前库存数量
|
||||
totalNum = totalNum.add(tMiStock1.getRemainNum());
|
||||
// 判断是否达到或者超过所需出库数量
|
||||
if (totalNum.compareTo(requiredNum) >= 0) {
|
||||
// 如果累加的数量已经达到或超过所需数量
|
||||
|
|
@ -815,7 +815,7 @@ public class AppTaskController extends BaseController
|
|||
boolean isExist = false;
|
||||
for (AppStock tMiStock1 : appStocks) {
|
||||
if(tMiStock1.getPackingNum() != null) {
|
||||
if (tMiStock1.getOriginNum().compareTo(tMiStock1.getPackingNum()) > 0) {
|
||||
if (tMiStock1.getRemainNum().compareTo(tMiStock1.getPackingNum()) > 0) {
|
||||
isExist = true;
|
||||
break;
|
||||
}
|
||||
|
|
@ -854,14 +854,15 @@ public class AppTaskController extends BaseController
|
|||
appTask.setOrigin(tMiStock1.getLocationId());
|
||||
appTask.setLocationId(tMiStock1.getLocationId());
|
||||
appTask.setOpNum(tMiStock1.getPackingNum());
|
||||
appTask.setStockNum(tMiStock1.getOriginNum());
|
||||
appTask.setStockNum(tMiStock1.getRemainNum());
|
||||
appTask.setCkType(tMiStock1.getCkType());
|
||||
|
||||
appTask.setTaskPriority(1);
|
||||
appTaskService.insertAppTask(appTask);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 请求出库
|
||||
* @param outRequest 出库请求
|
||||
|
|
|
|||
|
|
@ -44,22 +44,21 @@ public interface AppPmsOrderOutMapper
|
|||
*/
|
||||
public int updateAppPmsOrderOut(AppPmsOrderOut appPmsOrderOut);
|
||||
|
||||
public int deleteAppPmsOrderOutByOrderId(AppPmsOrderOut appPmsOrderOut);
|
||||
/**
|
||||
* 删除【请填写功能名称】
|
||||
* 删除出库单
|
||||
*
|
||||
* @param recordId 【请填写功能名称】主键
|
||||
* @param recordId 出库单主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAppPmsOrderOutByListId(String recordId);
|
||||
public int deleteAppPmsOrderOutByRecordId(String recordId);
|
||||
|
||||
/**
|
||||
* 批量删除【请填写功能名称】
|
||||
* 批量删除出库单
|
||||
*
|
||||
* @param recordIds 需要删除的数据主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAppPmsOrderOutByListIds(String[] recordIds);
|
||||
public int deleteAppPmsOrderOutByOrderId(AppPmsOrderOut appPmsOrderOut);
|
||||
|
||||
public int deleteAppPmsOrderOutByRecordIds(String[] recordIds);
|
||||
int updatePickNum(AppPmsOrderOut appPmsOrderOut);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,4 +67,11 @@ public interface AppVehicleMapper
|
|||
* @return 结果
|
||||
*/
|
||||
public List<AppVehicleInfo> selectVehicleList();
|
||||
|
||||
/**
|
||||
* 根据容器编码查询容器
|
||||
* @param vehicleCode
|
||||
* @return
|
||||
*/
|
||||
AppVehicle selectAppVehicleByVehicleCode(String vehicleCode);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,20 +45,20 @@ public interface IAppPmsOrderOutService
|
|||
public int updateAppPmsOrderOut(AppPmsOrderOut appPmsOrderOut);
|
||||
|
||||
/**
|
||||
* 批量删除【请填写功能名称】
|
||||
* 批量删除出库单
|
||||
*
|
||||
* @param listIds 需要删除的【请填写功能名称】主键集合
|
||||
* @param recordIds 需要删除的出库单主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAppPmsOrderOutByListIds(String[] listIds);
|
||||
public int deleteAppPmsOrderOutByRecordIds(String[] recordIds);
|
||||
|
||||
/**
|
||||
* 删除【请填写功能名称】信息
|
||||
* 删除出库单信息
|
||||
*
|
||||
* @param listId 【请填写功能名称】主键
|
||||
* @param recordId 出库单主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteAppPmsOrderOutByListId(String listId);
|
||||
public int deleteAppPmsOrderOutByRecordId(String recordId);
|
||||
|
||||
int updatePickNum(AppPmsOrderOut appPmsOrderOut);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ import java.util.List;
|
|||
* @author ruoyi
|
||||
* @date 2025-01-15
|
||||
*/
|
||||
public interface IAppVehicleService
|
||||
{
|
||||
public interface IAppVehicleService {
|
||||
/**
|
||||
* 查询【请填写功能名称】
|
||||
*
|
||||
|
|
@ -65,4 +64,13 @@ public interface IAppVehicleService
|
|||
* 获取状态为在库中的所有可用的载具
|
||||
*/
|
||||
public List<AppAvailVehicle> selectAppAvailVehicleList();
|
||||
|
||||
/**
|
||||
* 容器凹入
|
||||
*
|
||||
* @param vehicleList
|
||||
* @param updateSupport
|
||||
* @return
|
||||
*/
|
||||
String importVehicle(List<AppVehicle> vehicleList, boolean updateSupport);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,29 +69,31 @@ public class AppPmsOrderOutServiceImpl implements IAppPmsOrderOutService
|
|||
}
|
||||
|
||||
/**
|
||||
* 批量删除【请填写功能名称】
|
||||
* 批量删除出库单
|
||||
*
|
||||
* @param listIds 需要删除的【请填写功能名称】主键
|
||||
* @param recordIds 需要删除的出库单主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteAppPmsOrderOutByListIds(String[] listIds)
|
||||
public int deleteAppPmsOrderOutByRecordIds(String[] recordIds)
|
||||
{
|
||||
return appPmsOrderOutMapper.deleteAppPmsOrderOutByListIds(listIds);
|
||||
return appPmsOrderOutMapper.deleteAppPmsOrderOutByRecordIds(recordIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除【请填写功能名称】信息
|
||||
* 删除出库单信息
|
||||
*
|
||||
* @param listId 【请填写功能名称】主键
|
||||
* @param recordId 出库单主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteAppPmsOrderOutByListId(String listId)
|
||||
public int deleteAppPmsOrderOutByRecordId(String recordId)
|
||||
{
|
||||
return appPmsOrderOutMapper.deleteAppPmsOrderOutByListId(listId);
|
||||
return appPmsOrderOutMapper.deleteAppPmsOrderOutByRecordId(recordId);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public int updatePickNum(AppPmsOrderOut appPmsOrderOut) {
|
||||
return appPmsOrderOutMapper.updatePickNum(appPmsOrderOut);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,13 @@ import com.ruoyi.app.domain.DAO.AppVehicleInfo;
|
|||
import com.ruoyi.app.domain.DTO.AppAvailVehicle;
|
||||
import com.ruoyi.app.mapper.AppVehicleMapper;
|
||||
import com.ruoyi.app.service.IAppVehicleService;
|
||||
import com.ruoyi.common.core.domain.entity.SysUser;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.SecurityUtils;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.bean.BeanValidators;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
|
|
@ -19,8 +25,8 @@ import org.springframework.stereotype.Service;
|
|||
* @date 2025-01-15
|
||||
*/
|
||||
@Service
|
||||
public class AppVehicleServiceImpl implements IAppVehicleService
|
||||
{
|
||||
public class AppVehicleServiceImpl implements IAppVehicleService {
|
||||
private static final Logger log = LoggerFactory.getLogger(AppVehicleServiceImpl.class);
|
||||
@Autowired
|
||||
private AppVehicleMapper appVehicleMapper;
|
||||
|
||||
|
|
@ -31,8 +37,7 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 【请填写功能名称】
|
||||
*/
|
||||
@Override
|
||||
public AppVehicle selectAppVehicleByVehicleId(String vehicleId)
|
||||
{
|
||||
public AppVehicle selectAppVehicleByVehicleId(String vehicleId) {
|
||||
return appVehicleMapper.selectAppVehicleByVehicleId(vehicleId);
|
||||
}
|
||||
|
||||
|
|
@ -43,8 +48,7 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 【请填写功能名称】
|
||||
*/
|
||||
@Override
|
||||
public List<AppVehicle> selectAppVehicleList(AppVehicle appVehicle)
|
||||
{
|
||||
public List<AppVehicle> selectAppVehicleList(AppVehicle appVehicle) {
|
||||
return appVehicleMapper.selectAppVehicleList(appVehicle);
|
||||
}
|
||||
|
||||
|
|
@ -55,8 +59,7 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int insertAppVehicle(AppVehicle appVehicle)
|
||||
{
|
||||
public int insertAppVehicle(AppVehicle appVehicle) {
|
||||
return appVehicleMapper.insertAppVehicle(appVehicle);
|
||||
}
|
||||
|
||||
|
|
@ -67,8 +70,7 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateAppVehicle(AppVehicle appVehicle)
|
||||
{
|
||||
public int updateAppVehicle(AppVehicle appVehicle) {
|
||||
return appVehicleMapper.updateAppVehicle(appVehicle);
|
||||
}
|
||||
|
||||
|
|
@ -79,8 +81,7 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteAppVehicleByVehicleIds(String[] vehicleIds)
|
||||
{
|
||||
public int deleteAppVehicleByVehicleIds(String[] vehicleIds) {
|
||||
return appVehicleMapper.deleteAppVehicleByVehicleIds(vehicleIds);
|
||||
}
|
||||
|
||||
|
|
@ -91,13 +92,13 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int deleteAppVehicleByVehicleId(String vehicleId)
|
||||
{
|
||||
public int deleteAppVehicleByVehicleId(String vehicleId) {
|
||||
return appVehicleMapper.deleteAppVehicleByVehicleId(vehicleId);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取状态为在库中的所有可用的载具
|
||||
*
|
||||
* @return 结果
|
||||
*/
|
||||
public List<AppAvailVehicle> selectAppAvailVehicleList() {
|
||||
|
|
@ -118,4 +119,45 @@ public class AppVehicleServiceImpl implements IAppVehicleService
|
|||
}
|
||||
return response;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String importVehicle(List<AppVehicle> vehicleList, boolean isUpdateSupport) {
|
||||
if (StringUtils.isNull(vehicleList) || vehicleList.size() == 0) {
|
||||
throw new ServiceException("导入容器数据不能为空!");
|
||||
}
|
||||
int successNum = 0;
|
||||
int failureNum = 0;
|
||||
StringBuilder successMsg = new StringBuilder();
|
||||
StringBuilder failureMsg = new StringBuilder();
|
||||
for (AppVehicle appVehicle : vehicleList) {
|
||||
try {
|
||||
// 验证是否存在这个容器编码
|
||||
AppVehicle u = appVehicleMapper.selectAppVehicleByVehicleCode(appVehicle.getVehicleCode());
|
||||
if (StringUtils.isNull(u)) {
|
||||
appVehicleMapper.insertAppVehicle(appVehicle);
|
||||
successNum++;
|
||||
successMsg.append("<br/>" + successNum + "、账号 " + appVehicle.getVehicleCode() + " 导入成功");
|
||||
} else if (isUpdateSupport) {
|
||||
appVehicleMapper.updateAppVehicle(appVehicle);
|
||||
successNum++;
|
||||
successMsg.append("<br/>" + successNum + "、账号 " + appVehicle.getVehicleCode() + " 更新成功");
|
||||
} else {
|
||||
failureNum++;
|
||||
failureMsg.append("<br/>" + failureNum + "、容器 " + appVehicle.getVehicleCode() + " 已存在");
|
||||
}
|
||||
} catch (Exception e) {
|
||||
failureNum++;
|
||||
String msg = "<br/>" + failureNum + "、容器 " + appVehicle.getVehicleCode() + " 导入失败:";
|
||||
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 successMsg.toString();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -115,16 +115,18 @@
|
|||
where record_id = #{recordId}
|
||||
</update>
|
||||
|
||||
<delete id="deleteAppPmsOrderOutByListId" parameterType="String">
|
||||
delete from app_pms_order_out where record_id = #{recordId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteAppPmsOrderOutByOrderId" parameterType="AppPmsOrderOut">
|
||||
delete from app_pms_order_out where order_id = #{orderId}
|
||||
|
||||
</delete>
|
||||
<delete id="deleteAppPmsOrderOutByListIds" parameterType="String">
|
||||
<delete id="deleteAppPmsOrderOutByRecordId" parameterType="String">
|
||||
delete from app_pms_order_out where record_id = #{recordId}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteAppPmsOrderOutByRecordIds" parameterType="String">
|
||||
delete from app_pms_order_out where record_id in
|
||||
<foreach item="record_id" collection="array" open="(" separator="," close=")">
|
||||
<foreach item="recordId" collection="array" open="(" separator="," close=")">
|
||||
#{recordId}
|
||||
</foreach>
|
||||
</delete>
|
||||
|
|
|
|||
|
|
@ -107,4 +107,9 @@
|
|||
<select id="selectVehicleList" resultMap="AppVehicleInfoResult">
|
||||
select vehicle_id,vehicle_code, vehicle_status, is_empty, is_lock, location_id from app_vehicle
|
||||
</select>
|
||||
|
||||
<select id="selectAppVehicleByVehicleCode" parameterType="String" resultMap="AppVehicleResult">
|
||||
<include refid="selectAppVehicleVo"/>
|
||||
where vehicle_code = #{vehicleCode}
|
||||
</select>
|
||||
</mapper>
|
||||
Loading…
Reference in New Issue
Block a user