feat 到货单
This commit is contained in:
parent
b25d9de042
commit
ebb5579b3a
@ -1,11 +1,12 @@
|
||||
package com.cim.idm.constants;
|
||||
package com.cim.idm.constants.delivery;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum DeliveryStateEnums {
|
||||
CREATE("01", "新建"),
|
||||
FINISH("02", "结束");
|
||||
DOING("02", "进行中"),
|
||||
FINISH("03", "结束");
|
||||
|
||||
private final String code;
|
||||
private final String info;
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.constants;
|
||||
package com.cim.idm.constants.delivery;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.constants;
|
||||
package com.cim.idm.constants.delivery;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.constants;
|
||||
package com.cim.idm.constants.receive;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,4 +1,4 @@
|
||||
package com.cim.idm.constants;
|
||||
package com.cim.idm.constants.receive;
|
||||
|
||||
import lombok.Getter;
|
||||
|
@ -1,6 +1,9 @@
|
||||
package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.delivery.DeliveryStateEnums;
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDelDto;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDto;
|
||||
import com.cim.idm.model.dto.delivery.StoreDetailDto;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
@ -35,7 +38,10 @@ public class DeliveryController {
|
||||
*/
|
||||
@PostMapping(value = "/create")
|
||||
public AjaxResult createDelivery(@RequestBody DeliveryDto dto) {
|
||||
return AjaxResult.me().setSuccess(true).setMessage(deliveryService.createDelivery(dto));
|
||||
if (deliveryService.createDelivery(dto) > 0) {
|
||||
return AjaxResult.me().setSuccess(true).setMessage("创建成功");
|
||||
}
|
||||
return AjaxResult.me().setErrorCode(-1).setMessage("创建失败");
|
||||
}
|
||||
|
||||
/**
|
||||
@ -76,7 +82,7 @@ public class DeliveryController {
|
||||
}
|
||||
// 异常
|
||||
if (nameList.isEmpty()) {
|
||||
return AjaxResult.me().setSuccess(false).setMessage("不存在该单据");
|
||||
throw new GlobalException("不存在该单据");
|
||||
}
|
||||
// 获取采购单明细及批次
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(
|
||||
@ -89,7 +95,36 @@ public class DeliveryController {
|
||||
@PostMapping(value = "/getReceiveDetail")
|
||||
public AjaxResult getReceiveDetail(@RequestBody JSONObject in) {
|
||||
List<String> nameList = (List<String>) in.get("nameList");
|
||||
// 获取采购订单详情
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getReceiveDetail(nameList));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取到货单
|
||||
*/
|
||||
@PostMapping(value = "/getDeliveryList")
|
||||
public AjaxResult getDeliveryList(@RequestBody PageDto in) {
|
||||
return AjaxResult.me().setSuccess(true).setResultObj(deliveryService.getDeliveryList(in));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除到货单
|
||||
*/
|
||||
@PostMapping(value = "/delDelivery")
|
||||
public AjaxResult delDelivery(@RequestBody DeliveryDelDto deliveryDelDto) {
|
||||
StoreDetailDto storeDetailDto = new StoreDetailDto();
|
||||
storeDetailDto.setDocumentName(deliveryDelDto.getDeliveryName());
|
||||
storeDetailDto.setSiteName(deliveryDelDto.getSiteName());
|
||||
// 校验
|
||||
MaterialDelivery byKey = deliveryService.getByKey(storeDetailDto);
|
||||
if (Objects.isNull(byKey)) {
|
||||
throw new GlobalException("不存在到货单");
|
||||
}
|
||||
if (!byKey.getDeliveryState().equals(DeliveryStateEnums.CREATE.getCode())) {
|
||||
throw new GlobalException("到货单进行中或已结束,不允许删除");
|
||||
}
|
||||
if (deliveryService.delDelivery(deliveryDelDto) > 0) {
|
||||
return AjaxResult.me().setSuccess(true).setResultObj("删除成功");
|
||||
}
|
||||
return AjaxResult.me().setErrorCode(-1).setMessage("删除失败");
|
||||
}
|
||||
}
|
||||
|
@ -2,7 +2,6 @@ package com.cim.idm.controller;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.framework.IDMFrameServiceProxy;
|
||||
import com.cim.idm.framework.data.EventInfo;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
@ -31,7 +30,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.cim.idm.service.Impl.SDKMaterialPackingServiceImpl;
|
||||
|
||||
@ -179,14 +177,14 @@ public class MaterialReceiveActController {
|
||||
// 单据
|
||||
String receiveRequestName = boxs.getReceiveRequestName();
|
||||
// 判断是否是倒库单据
|
||||
MaterialReceiveRequest byKey = deliveryService.getByKey(boxs.getSiteName(), boxs.getReceiveRequestName());
|
||||
/*MaterialReceiveRequest byKey = deliveryService.getByKey(boxs.getSiteName(), boxs.getReceiveRequestName());
|
||||
if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
// 检索该到库订单下该物料的采购订单的 name
|
||||
List<MaterialReceiveRequest> collect = deliveryService.getReceiveByDelivery(boxs.getSiteName(), boxs.getReceiveRequestName())
|
||||
.stream().filter(item -> item.getMaterialSpecName().equals(materialSpecName)).collect(Collectors.toList());
|
||||
// 检查剩余数量
|
||||
// @TODO
|
||||
}
|
||||
}*/
|
||||
String remark = box.getRemark();
|
||||
String sdkid = box.getSdkid() == null ? "" : box.getSdkid();
|
||||
String shipRequestDetailName = box.getShipRequestDetailName();
|
||||
@ -545,14 +543,14 @@ public class MaterialReceiveActController {
|
||||
String site = trackOutBoDto.getSiteName();
|
||||
// 采购单
|
||||
List<MaterialReceiveRequest> requests = new ArrayList<>();
|
||||
// 判定单据类型
|
||||
MaterialReceiveRequest byKey = deliveryService.getByKey(site, name);
|
||||
// @TODO 判定单据类型
|
||||
/*MaterialReceiveRequest byKey = deliveryService.getByKey(site, name);
|
||||
if (byKey.getReceiveRequestType().equals(ReceiveTypeEnums.DK.getCode())) {
|
||||
// 到货单
|
||||
requests = deliveryService.getReceiveByDelivery(site, name);
|
||||
} else {
|
||||
requests.add(byKey);
|
||||
}
|
||||
}*/
|
||||
// 采购单处理
|
||||
for (MaterialReceiveRequest request : requests) {
|
||||
String receiveRequestName = request.getReceiveRequestName();
|
||||
|
@ -1,8 +1,6 @@
|
||||
package com.cim.idm.dao;
|
||||
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDto;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryRelationDto;
|
||||
import com.cim.idm.model.dto.delivery.StoreDetailDto;
|
||||
import com.cim.idm.model.dto.delivery.*;
|
||||
import com.cim.idm.model.po.delivery.MaterialDelivery;
|
||||
import com.cim.idm.model.po.delivery.MaterialDeliveryReceive;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
@ -74,4 +72,25 @@ public interface DeliveryDao {
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<DeliveryReceiveDetailVo> getReceiveDetail(@Param("nameList") List<String> nameList);
|
||||
|
||||
/**
|
||||
* 获取到货单
|
||||
* @param dto 请求
|
||||
* @return 采购订单
|
||||
*/
|
||||
List<MaterialDelivery> getDeliveryList(@Param("dto") DeliveryListDto dto);
|
||||
|
||||
/**
|
||||
* 删除到货单
|
||||
* @param deliveryDelDto 请求
|
||||
* @return 结果
|
||||
*/
|
||||
int delDelivery(@Param("dto") DeliveryDelDto deliveryDelDto);
|
||||
|
||||
/**
|
||||
* 删除到货单关系
|
||||
* @param deliveryDelDto 请求
|
||||
* @return 结果
|
||||
*/
|
||||
int delDeliveryRel(@Param("dto") DeliveryDelDto deliveryDelDto);
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ import org.springframework.web.bind.annotation.ControllerAdvice;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
|
||||
@ControllerAdvice("com.zxy.idm.controller")
|
||||
@ControllerAdvice(basePackages = {"com.zxy.idm.controller", "com.cim.idm.controller"})
|
||||
public class AllExceptionHandler {
|
||||
|
||||
@ResponseBody
|
||||
|
@ -0,0 +1,12 @@
|
||||
package com.cim.idm.model.dto.delivery;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeliveryDelDto {
|
||||
// siteName
|
||||
private String siteName;
|
||||
|
||||
// 到货单名称
|
||||
private String deliveryName;
|
||||
}
|
@ -1,6 +1,5 @@
|
||||
package com.cim.idm.model.dto.delivery;
|
||||
|
||||
import com.cim.idm.wmspackage.invoice.management.data.MaterialReceiveRequestKey;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -0,0 +1,19 @@
|
||||
package com.cim.idm.model.dto.delivery;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class DeliveryListDto {
|
||||
|
||||
// 工厂
|
||||
private String siteName;
|
||||
|
||||
// 到货单名称
|
||||
private String deliveryName;
|
||||
|
||||
// 到货单类型
|
||||
private String deliveryType;
|
||||
|
||||
// 到货单状态
|
||||
private String deliveryState;
|
||||
}
|
@ -1,5 +1,6 @@
|
||||
package com.cim.idm.service;
|
||||
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDelDto;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDto;
|
||||
import com.cim.idm.model.dto.delivery.StoreDetailDto;
|
||||
import com.cim.idm.model.po.delivery.MaterialDelivery;
|
||||
@ -19,7 +20,7 @@ public interface IDeliveryService {
|
||||
* @param dto 请求
|
||||
* @return 到货单
|
||||
*/
|
||||
String createDelivery(DeliveryDto dto);
|
||||
int createDelivery(DeliveryDto dto);
|
||||
|
||||
/**
|
||||
* 获取采购订单
|
||||
@ -64,4 +65,18 @@ public interface IDeliveryService {
|
||||
* @return 采购单名称列表
|
||||
*/
|
||||
List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList);
|
||||
|
||||
/**
|
||||
* 获取到货单
|
||||
* @param dto 请求
|
||||
* @return 采购订单
|
||||
*/
|
||||
PageInfo<MaterialDelivery> getDeliveryList(PageDto dto);
|
||||
|
||||
/**
|
||||
* 删除到货单
|
||||
* @param deliveryDelDto 请求
|
||||
* @return 结果
|
||||
*/
|
||||
int delDelivery(DeliveryDelDto deliveryDelDto);
|
||||
}
|
||||
|
@ -1,14 +1,13 @@
|
||||
package com.cim.idm.service.Impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.cim.idm.constants.DeliveryStateEnums;
|
||||
import com.cim.idm.constants.ReceiveTypeEnums;
|
||||
import com.cim.idm.constants.delivery.DeliveryStateEnums;
|
||||
import com.cim.idm.constants.receive.ReceiveTypeEnums;
|
||||
import com.cim.idm.dao.DeliveryDao;
|
||||
import com.cim.idm.exception.GlobalException;
|
||||
import com.cim.idm.model.dto.PageDto;
|
||||
import com.cim.idm.model.dto.PurchaseDto;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryDto;
|
||||
import com.cim.idm.model.dto.delivery.DeliveryRelationDto;
|
||||
import com.cim.idm.model.dto.delivery.StoreDetailDto;
|
||||
import com.cim.idm.model.dto.delivery.*;
|
||||
import com.cim.idm.model.po.delivery.MaterialDelivery;
|
||||
import com.cim.idm.model.po.delivery.MaterialDeliveryReceive;
|
||||
import com.cim.idm.model.po.MaterialReceiveRequest;
|
||||
@ -32,11 +31,7 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public String createDelivery(DeliveryDto dto) {
|
||||
// 添加到库单
|
||||
if (deliveryDao.createDelivery(dto, DeliveryStateEnums.CREATE.getCode()) <= 0) {
|
||||
return "添加到库单失败";
|
||||
}
|
||||
public int createDelivery(DeliveryDto dto) {
|
||||
// 添加到库单关系
|
||||
List<DeliveryRelationDto> res = new ArrayList<>();
|
||||
for (DeliveryRelationDto item : dto.getReceiveList()) {
|
||||
@ -47,10 +42,14 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
res.add(item);
|
||||
}
|
||||
}
|
||||
if (deliveryDao.createRelation(res) <= 0) {
|
||||
return "添加到库单关系失败";
|
||||
if (res.isEmpty()) {
|
||||
throw new GlobalException("无可用的物料");
|
||||
}
|
||||
return "更新成功";
|
||||
if (deliveryDao.createRelation(res) <= 0) {
|
||||
throw new GlobalException("添加到库单关系失败");
|
||||
}
|
||||
// 添加到库单
|
||||
return deliveryDao.createDelivery(dto, DeliveryStateEnums.CREATE.getCode());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -91,4 +90,22 @@ public class DeliveryServiceImpl implements IDeliveryService {
|
||||
public List<DeliveryReceiveDetailVo> getReceiveDetail(List<String> nameList) {
|
||||
return deliveryDao.getReceiveDetail(nameList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<MaterialDelivery> getDeliveryList(PageDto dto) {
|
||||
PageMethod.startPage(dto.getPageNum(), dto.getPageSize());
|
||||
DeliveryListDto deliveryListDto = JSON.toJavaObject(dto.getParams(), DeliveryListDto.class);
|
||||
return new PageInfo<>(deliveryDao.getDeliveryList(deliveryListDto));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional
|
||||
public int delDelivery(DeliveryDelDto deliveryDelDto) {
|
||||
// 移除到货单关系
|
||||
if (deliveryDao.delDeliveryRel(deliveryDelDto) <= 0) {
|
||||
throw new GlobalException("删除到货单关系失败");
|
||||
}
|
||||
// 移除到货单
|
||||
return deliveryDao.delDelivery(deliveryDelDto);
|
||||
}
|
||||
}
|
||||
|
@ -225,4 +225,31 @@
|
||||
</foreach>
|
||||
order by RECEIVEREQUESTNAME
|
||||
</select>
|
||||
|
||||
<select id="getDeliveryList" resultType="com.cim.idm.model.po.delivery.MaterialDelivery">
|
||||
SELECT SITENAME, DELIVERYNAME, DELIVERYTYPE, DELIVERYSTATE
|
||||
FROM MATERIALDELIVERY
|
||||
WHERE SITENAME = #{dto.siteName}
|
||||
<if test="dto.deliveryName != null and dto.deliveryName != ''">
|
||||
AND DELIVERYNAME LIKE '%'||#{dto.deliveryName}||'%'
|
||||
</if>
|
||||
<if test="dto.deliveryType != null and dto.deliveryType != ''">
|
||||
AND DELIVERYTYPE = #{dto.deliveryType}
|
||||
</if>
|
||||
<if test="dto.deliveryState != null and dto.deliveryState != ''">
|
||||
AND DELIVERYSTATE = #{dto.deliveryState}
|
||||
</if>
|
||||
order by DELIVERYNAME
|
||||
</select>
|
||||
|
||||
<delete id="delDelivery">
|
||||
delete from MATERIALDELIVERY
|
||||
where SITENAME = #{dto.siteName}
|
||||
and DELIVERYNAME = #{dto.deliveryName}
|
||||
</delete>
|
||||
|
||||
<delete id="delDeliveryRel">
|
||||
delete from MATERIALDELIVERYRECEIVE
|
||||
where DELIVERYNAME = #{dto.deliveryName}
|
||||
</delete>
|
||||
</mapper>
|
Loading…
x
Reference in New Issue
Block a user