10/8 查询优化1.0

dev_no_inv
wangwei 1 year ago
parent 3ee4a3291f
commit b4217ac5d6

@ -17,6 +17,7 @@ import com.glxp.api.entity.basic.BasicSkPrescribeEntity;
import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity; import com.glxp.api.entity.basic.SysWorkplaceDocumentEntity;
import com.glxp.api.entity.collect.*; import com.glxp.api.entity.collect.*;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity; import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.BasicCollectUserRequest; import com.glxp.api.req.basic.BasicCollectUserRequest;
import com.glxp.api.req.basic.PrescribeBindWorkRequest; import com.glxp.api.req.basic.PrescribeBindWorkRequest;
import com.glxp.api.req.basic.WorkBindBusTypeRequest; import com.glxp.api.req.basic.WorkBindBusTypeRequest;
@ -161,7 +162,7 @@ public class IoCollectOrderController extends BaseController {
request.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); request.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode());
request.setBusType(collectOrderRequest.getBusType()); request.setBusType(collectOrderRequest.getBusType());
//根据更改用户查询单据 防止两个用户分配同一单据 //根据更改用户查询单据 防止两个用户分配同一单据
// request.setUpdateUser(getUserId()); request.setUpdateUser(getUserId());
request.setTagStatus(2); request.setTagStatus(2);
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses)) if (CollUtil.isNotEmpty(orderResponses))
@ -201,13 +202,29 @@ public class IoCollectOrderController extends BaseController {
request.setLimit(1); request.setLimit(1);
request.setBillNo(collectOrderRequest.getBillNo()); request.setBillNo(collectOrderRequest.getBillNo());
List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request); List<IoCollectOrderResponse> orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses)) IoCollectOrder order = collectOrderService.getOne(new LambdaQueryWrapper<IoCollectOrder>().eq(IoCollectOrder::getBillNo, collectOrderRequest.getBillNo()));
if (CollUtil.isNotEmpty(orderResponses)){
if (order.getTagStatus() == 2){
return ResultVOUtils.error(500,"此单据正在处理中!");
}
//查询到显示页面 更改为处理中 防止前端刷新页面 重新查询
order.setBillNo(collectOrderRequest.getBillNo());
order.setUpdateUser(getUserId());
order.setUpdateTime(new Date());
order.setTagStatus(2);
collectOrderService.updateByBillNo(order);
return ResultVOUtils.success(orderResponses.get(0)); return ResultVOUtils.success(orderResponses.get(0));
else { } else {
request.setTagStatus(-1); request.setTagStatus(-1);
orderResponses = collectOrderService.filterList(request); orderResponses = collectOrderService.filterList(request);
if (CollUtil.isNotEmpty(orderResponses)) if (CollUtil.isNotEmpty(orderResponses)){
order.setBillNo(collectOrderRequest.getBillNo());
order.setUpdateUser(getUserId());
order.setUpdateTime(new Date());
order.setTagStatus(2);
collectOrderService.updateByBillNo(order);
return ResultVOUtils.success(orderResponses.get(0)); return ResultVOUtils.success(orderResponses.get(0));
}
} }
return ResultVOUtils.error(500, "未查到待处理单据"); return ResultVOUtils.error(500, "未查到待处理单据");

@ -327,7 +327,7 @@ public class IoOrderController extends BaseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/saveOrderWeb") @PostMapping("warehouse/inout/saveOrderWeb")
@Log(title = "单据管理", businessType = BusinessType.UPDATE) @Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { public BaseResponse saveOrderWeb(@RequestBody AddOrderRequest addOrderRequest){
IoOrderEntity orderEntity = new IoOrderEntity(); IoOrderEntity orderEntity = new IoOrderEntity();
if (addOrderRequest.getWorkPlaceCode() != null) { if (addOrderRequest.getWorkPlaceCode() != null) {
@ -360,6 +360,9 @@ public class IoOrderController extends BaseController {
orderEntity.setDeptCode(addOrderRequest.getDeptCode()); orderEntity.setDeptCode(addOrderRequest.getDeptCode());
orderEntity.setBillNo(addOrderRequest.getBillNo()); orderEntity.setBillNo(addOrderRequest.getBillNo());
orderEntity.setInvCode(addOrderRequest.getInvCode()); orderEntity.setInvCode(addOrderRequest.getInvCode());
orderEntity.setUpdateTime(new Date());
orderEntity.setUpdateUser(getUserId() + "");
if (addOrderRequest.getProductType() == null) { if (addOrderRequest.getProductType() == null) {
//器械单据 //器械单据
orderEntity.setProductType(1); orderEntity.setProductType(1);
@ -414,7 +417,7 @@ public class IoOrderController extends BaseController {
//上货校验追溯码是否重复 //上货校验追溯码是否重复
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
for (IoCodeTempEntity codeTempEntity : codeTempEntities) { for (IoCodeTempEntity codeTempEntity : codeTempEntities) {
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(), null); IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(codeTempEntity.getCode(),addOrderRequest.getWorkPlaceCode() );
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "已存在!"); return ResultVOUtils.error(500, "当前追溯码:" + fifoCodeEntity.getCode() + "已存在!");
} }
@ -1350,6 +1353,27 @@ public class IoOrderController extends BaseController {
} }
@PostMapping("/udiwms/inout/order/upProcessing")
public BaseResponse isProcessing(@RequestBody AddOrderRequest addOrderRequest) {
IoOrderEntity order = orderService.findByBillNo(addOrderRequest.getBillNo());
if (order.getStatus() == 3){
return ResultVOUtils.error(501,"此订单正在处理中");
}
order.setStatus(3);//订单从草稿改变成为3 表示正在处理中
order.setUpdateUser(getUserId() + "");
order.setUpdateTime(new Date());
orderService.updateByBillNo(order);
return ResultVOUtils.success();
}
@GetMapping("/udiwms/inout/order/getProcessingOrder")
public BaseResponse getProcessingOrder(AddOrderRequest addOrderRequest) {
IoOrderResponse order = orderService.findByWorkPlaceCode(addOrderRequest.getWorkPlaceCode() + "",getUserId());
return ResultVOUtils.success(order);
}
public String checkId(IoOrderDetailBizEntity bizEntity, IoCodeTempEntity codeEntity) { public String checkId(IoOrderDetailBizEntity bizEntity, IoCodeTempEntity codeEntity) {
if (bizEntity.getBindRlFk().longValue() == codeEntity.getRelId().longValue()) { if (bizEntity.getBindRlFk().longValue() == codeEntity.getRelId().longValue()) {

@ -46,8 +46,8 @@ public class IoOrderDetailCodeController {
//获取新增扫码单据详情---临时接口查询 //获取新增扫码单据详情---临时接口查询
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("udiwms/inout/order/draft/detailCode") @GetMapping("udiwms/inout/order/draft/detailCode")
public BaseResponse getDraftsDetailCode(String orderId) { public BaseResponse getDraftsDetailCode(String orderId,String productName) {
List<IoOrderDetailCodeEntity> orderEntityList = ioOrderDetailCodeService.checkOrderList(orderId); List<IoOrderDetailCodeEntity> orderEntityList = ioOrderDetailCodeService.checkOrderList(orderId,productName);
List<IoOrderDetailCodeResponse> list = ioOrderDetailCodeService.getDetailCodeResponse(orderEntityList); List<IoOrderDetailCodeResponse> list = ioOrderDetailCodeService.getDetailCodeResponse(orderEntityList);
for (IoOrderDetailCodeResponse ioSplitCodeResponse : list) { for (IoOrderDetailCodeResponse ioSplitCodeResponse : list) {

@ -98,4 +98,4 @@ public class IoSplitFifoInvRel implements Serializable {
public static final String COL_CREATEUSER = "createUser"; public static final String COL_CREATEUSER = "createUser";
public static final String COL_UPDATEUSER = "updateUser"; public static final String COL_UPDATEUSER = "updateUser";
} }

@ -64,7 +64,7 @@ public class IoOrderEntity {
private Integer fromType; private Integer fromType;
/** /**
* 1:稿2:;3:;4:;5:;6:;7:;8: * 1:稿2:;3:;4:;5:;6:;7:;8: 9:
*/ */
@TableField(value = "`status`") @TableField(value = "`status`")
private Integer status; private Integer status;

@ -129,6 +129,7 @@ public class FilterOrderRequest extends ListPageRequest {
private String invCode; private String invCode;
private String igNoreBillNo; private String igNoreBillNo;
private String updateUser;
/** /**
* *

@ -49,4 +49,6 @@ public interface IoCodeTempService {
Integer selectExitCount(String orderId, String code); Integer selectExitCount(String orderId, String code);
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity); Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
IoCodeTempEntity selectByCode(String code);
} }

@ -11,6 +11,7 @@ import java.util.List;
public interface IoOrderDetailCodeService { public interface IoOrderDetailCodeService {
List<IoOrderDetailCodeEntity> findByOrderId(String orderId); List<IoOrderDetailCodeEntity> findByOrderId(String orderId);
List<IoOrderDetailCodeEntity> findByOrderDetail(String orderId,String productName);
IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo, BigDecimal price); IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo, BigDecimal price);
@ -39,7 +40,7 @@ public interface IoOrderDetailCodeService {
*/ */
int deleteByOrderId(String orderId); int deleteByOrderId(String orderId);
public List<IoOrderDetailCodeEntity> checkOrderList(String orderId); public List<IoOrderDetailCodeEntity> checkOrderList(String orderId,String productName);
boolean isExit(String orderId); boolean isExit(String orderId);

@ -161,4 +161,5 @@ public interface IoOrderService {
IoOrderEntity findCorpOrderId(String billNo); IoOrderEntity findCorpOrderId(String billNo);
IoOrderResponse findByWorkPlaceCode(String workPlaceCode,Long UserId);
} }

@ -153,4 +153,11 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
return true; return true;
} }
@Override
public IoCodeTempEntity selectByCode(String code) {
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
ew.eq("code",code);
return ioCodeTempDao.selectOne(ew);
}
} }

@ -52,6 +52,11 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
return ioOrderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).orderByDesc("updateTime")); return ioOrderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).orderByDesc("updateTime"));
} }
@Override
public List<IoOrderDetailCodeEntity> findByOrderDetail(String orderId, String productName) {
return ioOrderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId) .like(StrUtil.isNotEmpty(productName), "coName", productName).orderByDesc("updateTime"));
}
@Override @Override
public IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo, BigDecimal price) { public IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo, BigDecimal price) {
return ioOrderDetailCodeDao.selectOne(new QueryWrapper<IoOrderDetailCodeEntity>() return ioOrderDetailCodeDao.selectOne(new QueryWrapper<IoOrderDetailCodeEntity>()
@ -106,14 +111,15 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
@Override @Override
public List<IoOrderDetailCodeEntity> checkOrderList(String orderId) { public List<IoOrderDetailCodeEntity> checkOrderList(String orderId,String productName) {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = findByOrderDetail(orderId,productName);
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = findByOrderId(orderId);
List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderId); List<IoOrderDetailBizEntity> orderDetailBizEntities = orderDetailBizService.findByOrderId(orderId);
checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities); checkInoutService.codeOrderCheck(orderDetailCodeEntities, orderDetailBizEntities);
return orderDetailCodeEntities; return orderDetailCodeEntities;
} }
@Override @Override
public boolean isExit(String orderId) { public boolean isExit(String orderId) {
return ioOrderDetailCodeDao.exists(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId)); return ioOrderDetailCodeDao.exists(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId));

@ -1072,6 +1072,25 @@ public class IoOrderServiceImpl implements IoOrderService {
return null; return null;
} }
@Override
public IoOrderResponse findByWorkPlaceCode(String workPlaceCode,Long userId) {
//查询单据表
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setWorkPlaceCode(workPlaceCode);
filterOrderRequest.setStatus(9);
filterOrderRequest.setUpdateUser(userId + "");
List<IoOrderResponse> ioOrderResponses = orderDao.filterList(filterOrderRequest);
// QueryWrapper<IoOrderEntity> ew = new QueryWrapper<>();
// ew.eq("workPlaceCode", workPlaceCode);
// ew.eq("status", 9);
// ew.eq("updateUser", userId);
if (ioOrderResponses.size() > 0){
IoOrderResponse ioOrderResponse = ioOrderResponses.get(0);
return ioOrderResponse;
}
return null;
}
/** /**
* *
* *

@ -54,6 +54,9 @@
<if test="id != null and id != ''"> <if test="id != null and id != ''">
AND id = #{id} AND id = #{id}
</if> </if>
<if test="updateUser != null and updateUser != ''">
AND io.updateUser = #{updateUser}
</if>
<if test="productType != null and productType != ''"> <if test="productType != null and productType != ''">
AND io.productType = #{productType} AND io.productType = #{productType}
</if> </if>

@ -4509,6 +4509,11 @@ CALL Pro_Temp_ColumnWork('io_split_code', 'unpackTime',
' datetime NULL DEFAULT NULL COMMENT ''拆包后可用时长(小时)''', ' datetime NULL DEFAULT NULL COMMENT ''拆包后可用时长(小时)''',
1); 1);
CALL Pro_Temp_ColumnWork('io_split_code', 'unpackExpireTime',
' datetime NULL DEFAULT NULL COMMENT ''拆包后可用时长(小时)''',
1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'unpackUseTime', CALL Pro_Temp_ColumnWork('basic_udirel', 'unpackUseTime',
' datetime NULL DEFAULT NULL COMMENT ''拆包后可用时长(小时)''', ' datetime NULL DEFAULT NULL COMMENT ''拆包后可用时长(小时)''',
1); 1);

Loading…
Cancel
Save