10/28 剔除码1.0

panjc_field_management
wangwei 8 months ago
parent a1b5b58845
commit 4d04834a69

@ -487,7 +487,7 @@ public class IoCollectOrderController extends BaseController {
// }
@PostMapping("/udiwms/basic/collect/decideOrder")
public BaseResponse decideOrder(@RequestBody CollectOrderRequest request) {
Boolean isExis = collectOrderService.decideOrder(request);
Boolean isExis = collectOrderService.decideOrder(request,getUserId());
if (!isExis) {
return ResultVOUtils.error("当前工位存在正在处理单据!");
}

@ -868,15 +868,22 @@ public class IoCodeTempController extends BaseController {
if (codeTempEntity1 != null) {
return ResultVOUtils.error(533, "扫码重复或当前追溯码已存在草稿单据中!");
}
}
} else {
//校验工位库存
// List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
// for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
// //校验工位库存
// if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()){
// return ResultVOUtils.error(500, "当前码库存不足!");
// }
// }
List<IoCodeTempEntity> codeTempEntities = codeTempService.findByOrderId(addOrderRequest.getBillNo());
for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
//校验工位库存
if (bussinessTypeEntity.isUse()) {
codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getUseActCount(udiRelevanceResponse));
} else {
codeTempEntity.setReCount(IntUtil.value(codeTempEntity.getMyReCount()) + udiCalCountUtil.getCirActCount(udiRelevanceResponse));
}
if (fifoCodeEntity.getTotalCount() < codeTempEntity.getReCount()) {
return ResultVOUtils.error(500, "当前码库存不足!");
}
}
}
}
//校验预验收是否已存在
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
@ -2070,7 +2077,6 @@ public class IoCodeTempController extends BaseController {
@GetMapping("warehouse/inout/deleteCodesTempById")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) {
IoCodeTempEntity codeTempEntity = codeTempService.selectById(id);
if (codeTempEntity == null) {
return ResultVOUtils.error(506, "UDI码异常未录入");
@ -2828,5 +2834,75 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.success(addCodeResult);
}
@AuthRuleAnnotation("")
@PostMapping("warehouse/inout/deleteCodesTempBycodes")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse deleteCodesTempByCodes(@RequestBody AddEnterCodeRequest addEnterCodeRequest) {
List<String> codeList = addEnterCodeRequest.getCodeList();
String orderId = addEnterCodeRequest.getOrderId();
IoOrderEntity order = orderService.findByBillNo(orderId);
if (order == null)
return ResultVOUtils.error(500, "单据不存在");
if (CollUtil.isEmpty(codeList))
return ResultVOUtils.error(500, "追溯码不能为空");
//器械的码 可能会是一样的
List<IoCodeTempEntity> ioCodeTempEntities = codeTempService.selectByCodes(codeList,orderId);
if (CollUtil.isEmpty(ioCodeTempEntities))
return ResultVOUtils.error(500, "当前追溯码不存在");
for (IoCodeTempEntity codeTempEntity : ioCodeTempEntities) {
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
UdiRelevanceResponse udiRelevanceResponses = udiRelevanceService.selectByNameCode(codeTempEntity.getNameCode());
if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
if (bussinessTypeEntity.isUse()) {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
} else {
codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
}
codeTempService.updateById(codeTempEntity);
} else {
codeTempService.deleteById(codeTempEntity.getId());
}
//更新扫码详情
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo(), codeTempEntity.getPrice());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = IntUtil.value(orderDetailCodeEntity.getCount());
int orderReCount = IntUtil.value(orderDetailCodeEntity.getReCount());
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - 1);
if (bussinessTypeEntity.isUse()) {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getUseActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getUseActCount(udiRelevanceResponses);
} else {
orderDetailCodeEntity.setReCount(orderReCount - udiCalCountUtil.getCirActCount(udiRelevanceResponses));
// codeTempEntity.setReCount(codeTempEntity.getMyReCount() - udiCalCountUtil.getCirActCount(udiRelevanceResponses);
}
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) {
if (StrUtil.isNotEmpty(orderDetailCodeEntity.getOrderIdFk()))
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
}
orderEntity.setUpdateUser(getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
}
return ResultVOUtils.success("删除成功!");
}
}

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.req.auth.SysWorkplaceRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.basic.SysWorkplaceResponse;
import org.apache.ibatis.annotations.Param;
@ -24,4 +25,6 @@ public interface SysWorkplaceDao extends BaseMapper<SysWorkplace> {
List<SysWorkplaceResponse> getAllByBusType(String busTypeCode);
List<SysWorkplaceResponse> getListByBusType(@Param("request") SysWorkplaceRequest request);
SysWorkplace getWorkplaceByUser(@Param("request") CollectOrderRequest request,@Param("userId") Long userId);
}

@ -12,4 +12,5 @@ public class AddEnterCodeRequest {
private String code;
private List<String> codeList;
private String viewType;
private String orderId;
}

@ -10,6 +10,7 @@ import com.glxp.api.entity.auth.SysWorkplace;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.auth.SysWorkplaceRequest;
import com.glxp.api.req.basic.WorkBindBusTypeRequest;
import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.basic.SysWorkplaceDocumentResponse;
import com.glxp.api.res.basic.SysWorkplaceResponse;
import com.glxp.api.service.basic.SysWorkplaceDocumentService;
@ -92,4 +93,8 @@ public class SysWorkplaceService extends ServiceImpl<SysWorkplaceDao, SysWorkpla
List<SysWorkplaceResponse> page = super.baseMapper.getListByBusType(request);
return page;
}
public SysWorkplace getWorkplaceByUser(CollectOrderRequest request, Long userId) {
return super.baseMapper.getWorkplaceByUser(request,userId);
}
}

@ -513,12 +513,15 @@ public class UdiProductService extends ServiceImpl<UdiProductDao, UdiProductEnti
}
if (udiProductEntity1 != null) {
updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductEntity1.setUpdateTime(new Date());
udiProductDao.updateById(udiProductEntity1);
} else {
udiProductEntity1 = new UdiProductEntity();
udiProductEntity1.setUuid(udiRelevanceEntity.getUuid());
udiProductEntity1.setId(IdUtil.getSnowflakeNextId());
udiProductEntity1.setUpdateTime(new Date());
updateUdiProductEntity(udiProductEntity1, updateLevelDrugRequest);
udiProductDao.insert(udiProductEntity1);
}

@ -956,8 +956,12 @@ public class IoCollectOrderService extends ServiceImpl<IoCollectOrderMapper, IoC
this.updateByBillNo(updateOrder);
}
public Boolean decideOrder(CollectOrderRequest request) {
public Boolean decideOrder(CollectOrderRequest request, Long userId) {
//判断当前用户是否已经绑定改工位
SysWorkplace workplace = sysWorkplaceService.getWorkplaceByUser(request, userId);
if (workplace == null) {
throw new JsonException(500, "当前用户未绑定该工位");
}
List<IoCollectOrder> ioCollectOrders = collectOrderMapper.selectList(new LambdaQueryWrapper<IoCollectOrder>()
.eq(IoCollectOrder::getWorkPlaceCode, request.getWorkPlaceCode())
.eq(IoCollectOrder::getTagStatus, request.getTagStatus()));

@ -51,4 +51,6 @@ public interface IoCodeTempService {
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
IoCodeTempEntity selectByCode(String code,String batchNo,String action);
List<IoCodeTempEntity> selectByCodes(List<String> codeList,String orderId);
}

@ -162,4 +162,12 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
return ioCodeTempDao.selectOne(ew);
}
@Override
public List<IoCodeTempEntity> selectByCodes(List<String> codeList,String orderId) {
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
ew.eq("orderId",orderId);
ew.in("code", codeList);
return ioCodeTempDao.selectList(ew);
}
}

@ -112,4 +112,12 @@
</where>
ORDER BY sw.deptCode, sw.chargeUser ,sw.workplaceId
</select>
<select id="getWorkplaceByUser" resultType="com.glxp.api.entity.auth.SysWorkplace">
select sw.*
from sys_workplace sw
inner join basic_collect_user bcu on sw.workplaceId = bcu.workplaceCode
<where>
sw.workplaceId = #{request.workPlaceCode} and bcu.userId = #{userId}
</where>
</select>
</mapper>

Loading…
Cancel
Save