单据库存相关代码迁移

master
anthonywj 2 years ago
parent 9cc66f85da
commit ec9c295e03

@ -62,6 +62,7 @@ public class IoCodeLostController extends BaseController {
return ResultVOUtils.success("成功"); return ResultVOUtils.success("成功");
} }
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/saveTabCode") @PostMapping("warehouse/inout/saveTabCode")
public BaseResponse saveCode(@RequestBody IoCodeTempEntity codeTempEntity) { public BaseResponse saveCode(@RequestBody IoCodeTempEntity codeTempEntity) {
@ -96,7 +97,7 @@ public class IoCodeLostController extends BaseController {
insertEntity.setSerialNo(codeTempEntity.getSerialNo()); insertEntity.setSerialNo(codeTempEntity.getSerialNo());
insertEntity.setSupId(codeTempEntity.getSupId()); insertEntity.setSupId(codeTempEntity.getSupId());
insertEntity.setUpdateTime(new Date()); insertEntity.setUpdateTime(new Date());
insertEntity.setCreateTime(new Date());
if (codeLostEntity != null) { if (codeLostEntity != null) {
codeLostService.update(insertEntity); codeLostService.update(insertEntity);
} else { } else {

@ -22,9 +22,9 @@ import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.http.sync.SpsDirectClient;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest; import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.inout.AddEnterCodeRequest; import com.glxp.api.req.inout.AddEnterCodeRequest;
import com.glxp.api.req.inout.AddOrderRequest; import com.glxp.api.req.inout.AddOrderRequest;
@ -38,9 +38,7 @@ import com.glxp.api.res.inout.IoCodeTempResponse;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*; import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.*;
import com.glxp.api.service.inv.InvPreinDetailService; import com.glxp.api.service.inv.*;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.purchase.SupProductService; import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService; import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil; import com.glxp.api.util.CustomUtil;
@ -70,8 +68,6 @@ public class IoCodeTempController extends BaseController {
@Resource @Resource
private IBasicBussinessTypeService basicBussinessTypeService; private IBasicBussinessTypeService basicBussinessTypeService;
@Resource @Resource
private SpsDirectClient spsDirectClient;
@Resource
IoAddInoutService transInoutService; IoAddInoutService transInoutService;
@Resource @Resource
private SystemParamConfigService systemParamConfigService; private SystemParamConfigService systemParamConfigService;
@ -101,6 +97,8 @@ public class IoCodeTempController extends BaseController {
IoOrderDetailBizService orderDetailBizService; IoOrderDetailBizService orderDetailBizService;
@Resource @Resource
IoCodeService codeService; IoCodeService codeService;
@Resource
InvPreProductDetailService invPreProductDetailService;
//手持端扫码单据上传调用接口 //手持端扫码单据上传调用接口
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@ -136,10 +134,6 @@ public class IoCodeTempController extends BaseController {
inPostOrder.setPostOrders(inPostOrders); inPostOrder.setPostOrders(inPostOrders);
outPostOrder.setPostOrders(outPostOrders); outPostOrder.setPostOrders(outPostOrders);
if (CollUtil.isNotEmpty(outPostOrders)) {
outPostOrder.setWmsUserId(userId + "");
return spsDirectClient.uploadPdaOrder(outPostOrder);
}
if (CollUtil.isNotEmpty(inPostOrders)) { if (CollUtil.isNotEmpty(inPostOrders)) {
inPostOrder.setCustomerId(getCustomerId()); inPostOrder.setCustomerId(getCustomerId());
@ -438,9 +432,13 @@ public class IoCodeTempController extends BaseController {
} }
} }
//失效期提醒
SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip"); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
long recent = Long.parseLong(recentParamConfigEntity.getParamValue()); //近效期提醒
// SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip");
long recent = 0;
if (udiRelevanceResponse.getRecentDateTime() != null)
recent = udiRelevanceResponse.getRecentDateTime().longValue();
if (bussinessTypeEntity.getCheckVailDate() == 1 && recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) { if (bussinessTypeEntity.getCheckVailDate() == 1 && recent > 0 && !addOrderRequest.isIgnoreRecentExpire()) {
if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) { if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) {
String expireDate = "20" + udiEntity.getExpireDate(); String expireDate = "20" + udiEntity.getExpireDate();
@ -457,6 +455,22 @@ public class IoCodeTempController extends BaseController {
} }
} }
if (bussinessTypeEntity.getCheckVailDate() == 2 && recent > 0) {
if (StrUtil.isNotEmpty(udiEntity.getExpireDate())) {
String expireDate = "20" + udiEntity.getExpireDate();
long expireTime = DateUtil.parseDateExpire(expireDate);
long recentTieme = Math.abs(recent * 24 * 60 * 60 * 1000);
long resultTime = expireTime - System.currentTimeMillis();
if (resultTime > 0) {
long time = resultTime / (24 * 60 * 60 * 1000);
if (resultTime < recentTieme) {
return ResultVOUtils.error(505, "当前产品临近过期,距过期还剩" + time + "天,无法添加?");
}
}
}
}
//校验预验收是否已存在 //校验预验收是否已存在
if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
@ -530,6 +544,34 @@ public class IoCodeTempController extends BaseController {
} }
// 是否检验寄售库存
if (bussinessTypeEntity.isAdvancePreIn()) {
int preInCount = invPreProductDetailService.findCountByCode(code);
InvPreProductDetailEntity invPreinDetailEntity = invPreProductDetailService.findUseOneByCode(code);
if (preInCount <= 0) {
return ResultVOUtils.error(500, "寄售库存数量不足!");
} else {
if (StrUtil.isNotEmpty(invPreinDetailEntity.getBatchNo()) && StrUtil.isNotEmpty(addOrderRequest.getBatchNo())
&& !invPreinDetailEntity.getBatchNo().equals(addOrderRequest.getBatchNo())) {
return ResultVOUtils.error(500, "当前批次号与预验收录入批次号不匹配!");
}
if (StrUtil.isNotEmpty(orderId)) {//非首次添加
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单
IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
if (codeTempEntity != null) {
if (preInCount < (codeTempEntity.getMyCount() + 1)) {
return ResultVOUtils.error(500, "超出寄售存数量");
}
}
} else {
if (preInCount < 1) {
return ResultVOUtils.error(500, "寄售库存数量不足");
}
}
}
}
}
if (addOrderRequest.getFromCorp() == null) { if (addOrderRequest.getFromCorp() == null) {
@ -618,7 +660,7 @@ public class IoCodeTempController extends BaseController {
//产品是否可以以使用单元入库 //产品是否可以以使用单元入库
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false);
if (udiRelevanceResponses.size() >= 1) { if (udiRelevanceResponses.size() >= 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); // UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null) { if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!"); return ResultVOUtils.error(500, "该产品信息未维护!");
} else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { } else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) {
@ -977,6 +1019,9 @@ public class IoCodeTempController extends BaseController {
public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) { public BaseResponse deleteCodesTempById(@RequestParam("id") Integer id) {
IoCodeTempEntity codeTempEntity = codeTempService.selectById(id); IoCodeTempEntity codeTempEntity = codeTempService.selectById(id);
if (codeTempEntity == null) {
return ResultVOUtils.error(506, "UDI码异常未录入");
}
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId()); IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
if (codeTempEntity.getMyCount() > 1) { if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1); codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
@ -1002,8 +1047,8 @@ public class IoCodeTempController extends BaseController {
} }
boolean r1 = orderDetailBizService.isExit(orderDetailCodeEntity.getOrderIdFk()); boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderDetailCodeEntity.getOrderIdFk()); boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) { if (!r1 && !r2) {
orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk()); orderService.deleteByBillNo(orderDetailCodeEntity.getOrderIdFk());
} }

@ -35,7 +35,9 @@ import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.OrderNoTypeBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -88,6 +90,15 @@ public class IoOrderController extends BaseController {
if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) { if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) {
orderService.setInvoiceFiltes(filterOrderRequest); orderService.setInvoiceFiltes(filterOrderRequest);
} }
if (filterOrderRequest.getSourceLocalType() != null) {
if (filterOrderRequest.getSourceLocalType() == 1) {
filterOrderRequest.setSourceTypes(Arrays.asList(1, 2, 3, 4, 5));
} else {
filterOrderRequest.setSourceTypes(Arrays.asList(6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17));
}
}
String customerId = getCustomerId(); String customerId = getCustomerId();
if (!customerId.equals("110")) { if (!customerId.equals("110")) {
filterOrderRequest.setFromCorp(customerId); filterOrderRequest.setFromCorp(customerId);
@ -315,19 +326,38 @@ public class IoOrderController extends BaseController {
if (StrUtil.isBlank(billNo)) { if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
} }
IoOrderEntity orderEntity = orderService.findByBillNo(billNo); IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) { if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) {
return ResultVOUtils.error(500, "单据已补单,无法撤回!"); return ResultVOUtils.error(500, "单据已补单,无法撤回!");
} }
if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) { if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) {
return ResultVOUtils.error(500, "单据已同步,无法撤回!"); return ResultVOUtils.error(500, "单据已同步,无法撤回!");
} }
boolean result = orderService.rollbackOrder(billNo); boolean result = orderService.rollbackOrder(billNo);
if (result) { if (result) {
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败"); return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
orderService.update(orderEntity);
return ResultVOUtils.success("撤回成功!");
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
boolean result = orderService.rollbackUnReOrder(billNo);
if (result) {
return ResultVOUtils.success("撤回成功!");
}
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
}
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
} }
@ -512,6 +542,14 @@ public class IoOrderController extends BaseController {
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
@PostMapping("/udiwms/inout/order/updateOrder")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateOrder(@RequestBody IoOrderEntity ioOrderEntity) {
orderService.updateByBillNo(ioOrderEntity);
return ResultVOUtils.success();
}
@Resource @Resource
GennerOrderUtils gennerOrderUtils; GennerOrderUtils gennerOrderUtils;
@Resource @Resource
@ -590,4 +628,5 @@ public class IoOrderController extends BaseController {
orderService.update(originOrder); orderService.update(originOrder);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
} }

@ -50,6 +50,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -114,14 +115,15 @@ public class IoOrderDetailBizController extends BaseController {
@Log(title = "单据管理", businessType = BusinessType.INSERT) @Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) { public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("vail_product_cert"); SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("vail_product_cert");
boolean isVailCert = systemParamConfigEntity.getParamValue().equals("1") ? true : false; // boolean isVailCert = systemParamConfigEntity.getParamValue().equals("1") ? true : false;
AuthAdmin authAdmin = getUser(); AuthAdmin authAdmin = getUser();
if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas())) if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas()))
return ResultVOUtils.error(500, "未选择产品信息"); return ResultVOUtils.error(500, "未选择产品信息");
if (addBizProductReqeust.getOrderEntity() == null) if (addBizProductReqeust.getOrderEntity() == null)
return ResultVOUtils.error(500, "未指定订单"); return ResultVOUtils.error(500, "未指定订单");
IoOrderEntity orderEntity = addBizProductReqeust.getOrderEntity(); IoOrderEntity orderEntity = addBizProductReqeust.getOrderEntity();
if (StrUtil.isEmpty(orderEntity.getBillNo())) { IoOrderEntity isExit = orderService.findByBillNo(orderEntity.getBillNo());
if (StrUtil.isEmpty(orderEntity.getBillNo()) || isExit == null) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
@ -157,9 +159,9 @@ public class IoOrderDetailBizController extends BaseController {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(item.getRelId()); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(item.getRelId());
// todo 查询产品是否已经通过认证 // todo 查询产品是否已经通过认证
// BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
// if (isVailCert && udiRelevanceResponse.isNeedCert()) { // if (bussinessTypeEntity.getCheckCertExpire() == 2 && udiRelevanceResponse.isNeedCert()) {
// SupProductEntity supProductEntity = supProductService.findByRelIdFk(udiRelevanceResponse.getId() + ""); // SupProductEntity supProductEntity = supProductService.findByManufactury(udiRelevanceResponse.getCpmctymc(), udiRelevanceResponse.getManufactory(), "");
// if (supProductEntity != null && (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS)) { // if (supProductEntity != null && (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS)) {
// //
// } else { // } else {
@ -472,7 +474,19 @@ public class IoOrderDetailBizController extends BaseController {
@PostMapping("/udiwms/inout/order/delBizProduct") @PostMapping("/udiwms/inout/order/delBizProduct")
@Log(title = "单据管理", businessType = BusinessType.DELETE) @Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) { public BaseResponse delBizProduct(@RequestBody DeleteRequest deleteRequest) {
return orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId())) > 0 ? ResultVOUtils.success("删除成功!") : ResultVOUtils.error(500, "删除失败"); IoOrderDetailBizEntity orderDetailBizEntity = orderDetailBizService.selectById(Integer.parseInt(deleteRequest.getId()));
int result = orderDetailBizService.deleteById(Integer.parseInt(deleteRequest.getId()));
if (result > 0) {
boolean r1 = orderDetailBizService.isExit(orderDetailBizEntity.getOrderIdFk());
boolean r2 = orderDetailCodeService.isExit(orderDetailBizEntity.getOrderIdFk());
if (!r1 && !r2) {
orderService.deleteByBillNo(orderDetailBizEntity.getOrderIdFk());
}
return ResultVOUtils.success("删除成功!");
}
return ResultVOUtils.error(500, "删除失败");
} }
@ -559,11 +573,40 @@ public class IoOrderDetailBizController extends BaseController {
ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate()); ioOrderInvoiceEntity.setProductDate(ioOrderDetailBizEntity.getProductDate());
ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate()); ioOrderInvoiceEntity.setExpireDate(ioOrderDetailBizEntity.getExpireDate());
ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId()); ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId());
ioOrderInvoiceEntity.setCreateTime(new Date());
ioOrderInvoiceEntity.setUpdateTime(new Date());
boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity); boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
return ResultVOUtils.success("成功"); return ResultVOUtils.success("成功");
} }
/**
*
*
* @param orderDetailBizRequest
* @return
*/
@GetMapping("/udiwms/inout/bizDetail/filterBizOrderList")
public BaseResponse filterBizOrderList(FilterOrderDetailBizRequest orderDetailBizRequest) {
List<IoOrderDetailBizResponse> list = orderDetailBizService.filterList(orderDetailBizRequest);
for (IoOrderDetailBizResponse ioOrderDetailBizResponse : list) {
String msg = "";
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailBizResponse.getOrderIdFk());
List<IoOrderInvoiceEntity> ioOrderInvoiceEntityList = ioOrderInvoiceService.selectOrderInvoice(ioOrderInvoiceEntity);
for (IoOrderInvoiceEntity obj : ioOrderInvoiceEntityList) {
if (StrUtil.isNotEmpty(obj.getInvoiceCode())) {
msg += "," + obj.getInvoiceCode();
}
}
if (msg.length() > 1) {
msg = msg.substring(1);
}
ioOrderDetailBizResponse.setInvoiceCodes(msg);
}
PageInfo<IoOrderDetailBizResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
} }

@ -23,6 +23,7 @@ import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.ReviewFinishRequest; import com.glxp.api.req.inout.ReviewFinishRequest;
import com.glxp.api.req.inout.ReviewSpmsRequest; import com.glxp.api.req.inout.ReviewSpmsRequest;
import com.glxp.api.req.inout.UpdateExportStatusRequest; import com.glxp.api.req.inout.UpdateExportStatusRequest;
import com.glxp.api.req.sync.SpsSyncDataRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.inout.AcceptOrderResponse; import com.glxp.api.res.inout.AcceptOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
@ -377,7 +378,6 @@ public class IoOrderReviewController extends BaseController {
return false; return false;
} }
//前端页面清空,重新验收
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/acceptClear") @PostMapping("/udiwms/stock/order/acceptClear")
public BaseResponse acceptClear(@RequestBody AcceptOrderResponse acceptOrderEntity) { public BaseResponse acceptClear(@RequestBody AcceptOrderResponse acceptOrderEntity) {
@ -400,13 +400,6 @@ public class IoOrderReviewController extends BaseController {
orderService.update(orderEntity); orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo()); redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo()); redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo());
if (orderEntity.getFromType() == ConstantStatus.FROM_UDISP) {
ReviewFinishRequest reviewFinishRequest = new ReviewFinishRequest();
reviewFinishRequest.setOrderId(orderEntity.getBillNo());
spGetHttp.reviewOrder(reviewFinishRequest);
}
//验收完成->进入流程 //验收完成->进入流程
ioCheckInoutService.checkSecond(orderEntity); ioCheckInoutService.checkSecond(orderEntity);
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
@ -415,7 +408,7 @@ public class IoOrderReviewController extends BaseController {
//前端第二次次验收 //前端第二次次验收
public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) { public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setReviewUser(authAdmin.getId() + ""); orderEntity.setCheckUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderEntity.setCheckTime(new Date()); orderEntity.setCheckTime(new Date());
orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED); orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED);
@ -497,4 +490,5 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success(acceptOrderEntity); return ResultVOUtils.success(acceptOrderEntity);
} }
} }

@ -55,7 +55,7 @@ public class ioCodeRelController {
} }
if(StrUtil.isNotEmpty(code)){ if(StrUtil.isNotEmpty(code)){
UdiEntity udiEntity = FilterUdiUtils.getUdi(code); UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(code);
UdiProductEntity udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi()); UdiProductEntity udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi());
if(udiProductEntity.getPackLevel()!=null){ if(udiProductEntity.getPackLevel()!=null){
if(Integer.valueOf(udiProductEntity.getPackLevel())>1){ if(Integer.valueOf(udiProductEntity.getPackLevel())>1){

@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.InvProductEntity; import com.glxp.api.entity.inv.InvProductEntity;
@ -160,6 +162,7 @@ public class InvProductController extends BaseController {
* @return * @return
*/ */
@PostMapping("/spms/inv/product/delete") @PostMapping("/spms/inv/product/delete")
@Log(title = "库存查询", businessType = BusinessType.DELETE)
public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) { public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());

@ -5,6 +5,7 @@ import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse; import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -20,4 +21,15 @@ public interface IoOrderDetailBizDao extends BaseMapperPlus<IoOrderDetailBizDao,
List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest); List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest);
/**
*
*
* @param orderId
* @param relId ID
* @param batchNo
* @param productDate
* @param expireDate
* @return
*/
IoOrderDetailBizEntity selectOrderDetailBiz(@Param("orderId") String orderId, @Param("relId") Long relId, @Param("batchNo") String batchNo, @Param("productDate") String productDate, @Param("expireDate") String expireDate);
} }

@ -29,8 +29,6 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
/** /**
* *
* *
* @param beginOfDay
* @param endOfDay
* @return * @return
*/ */
List<IoOrderDetailResultEntity> selectStatDataByTime(@Param("date") String date); List<IoOrderDetailResultEntity> selectStatDataByTime(@Param("date") String date);

@ -5,9 +5,12 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity; import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper @Mapper
public interface IoOrderInvoiceMapper extends BaseMapperPlus<IoOrderInvoiceMapper, IoOrderInvoiceEntity, IoOrderInvoiceEntity> { public interface IoOrderInvoiceMapper extends BaseMapperPlus<IoOrderInvoiceMapper, IoOrderInvoiceEntity, IoOrderInvoiceEntity> {
boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
} }

@ -111,6 +111,10 @@ public class IoOrderEntity {
@TableField(value = "auditTime") @TableField(value = "auditTime")
private Date auditTime; private Date auditTime;
@TableField(value = "checkUser")
private String checkUser;
@TableField(value = "checkTime") @TableField(value = "checkTime")
private Date checkTime; private Date checkTime;
@ -227,12 +231,16 @@ public class IoOrderEntity {
@TableField(value = "processStatus") @TableField(value = "processStatus")
private Integer processStatus; //退货单据处理状态 private Integer processStatus; //退货单据处理状态
@TableField(value = "inCodeStatus") @TableField(value = "inCodeStatus")
private int inCodeStatus; //内部码生成状态 private Integer inCodeStatus; //内部码生成状态
@TableField(value = "relKey") @TableField(value = "relKey")
private String relKey; //关联单据唯一键 private String relKey; //关联单据唯一键
@TableField(value = "suppleCount") @TableField(value = "suppleCount")
private Integer suppleCount; //补单次数 private Integer suppleCount; //补单次数
@TableField(value = "checkStatus")
private Integer checkStatus; //确认状态
@TableField(value = "checkPreInOrders") @TableField(value = "checkPreInOrders")
private String checkPreInOrders; private String checkPreInOrders;

@ -136,6 +136,7 @@ public class FilterOrderRequest extends ListPageRequest {
* checkedError * checkedError
* checkSuccess * checkSuccess
* audited * audited
* * preInOrder
*/ */
private String statusType; private String statusType;
@ -147,7 +148,6 @@ public class FilterOrderRequest extends ListPageRequest {
* supInvoice * supInvoice
* norDetail * norDetail
* preDetail * preDetail
* preInOrder
*/ */
private String vueType; //页面类型 private String vueType; //页面类型
@ -155,6 +155,9 @@ public class FilterOrderRequest extends ListPageRequest {
private Integer orderType; private Integer orderType;
private Integer syncStatus; private Integer syncStatus;
//单据来源: 1:手工单2自动单
private Integer sourceLocalType;
/** /**
* *
*/ */
@ -170,6 +173,8 @@ public class FilterOrderRequest extends ListPageRequest {
*/ */
private List<Integer> dealStatuses; private List<Integer> dealStatuses;
private List<Integer> sourceTypes;
private List<String> orderIds; private List<String> orderIds;

@ -1,8 +1,15 @@
package com.glxp.api.req.inout; package com.glxp.api.req.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.entity.purchase.SupCertSetEntity;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @author : zhangsan * @author : zhangsan
@ -60,6 +67,8 @@ public class IoOrderInvoiceRequest {
private String remark; private String remark;
private Long bizIdFk;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk"; public static final String COL_ORDERIDFK = "orderIdFk";

@ -157,5 +157,12 @@ public class IoOrderDetailBizResponse {
private boolean checkSuccess; private boolean checkSuccess;
private String filePath;
private String checkFileName;
private String invoiceCodes;
} }

@ -211,8 +211,10 @@ public class IoChangeInoutService {
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID); outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode()); InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
InvWarehouseEntity upInv = invWarehouseService.findByInvSubByCode(curInv.getParentCode()); InvWarehouseEntity upInv = invWarehouseService.findByInvSubByCode(curInv.getParentCode());
if (upInv != null) {
outOrder.setFromInvCode(upInv.getCode()); outOrder.setFromInvCode(upInv.getCode());
outOrder.setFromDeptCode(upInv.getParentId()); outOrder.setFromDeptCode(upInv.getParentId());
}
//原先流程---使用流转单据默认仓库 //原先流程---使用流转单据默认仓库
// outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode()); // outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode());
// outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode()); // outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode());

@ -16,4 +16,7 @@ public interface IoOrderInvoiceService {
boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity); boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
} }

@ -121,4 +121,7 @@ public interface IoOrderService {
* @return * @return
*/ */
BaseResponse submitToThrSys(String billNo); BaseResponse submitToThrSys(String billNo);
boolean isExitByAction(String action);
} }

@ -1,7 +1,9 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.req.inout.IoCodeLostRequest; import com.glxp.api.req.inout.IoCodeLostRequest;
import com.glxp.api.res.inout.IoCodeLostResponse; import com.glxp.api.res.inout.IoCodeLostResponse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -13,6 +15,7 @@ import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.service.inout.IoCodeLostService; import com.glxp.api.service.inout.IoCodeLostService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List; import java.util.List;
@Service @Service
@ -25,13 +28,24 @@ public class IoCodeLostServiceImpl extends ServiceImpl<IoCodeLostMapper, IoCodeL
@Override @Override
public List<IoCodeLostResponse> selectLost(IoCodeLostRequest ioCodeLostRequest) { public List<IoCodeLostResponse> selectLost(IoCodeLostRequest ioCodeLostRequest) {
if (ioCodeLostRequest == null) {
return Collections.emptyList();
}
if (ioCodeLostRequest.getPage() != null) {
int offset = (ioCodeLostRequest.getPage() - 1) * ioCodeLostRequest.getLimit();
PageHelper.offsetPage(offset, ioCodeLostRequest.getLimit());
}
return codeLostEntityMapper.selectLost(ioCodeLostRequest); return codeLostEntityMapper.selectLost(ioCodeLostRequest);
} }
@Override @Override
public IoCodeLostEntity findByCode(String code) { public IoCodeLostEntity findByCode(String code) {
return codeLostEntityMapper.selectOne(new QueryWrapper<IoCodeLostEntity>().eq("code", code)); List<IoCodeLostEntity> codeLostEntities = codeLostEntityMapper.selectList(new QueryWrapper<IoCodeLostEntity>().eq("code", code).last("limit 1"));
if (CollUtil.isNotEmpty(codeLostEntities)) {
return codeLostEntities.get(0);
}
return null;
} }
@Override @Override

@ -73,6 +73,8 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override @Override
public boolean isExit(String billNo) { public boolean isExit(String billNo) {
if (billNo == null)
return false;
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", billNo)); return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", billNo));
} }
@ -85,16 +87,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override @Override
public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate) { public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate) {
return ioOrderDetailBizDao.selectOne(new QueryWrapper<IoOrderDetailBizEntity>() return ioOrderDetailBizDao.selectOrderDetailBiz(orderId, relId, bacthNo, productDate, expireDate);
.eq("orderIdFk", orderId).eq("bindRlFk", relId)
.eq(StrUtil.isNotEmpty(bacthNo), "batchNo", bacthNo)
.isNull(StrUtil.isEmpty(bacthNo), "batchNo")
.eq(StrUtil.isNotEmpty(productDate), "productDate", productDate)
.isNull(StrUtil.isEmpty(productDate), "productDate")
.eq(StrUtil.isNotEmpty(expireDate), "expireDate", expireDate)
.isNull(StrUtil.isEmpty(expireDate), "expireDate")
);
} }
@Override @Override
@ -138,6 +131,12 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override @Override
public List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) { public List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) {
if (null == orderDetailBizRequest) {
return Collections.emptyList();
}
if (null != orderDetailBizRequest.getPage() && null != orderDetailBizRequest.getLimit()) {
PageHelper.offsetPage((orderDetailBizRequest.getPage() - 1) * orderDetailBizRequest.getLimit(), orderDetailBizRequest.getLimit());
}
return ioOrderDetailBizDao.filterListInv(orderDetailBizRequest); return ioOrderDetailBizDao.filterListInv(orderDetailBizRequest);
} }

@ -11,6 +11,7 @@ import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.Date;
import java.util.List; import java.util.List;
@Service @Service
@ -34,6 +35,7 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) { public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) {
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity(); IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity); BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity);
ioOrderInvoiceEntity.setUpdateTime(new Date());
return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity) > 0; return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity) > 0;
} }
@ -41,4 +43,9 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) { public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
return ioOrderInvoiceMapper.insert(ioOrderInvoiceEntity) > 0; return ioOrderInvoiceMapper.insert(ioOrderInvoiceEntity) > 0;
} }
@Override
public List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
return ioOrderInvoiceMapper.selectOrderInvoice(ioOrderInvoiceEntity);
}
} }

@ -153,6 +153,7 @@ public class IoOrderServiceImpl implements IoOrderService {
return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status).gt("updateTime", lastUpdateTime)); return orderDao.selectList(new QueryWrapper<IoOrderEntity>().eq("action", action).eq("status", status).gt("updateTime", lastUpdateTime));
} }
@Override @Override
public int insertOrder(IoOrderEntity orderEntity) { public int insertOrder(IoOrderEntity orderEntity) {
orderEntity.setId(null); orderEntity.setId(null);
@ -421,8 +422,8 @@ public class IoOrderServiceImpl implements IoOrderService {
} }
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_REW);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
update(orderEntity); update(orderEntity);
return true; return true;
@ -590,6 +591,7 @@ public class IoOrderServiceImpl implements IoOrderService {
.gt("spUse", 1).eq("actionType", 1).eq("enable", true)); .gt("spUse", 1).eq("actionType", 1).eq("enable", true));
List<String> actions1 = null; List<String> actions1 = null;
actions1 = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); actions1 = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
if (CollUtil.isNotEmpty(actions1))
filterOrderRequest.setInvoiceActions1(actions1); filterOrderRequest.setInvoiceActions1(actions1);
List<BasicBussinessTypeEntity> bussinessTypeEntities2 = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>() List<BasicBussinessTypeEntity> bussinessTypeEntities2 = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
@ -598,6 +600,7 @@ public class IoOrderServiceImpl implements IoOrderService {
.gt("spUse", 0).eq("actionType", 1).eq("enable", true)); .gt("spUse", 0).eq("actionType", 1).eq("enable", true));
List<String> actions2 = null; List<String> actions2 = null;
actions2 = bussinessTypeEntities2.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList()); actions2 = bussinessTypeEntities2.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
if (CollUtil.isNotEmpty(actions2))
filterOrderRequest.setInvoiceActions2(actions2); filterOrderRequest.setInvoiceActions2(actions2);
} }
@ -737,6 +740,11 @@ public class IoOrderServiceImpl implements IoOrderService {
} }
} }
@Override
public boolean isExitByAction(String action) {
return orderDao.exists(new QueryWrapper<IoOrderEntity>().eq("action", action));
}
/** /**
* *
* *

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.inout.ReceiveDao; import com.glxp.api.dao.inout.ReceiveDao;
import com.glxp.api.dao.inout.ReceiveDetailDao; import com.glxp.api.dao.inout.ReceiveDetailDao;
import com.glxp.api.entity.basic.BasicProductsEntity;
import com.glxp.api.entity.inout.PurReceiveDetailEntity; import com.glxp.api.entity.inout.PurReceiveDetailEntity;
import com.glxp.api.entity.inout.PurReceiveEntity; import com.glxp.api.entity.inout.PurReceiveEntity;
import com.glxp.api.req.inout.FilterReceiveRequest; import com.glxp.api.req.inout.FilterReceiveRequest;
@ -68,6 +67,4 @@ public class ReceiveServiceImpl implements ReceiveService {
} }
} }

@ -1,5 +1,6 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
@ -49,5 +50,9 @@ public interface InvPreProductDetailService {
*/ */
boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest); boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest);
int findCountByCode(String code);
InvPreProductDetailEntity findUseOneByCode(String code);
} }

@ -45,4 +45,6 @@ public interface InvPreProductService {
* @return * @return
*/ */
InvPreProductEntity findById(String id); InvPreProductEntity findById(String id);
boolean isExitByRelId(String relId);
} }

@ -1,6 +1,8 @@
package com.glxp.api.service.inv; package com.glxp.api.service.inv;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse;

@ -81,4 +81,6 @@ public interface InvProductService {
*/ */
List<InvProductResponse> filterProductNames(FilterInvProductRequest filterInvProductRequest); List<InvProductResponse> filterProductNames(FilterInvProductRequest filterInvProductRequest);
boolean isExitByRelId(String relId);
} }

@ -10,12 +10,15 @@ import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.dao.inout.IoOrderDao; import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.dao.inv.InvPreInProductDetailDao; import com.glxp.api.dao.inv.InvPreInProductDetailDao;
import com.glxp.api.dao.inv.InvPreProductDetailDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity; import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest; import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPreProductDetailResponse; import com.glxp.api.res.inv.InvPreProductDetailResponse;
import com.glxp.api.service.inv.InvPreProductDetailService;
import com.glxp.api.service.inv.InvPreinProductDetailService; import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.util.DateUtil; import com.glxp.api.util.DateUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType; import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
@ -11,6 +12,7 @@ import com.glxp.api.dao.inout.IoOrderDao;
import com.glxp.api.dao.inv.InvPreProductDetailDao; import com.glxp.api.dao.inv.InvPreProductDetailDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity; import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest; import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
@ -132,4 +134,31 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic
return invPreProductDetailDao.deleteInvPreProductDetail(detailRequest); return invPreProductDetailDao.deleteInvPreProductDetail(detailRequest);
} }
@Override
public int findCountByCode(String code) {
List<InvPreProductDetailEntity> invPreinDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper<InvPreProductDetailEntity>().eq("code", code));
int count = 0;
if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
for (InvPreProductDetailEntity invProductDetailEntity : invPreinDetailEntities) {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT))
count = count + invProductDetailEntity.getReCount();
else {
count = count - invProductDetailEntity.getReCount();
}
}
}
return count;
}
@Override
public InvPreProductDetailEntity findUseOneByCode(String code) {
List<InvPreProductDetailEntity> invPreinDetailEntities = invPreProductDetailDao.selectList(new QueryWrapper<InvPreProductDetailEntity>().eq("code", code)
.eq("status", ConstantStatus.INVIN_IN).last("limit 1"));
if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
return invPreinDetailEntities.get(0);
}
return null;
}
} }

@ -74,4 +74,11 @@ public class InvPreProductServiceImpl implements InvPreProductService {
return invPreProductDao.selectById(id); return invPreProductDao.selectById(id);
} }
@Override
public boolean isExitByRelId(String relId) {
return invPreProductDao.exists(new QueryWrapper<InvPreProductEntity>().eq("relIdFk", relId));
}
} }

@ -121,4 +121,10 @@ public class InvProductServiceImpl implements InvProductService {
return invProductDao.filterProductNames(filterInvProductRequest); return invProductDao.filterProductNames(filterInvProductRequest);
} }
@Override
public boolean isExitByRelId(String relId) {
return invProductDao.exists(new QueryWrapper<InvProductEntity>().eq("relIdFk", relId));
}
} }

@ -9,6 +9,7 @@
(select employeeName from auth_user au where au.id = io.createUser) createUserName, (select employeeName from auth_user au where au.id = io.createUser) createUserName,
(select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName,
(select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName,
(select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName,
(select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName,
(select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
@ -64,6 +65,14 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="sourceTypes != null and sourceTypes.size() != 0">
AND fromType in
<foreach collection="sourceTypes" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
<if test="statuses != null and statuses.size() != 0"> <if test="statuses != null and statuses.size() != 0">
AND status in AND status in
<foreach collection="statuses" index="index" item="item" open="(" close=")" separator=","> <foreach collection="statuses" index="index" item="item" open="(" close=")" separator=",">
@ -90,22 +99,40 @@
</if> </if>
<if test="supInoivceSearch != null"> <if test="supInoivceSearch != null">
<if test="invoiceActions1 != null and invoiceActions1.size() != 0"> <if test="invoiceActions1 != null and invoiceActions2 == null">
AND ((`action` in AND ((`action` in
<foreach collection="invoiceActions1" index="index" item="item" open="(" close=")" separator=","> <foreach collection="invoiceActions1" index="index" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach> </foreach>
and status = 10) and status = 10)
</if> </if>
<if test="invoiceActions2 != null and invoiceActions2.size() != 0">
or (( <if test="invoiceActions1 == null and invoiceActions2 != null">
or (
`action` in `action` in
<foreach collection="invoiceActions2" index="index" item="item" open="(" close=")" separator=","> <foreach collection="invoiceActions2" index="index" item="item" open="(" close=")" separator=",">
#{item} #{item}
</foreach>) and status = 7 </foreach>
and status = 7
)) ))
</if> </if>
<if test="invoiceActions1 != null and invoiceActions2 != null">
AND ((`action` in
<foreach collection="invoiceActions1" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and status = 10)
or (
`action` in
<foreach collection="invoiceActions2" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
and status = 7)
)
</if>
</if> </if>
</where> </where>
order by createTime desc order by createTime desc
</select> </select>
@ -151,7 +178,13 @@
AND busType = #{busType} AND busType = #{busType}
</if> </if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and
date_format(#{endTime}, '%Y-%m-%d')
</if>
<if test="lastUpdateTime != null and lastUpdateTime != ''">
<![CDATA[
and DATE_FORMAT(updateTime, '%Y-%m-%d %H:%i:%S') >= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S')
]]>
</if> </if>
</where> </where>
order by createTime desc order by createTime desc
@ -183,6 +216,7 @@
(select employeeName from auth_user au where au.id = io.createUser) createUserName, (select employeeName from auth_user au where au.id = io.createUser) createUserName,
(select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName, (select employeeName from auth_user au2 where au2.id = io.updateUser) updateUserName,
(select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName, (select employeeName from auth_user au3 where au3.id = io.reviewUser) reviewUserName,
(select employeeName from auth_user au4 where au4.id = io.checkUser) checkUserName,
(select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName, (select name from auth_dept ad2 where ad2.code = io.fromDeptCode) fromDeptName,
(select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName, (select name from auth_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName, (select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
@ -206,7 +240,8 @@
AND invCode = #{invCode} AND invCode = #{invCode}
</if> </if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> <if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and
date_format(#{endTime}, '%Y-%m-%d')
</if> </if>
<if test="startTime != null and startTime != '' and (endTime == null or endTime == '')"> <if test="startTime != null and startTime != '' and (endTime == null or endTime == '')">
AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d') AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d')

@ -46,4 +46,34 @@
</where> </where>
GROUP BY ic.id GROUP BY ic.id
</select> </select>
<select id="selectOrderDetailBiz" resultType="com.glxp.api.entity.inout.IoOrderDetailBizEntity">
select * from io_order_detail_biz
<where>
<if test="orderId != null and orderId != ''">
AND orderIdFk = #{orderId}
</if>
<if test="relId != null">
AND bindRlFk = #{relId}
</if>
<if test="batchNo != null and batchNo != ''">
AND batchNo = #{batchNo}
</if>
<if test="batchNo == null || batchNo == ''">
AND (batchNo is null or batchNo = '')
</if>
<if test="productDate != null and productDate != ''">
AND productDate = #{productDate}
</if>
<if test="productDate == null or productDate == ''">
AND (productDate is null or productDate = '')
</if>
<if test="expireDate != null and expireDate != ''">
AND expireDate = #{expireDate}
</if>
<if test="expireDate == null || expireDate == ''">
AND (expireDate is null or expireDate = '')
</if>
</where>
</select>
</mapper> </mapper>

@ -39,7 +39,7 @@
AND a2.nameCode = #{nameCode} AND a2.nameCode = #{nameCode}
</if> </if>
<if test="spec != null and spec != ''"> <if test="spec != null and spec != ''">
AND a2.spec = #{spec} AND a2.spec like concat('%', #{spec}, '%')
</if> </if>
<if test="fromCorp != null and fromCorp != ''"> <if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp} AND a1.fromCorp = #{fromCorp}
@ -48,19 +48,19 @@
AND b1.name = #{fromCorpName} AND b1.name = #{fromCorpName}
</if> </if>
<if test="manufacturer != null and manufacturer != ''"> <if test="manufacturer != null and manufacturer != ''">
AND a2.manufacturer = #{manufacturer} AND a2.manufacturer like concat('%', #{manufacturer}, '%')
</if> </if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''"> <if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND a2.certCode = #{zczbhhzbapzbh} AND a2.certCode like concat('%', #{zczbhhzbapzbh}, '%')
</if> </if>
<if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''"> <if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''">
AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and date_format(#{endAduditTime}, '%Y-%m-%d') AND date_format(a1.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and date_format(#{endAduditTime}, '%Y-%m-%d')
</if> </if>
<if test="batchNo != null and batchNo != ''"> <if test="batchNo != null and batchNo != ''">
AND a2.batchNo = #{batchNo} AND a2.batchNo like concat('%', #{batchNo}, '%')
</if> </if>
<if test="coName != null and coName != ''"> <if test="coName != null and coName != ''">
AND a2.coName = #{coName} AND a2.coName like concat('%', #{coName}, '%')
</if> </if>
<if test="productName != null and productName != ''"> <if test="productName != null and productName != ''">
AND a2.coName like concat('%', #{productName}, '%') AND a2.coName like concat('%', #{productName}, '%')

@ -9,4 +9,15 @@
#{productDate}, #{productDate},
#{expireDate}) #{expireDate})
</insert> </insert>
<select id="selectOrderInvoice" parameterType="com.glxp.api.entity.inout.IoOrderInvoiceEntity"
resultType="com.glxp.api.entity.inout.IoOrderInvoiceEntity">
select *
from io_order_invoice
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk}
</if>
</where>
</select>
</mapper> </mapper>

@ -21,7 +21,8 @@
auth_dept.name deptName, auth_dept.name deptName,
auth_warehouse.name invName, auth_warehouse.name invName,
ipp.deptCode, ipp.deptCode,
ipp.invCode ipp.invCode,
bp.measname
from inv_pre_product ipp from inv_pre_product ipp
inner join basic_udirel on ipp.relIdFk = basic_udirel.id inner join basic_udirel on ipp.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid inner join basic_products bp on basic_udirel.uuid = bp.uuid

@ -8,6 +8,7 @@
select ip.id, select ip.id,
ip.nameCode, ip.nameCode,
bp.cpmctymc, bp.cpmctymc,
bp.measname,
ip.relIdFk, ip.relIdFk,
bp.ggxh, bp.ggxh,
ip.batchNo, ip.batchNo,
@ -24,13 +25,15 @@
auth_dept.name deptName, auth_dept.name deptName,
auth_warehouse.name invName, auth_warehouse.name invName,
ip.deptCode, ip.deptCode,
ip.invCode ip.invCode,
as.name spaceName
from inv_product ip from inv_product ip
inner join basic_udirel on ip.relIdFk = basic_udirel.id inner join basic_udirel on ip.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ip.supId = basic_corp.erpId left join basic_corp on ip.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ip.deptCode left join auth_dept on auth_dept.code = ip.deptCode
left join auth_warehouse on auth_warehouse.code = ip.invCode left join auth_warehouse on auth_warehouse.code = ip.invCode
left join auth_space `as` on ip.invSpaceCode = `as`.code
<where> <where>
bp.diType = 1 bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''"> <if test="cpmctymc != null and cpmctymc != ''">
@ -72,6 +75,9 @@
<if test="invCode != null and invCode != ''"> <if test="invCode != null and invCode != ''">
AND ip.invCode = #{invCode} AND ip.invCode = #{invCode}
</if> </if>
<if test="invSpaceCode != null and invSpaceCode != ''">
AND invSpaceCode = #{invSpaceCode}
</if>
<if test="invCodes != null and invCodes.size() != 0"> <if test="invCodes != null and invCodes.size() != 0">
AND ip.invCode in AND ip.invCode in
<foreach collection="invCodes" item="item" index="index" open="(" close=")" separator=","> <foreach collection="invCodes" item="item" index="index" open="(" close=")" separator=",">
@ -142,15 +148,7 @@
</select> </select>
<select id="getMAInvProducts" resultType="com.glxp.api.res.inv.InvProductResponse"> <select id="getMAInvProducts" resultType="com.glxp.api.res.inv.InvProductResponse">
select ip.id, select ip.id, bp.nameCode, bp.cpmctymc, bp.ggxh, ip.batchNo, ip.productionDate, ip.expireDate
bp.nameCode,
bp.cpmctymc,
bp.ggxh,
ip.batchNo,
ip.productionDate,
ip.expireDate,
ip.supId,
(select `name` from basic_corp where erpId = ip.supId) supName
from inv_product ip from inv_product ip
left join inv_product_detail ipd left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and on ip.relIdFk = ipd.relId and
@ -205,7 +203,6 @@
AND ipd.invSpaceCode = #{invSpaceCode} AND ipd.invSpaceCode = #{invSpaceCode}
</if> </if>
</where> </where>
group by ip.id
</select> </select>
<select id="getCountInvProduct" resultType="com.glxp.api.res.inv.InvProductResponse"> <select id="getCountInvProduct" resultType="com.glxp.api.res.inv.InvProductResponse">
@ -218,7 +215,7 @@
basic_products.ggxh, basic_products.ggxh,
inv_product.inCount, inv_product.inCount,
inv_product.outCount, inv_product.outCount,
inv_product.reCount, sum(inv_product.inCount - inv_product.outCount) reCount,
basic_products.cpmctymc basic_products.cpmctymc
from inv_product_detail from inv_product_detail
left join inv_product on inv_product_detail.relId = inv_product.relIdFk left join inv_product on inv_product_detail.relId = inv_product.relIdFk
@ -255,9 +252,9 @@
ip.productionDate, ip.productionDate,
ip.expireDate, ip.expireDate,
ip.supId, ip.supId,
sum(ip.inCount) incount, ip.inCount,
sum(ip.outCount) outCount, ip.outCount,
sum(ip.reCount) reCount ip.reCount
from inv_product ip from inv_product ip
left join inv_product_detail ipd left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty') on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
@ -324,6 +321,8 @@
left join basic_corp on ip.supId = basic_corp.erpId left join basic_corp on ip.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ip.deptCode left join auth_dept on auth_dept.code = ip.deptCode
left join auth_warehouse on auth_warehouse.code = ip.invCode left join auth_warehouse on auth_warehouse.code = ip.invCode
left join inv_product_detail ipd on ip.invCode = ipd.invCode and ip.relIdFk = ipd.relId and
ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
<where> <where>
bp.diType = 1 bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''"> <if test="cpmctymc != null and cpmctymc != ''">
@ -371,9 +370,14 @@
#{item} #{item}
</foreach> </foreach>
</if> </if>
<if test="supName != null and supName != ''">
AND basic_corp.name like concat('%', #{supName}, '%')
</if>
<if test="invSpaceCode != null and invSpaceCode != ''">
AND ipd.invSpaceCode = #{invSpaceCode}
</if>
</where> </where>
group by ip.relIdFk group by ip.relIdFk
order by ip.updateTime desc order by ip.updateTime desc
</select> </select>
</mapper> </mapper>

Loading…
Cancel
Save