10/12 bug优化1.0

dev_no_inv
wangwei 9 months ago
parent 59614c8fc1
commit 372d633d3b

@ -299,4 +299,26 @@ public class SysWorkplaceController extends BaseController {
} }
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
} }
@PostMapping("/udiwms/sysWorkplace/getListByBusType")
public BaseResponse getListByBusType(@RequestBody SysWorkplaceRequest request) {
// Page<SystemWorkplace> page = sysWorkplaceService.page(new Page<>(request.getPage(), request.getLimit()), Wrappers.lambdaQuery(SystemWorkplace.class)
// .eq(StrUtil.isNotBlank(request.getInvCode()),SystemWorkplace::getInvCode,request.getInvCode())
// .like(StrUtil.isNotBlank(request.getKey()),SystemWorkplace::getWorkplaceId,request.getKey())
// .or()
// .like(StrUtil.isNotBlank(request.getKey()),SystemWorkplace::getWorkplaceName,request.getKey())
// );
request.setUserId(getUserId() + "");
DeptEntity deptEntity = deptService.selectByCode(request.getDeptCode());
if (deptEntity.getPid() == 0){
request.setDeptCode(null);
}
List<SysWorkplaceResponse> page = sysWorkplaceService.getListByBusType(request);
PageInfo<SysWorkplaceResponse> pageInfo = new PageInfo<>(page);
PageSimpleResponse<SysWorkplaceResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(page);
return ResultVOUtils.success(pageSimpleResponse);
}
} }

@ -96,7 +96,10 @@ public class IoCollectOrderBackupController extends BaseController {
public BaseResponse orderUpload(@RequestBody CollectOrderRequest collectOrderRequest) { public BaseResponse orderUpload(@RequestBody CollectOrderRequest collectOrderRequest) {
if (StrUtil.isEmpty(collectOrderRequest.getBillNo())) if (StrUtil.isEmpty(collectOrderRequest.getBillNo()))
return ResultVOUtils.error(500, "单据号不能为空"); return ResultVOUtils.error(500, "单据号不能为空");
ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo()); Boolean aBoolean = ioCollectOrderBackupService.orderUpload(collectOrderRequest.getBillNo());
if (!aBoolean){
return ResultVOUtils.error("上传失败");
}
return ResultVOUtils.success(); return ResultVOUtils.success();
} }

@ -82,7 +82,7 @@ public class IoCollectOrderController extends BaseController {
request.setLimit(100); request.setLimit(100);
request.setUserId(userId.toString()); request.setUserId(userId.toString());
page = basicCollectUserService.filterList(request); page = basicCollectUserService.filterList(request);
if (page != null) { if (page != null && page.size() > 0) {
workPlaceCodes = page.stream() workPlaceCodes = page.stream()
.map(UserWorkResponse::getWorkplaceId) .map(UserWorkResponse::getWorkplaceId)
.collect(Collectors.toList()); .collect(Collectors.toList());

@ -10,14 +10,13 @@ import com.glxp.api.entity.collect.IoCollectOrder;
import com.glxp.api.entity.collect.IoCollectOrderOrigin; import com.glxp.api.entity.collect.IoCollectOrderOrigin;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.req.collect.CollectOrderBizRequest;
import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.req.collect.CollectOrderRequest;
import com.glxp.api.res.collect.CollectOrderBizResponse;
import com.glxp.api.res.collect.IoCollectOrderResponse; import com.glxp.api.res.collect.IoCollectOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailCodeResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse;
import com.glxp.api.res.inout.VailCodeResultResponse; import com.glxp.api.res.inout.VailCodeResultResponse;
import com.glxp.api.service.collect.IoCollectCodeService; import com.glxp.api.service.collect.*;
import com.glxp.api.service.collect.IoCollectOrderBizBackupService;
import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.service.collect.IoCollectOriginService;
import com.glxp.api.service.inout.impl.IoCodeService; import com.glxp.api.service.inout.impl.IoCodeService;
import com.glxp.api.service.inv.impl.InvProductDetailService; import com.glxp.api.service.inv.impl.InvProductDetailService;
import org.aspectj.weaver.ast.Var; import org.aspectj.weaver.ast.Var;
@ -117,6 +116,9 @@ public class IoCodeTempController extends BaseController {
@Resource @Resource
IoSplitFifoInvService ioSplitFifoInvService; IoSplitFifoInvService ioSplitFifoInvService;
@Resource
IoCollectOrderBackupService ioCollectOrderBackupService;
/** /**
* PDA----- * PDA-----
*/ */
@ -319,7 +321,7 @@ public class IoCodeTempController extends BaseController {
UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi()); UdiRelevanceResponse checkUdi = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
if (checkUdi == null) { if (checkUdi == null) {
return ResultVOUtils.error(500, "产品字典不存在此产品!"); return ResultVOUtils.error(500, "耗材字典不存在此产品!");
} }
boolean checkSuccess = true; boolean checkSuccess = true;
String lostMsg = ""; String lostMsg = "";
@ -682,6 +684,7 @@ public class IoCodeTempController extends BaseController {
} }
String orderId = addOrderRequest.getBillNo(); String orderId = addOrderRequest.getBillNo();
//三期校验 //三期校验
@ -804,6 +807,24 @@ public class IoCodeTempController extends BaseController {
} }
//校验码表是否已经存在追溯码 io_code_temp
IoCodeTempEntity codeTempEntity1 = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction());
if (codeTempEntity1 != null){
return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!");
}
//校验工位存量是否存在
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
return ResultVOUtils.error(533, "当前追溯码已存在!");
}
} else {
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
if (fifoCodeEntity == null) {
return ResultVOUtils.error(500, "当前追溯码未上货!");
}
}
//校验预验收是否已存在 //校验预验收是否已存在
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN && bussinessTypeEntity.getMainAction().equals(ConstantType.TYPE_PUT)) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
@ -851,14 +872,6 @@ public class IoCodeTempController extends BaseController {
addOrderRequest.setFromCorp(fromCorp); addOrderRequest.setFromCorp(fromCorp);
} }
//校验工位存量是否存在
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, null);
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
return ResultVOUtils.error(500, "当前追溯码已存在!");
}
}
//先生成扫码单据 //先生成扫码单据
IoOrderEntity orderEntity = orderService.findByBillNo(orderId); IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
@ -1291,14 +1304,13 @@ public class IoCodeTempController extends BaseController {
} }
//校验码表是否已经存在追溯码 io_code_temp
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo(),bussinessTypeEntity.getAction());
if (codeTempEntity != null){
return ResultVOUtils.error(533,"扫码重复或当前追溯码已存在草稿单据中!");
}
//校验工位存量是否存在 //校验工位存量是否存在
if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) { if (bussinessTypeEntity.getAction().equals(ConstantType.SPLIT_OUT)) {
//校验码表是否已经存在追溯码 io_code_temp
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo());
if (codeTempEntity != null){
return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!");
}
IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode()); IoSplitFifoCodeEntity fifoCodeEntity = fifoCodeService.findByCode(code, addOrderRequest.getWorkPlaceCode());
if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) { if (fifoCodeEntity != null && StrUtil.isNotEmpty(fifoCodeEntity.getSerialNo())) {
return ResultVOUtils.error(533, "当前追溯码已存在!"); return ResultVOUtils.error(533, "当前追溯码已存在!");
@ -1309,10 +1321,6 @@ public class IoCodeTempController extends BaseController {
if (fifoCodeEntity == null) { if (fifoCodeEntity == null) {
return ResultVOUtils.error(500, "当前追溯码未上货!"); return ResultVOUtils.error(500, "当前追溯码未上货!");
} }
IoCodeTempEntity codeTempEntity = codeTempService.selectByCode(code,udiEntity.getBatchNo());
if (codeTempEntity != null){
return ResultVOUtils.error(533,"当前追溯码已存在草稿单据中!");
}
} }
@ -2612,11 +2620,14 @@ public class IoCodeTempController extends BaseController {
} }
String orderFinishBillNo = addOrderCodeRequest.getOrderFinishBillNo(); String orderFinishBillNo = addOrderCodeRequest.getOrderFinishBillNo();
List<IoCollectCode> list = ioCollectCodeService.list(new LambdaUpdateWrapper<IoCollectCode>().eq(IoCollectCode::getBillNo, orderFinishBillNo)); // List<IoCollectCode> list = ioCollectCodeService.list(new LambdaUpdateWrapper<IoCollectCode>().eq(IoCollectCode::getBillNo, orderFinishBillNo));
if (CollUtil.isEmpty(list)) return ResultVOUtils.error(500, "未找到已完成单的码明细"); CollectOrderBizRequest collectOrderBizRequest = new CollectOrderBizRequest();
collectOrderBizRequest.setOrderIdFk(orderFinishBillNo);
List<CollectOrderBizResponse> collectOrderBizResponses = ioCollectOrderBackupService.combieOrderDetail(collectOrderBizRequest);
if (CollUtil.isEmpty(collectOrderBizResponses)) return ResultVOUtils.error(500, "未找到已完成单的码明细");
List<String> codeList = new ArrayList<>(); List<String> codeList = new ArrayList<>();
list.forEach(item -> { collectOrderBizResponses.forEach(item -> {
String code = item.getCode(); String code = item.getFinishUdiCode();
Integer reCountObj = item.getScanCount(); Integer reCountObj = item.getScanCount();
int reCount = reCountObj != null ? reCountObj : 0; // 如果reCountObj为null则默认为0次迭代 int reCount = reCountObj != null ? reCountObj : 0; // 如果reCountObj为null则默认为0次迭代
for (int i = 0; i < reCount; i++) { for (int i = 0; i < reCount; i++) {

@ -23,4 +23,5 @@ public interface SysWorkplaceDao extends BaseMapper<SysWorkplace> {
List<SysWorkplaceResponse> getAllByBusType(String busTypeCode); List<SysWorkplaceResponse> getAllByBusType(String busTypeCode);
List<SysWorkplaceResponse> getListByBusType(@Param("request") SysWorkplaceRequest request);
} }

@ -30,6 +30,8 @@ public class SysWorkplaceRequest extends ListPageRequest {
private List<Long> workPlaceIds; private List<Long> workPlaceIds;
private String chargeUser; private String chargeUser;
private String userId;
private String busType;
private Boolean userIdFlag; private Boolean userIdFlag;

@ -81,4 +81,15 @@ public class SysWorkplaceService extends ServiceImpl<SysWorkplaceDao, SysWorkpla
} }
return true; return true;
} }
public List<SysWorkplaceResponse> getListByBusType(SysWorkplaceRequest request) {
if (null == request) {
return Collections.emptyList();
}
if (null != request.getPage() && null != request.getLimit()) {
PageHelper.offsetPage((request.getPage() - 1) * request.getLimit(), request.getLimit());
}
List<SysWorkplaceResponse> page = super.baseMapper.getListByBusType(request);
return page;
}
} }

@ -273,7 +273,7 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void orderUpload(String billNo) { public Boolean orderUpload(String billNo) {
IoCollectOrderBackup updateOrder = new IoCollectOrderBackup(); IoCollectOrderBackup updateOrder = new IoCollectOrderBackup();
updateOrder.setBillNo(billNo); updateOrder.setBillNo(billNo);
try { try {
@ -285,5 +285,9 @@ public class IoCollectOrderBackupService extends ServiceImpl<IoCollectOrderBacku
} }
//更新状态 //更新状态
this.updateByBillNo(updateOrder); this.updateByBillNo(updateOrder);
if (updateOrder.getUploadStatus() == 3){
return false;
}
return true;
} }
} }

@ -283,7 +283,7 @@ public class IoSplitDesOrderService extends ServiceImpl<IoSplitDesOrderMapper, I
} }
// int newAvailableCount = splitFifoInv.getAvailableCount() - availableCount; // int newAvailableCount = splitFifoInv.getAvailableCount() - availableCount;
splitFifoInv.setAvailableCount(availableCount);//可用数量 splitFifoInv.setAvailableCount(availableCount);//可用数量
splitFifoInv.setInCount(splitFifoInv.getInCount() - addInvDesDetaiRequest.getOutCount()); // splitFifoInv.setInCount(splitFifoInv.getInCount() - addInvDesDetaiRequest.getOutCount());
splitFifoInv.setUpdateTime(new Date()); splitFifoInv.setUpdateTime(new Date());
//更改 库存 //更改 库存
boolean update = ioSplitFifoInvService.updateById(splitFifoInv); boolean update = ioSplitFifoInvService.updateById(splitFifoInv);

@ -50,5 +50,5 @@ public interface IoCodeTempService {
Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity); Boolean checkTempCode(IoCodeTempEntity ioCodeTempEntity);
IoCodeTempEntity selectByCode(String code,String batchNo); IoCodeTempEntity selectByCode(String code,String batchNo,String action);
} }

@ -154,10 +154,11 @@ public class IoCodeTempServiceImpl implements IoCodeTempService {
} }
@Override @Override
public IoCodeTempEntity selectByCode(String code,String batchNo) { public IoCodeTempEntity selectByCode(String code,String batchNo,String action) {
QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>(); QueryWrapper<IoCodeTempEntity> ew = new QueryWrapper<>();
ew.eq("code",code); ew.eq("code",code);
ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo); ew.eq(StrUtil.isNotEmpty(batchNo), "batchNo", batchNo);
ew.eq(StrUtil.isNotEmpty(action), "action", action);
return ioCodeTempDao.selectOne(ew); return ioCodeTempDao.selectOne(ew);
} }

@ -60,4 +60,56 @@
</where> </where>
GROUP BY sys_workplace.workplaceId GROUP BY sys_workplace.workplaceId
</select> </select>
<select id="getListByBusType" resultType="com.glxp.api.res.basic.SysWorkplaceResponse">
select sw.*, aw.name invName,auth_user.employeeName as employeeName,scps.name as categoryName,
ad.name as deptCodeName
from sys_workplace sw
left join auth_dept ad on sw.deptCode = ad.code
left join auth_warehouse aw on sw.invCode = aw.code
left join auth_user on sw.chargeUser = auth_user.id
left join basic_collect_point_category scps on sw.constituencies = scps.code
left join sys_workplace_bus swb on sw.workplaceId = swb.workplaceCode
left join sys_workplace_document swd on swb.busTypeCode = swd.documentTypeCode
left join basic_collect_user bcu on bcu.workplaceCode = sw.workplaceId
<where>
<if test="request.key != null and request.key != ''">
AND (sw.workplaceName like concat('%', #{request.key}, '%')
or sw.workplaceId like concat('%', #{request.key}, '%')
or auth_user.employeeName like concat('%', #{request.key}, '%')
or sw.remake like concat('%', #{request.key}, '%')
)
</if>
<if test=" request.invCode != null and request.invCode != ''">
AND sw.invCode = #{request.invCode}
</if>
<if test=" request.deptCode != null and request.deptCode != ''">
AND sw.deptCode = #{request.deptCode}
</if>
<if test=" request.workplaceStatus != null">
AND sw.workplaceStatus = #{request.workplaceStatus}
</if>
<if test=" request.chargeUser != null and request.chargeUser != ''">
AND sw.chargeUser = #{request.chargeUser}
</if>
<if test=" request.userId != null and request.userId != ''">
AND bcu.userId = #{request.userId}
</if>
<if test=" request.code != null and request.code != ''">
AND scps.code = #{request.code}
</if>
<if test=" request.workPlaceClass != null and request.workPlaceClass != ''">
AND sw.workPlaceClass = #{request.workPlaceClass}
</if>
<if test=" request.busType != null and request.busType != ''">
AND swd.documentTypeCode = #{request.busType}
</if>
<if test=" request.workPlaceIds != null and request.workPlaceIds.size > 0">
AND sw.workplaceId IN
<foreach collection="request.workPlaceIds" item="workplaceId" index="index" open="(" close=")" separator=",">
#{workplaceId}
</foreach>
</if>
</where>
ORDER BY sw.deptCode, sw.chargeUser ,sw.workplaceId
</select>
</mapper> </mapper>

Loading…
Cancel
Save