单据库存相关代码迁移

master
anthonywj 2 years ago
parent 9cc66f85da
commit ec9c295e03

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

@ -22,9 +22,9 @@ import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.*;
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.system.SystemParamConfigEntity;
import com.glxp.api.http.sync.SpsDirectClient;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
import com.glxp.api.req.inout.AddEnterCodeRequest;
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.basic.*;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinProductDetailService;
import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.inv.*;
import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
@ -70,8 +68,6 @@ public class IoCodeTempController extends BaseController {
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
private SpsDirectClient spsDirectClient;
@Resource
IoAddInoutService transInoutService;
@Resource
private SystemParamConfigService systemParamConfigService;
@ -101,6 +97,8 @@ public class IoCodeTempController extends BaseController {
IoOrderDetailBizService orderDetailBizService;
@Resource
IoCodeService codeService;
@Resource
InvPreProductDetailService invPreProductDetailService;
//手持端扫码单据上传调用接口
@AuthRuleAnnotation("")
@ -136,10 +134,6 @@ public class IoCodeTempController extends BaseController {
inPostOrder.setPostOrders(inPostOrders);
outPostOrder.setPostOrders(outPostOrders);
if (CollUtil.isNotEmpty(outPostOrders)) {
outPostOrder.setWmsUserId(userId + "");
return spsDirectClient.uploadPdaOrder(outPostOrder);
}
if (CollUtil.isNotEmpty(inPostOrders)) {
inPostOrder.setCustomerId(getCustomerId());
@ -438,9 +432,13 @@ public class IoCodeTempController extends BaseController {
}
}
//失效期提醒
SystemParamConfigEntity recentParamConfigEntity = systemParamConfigService.selectByParamKey("recent_date_tip");
long recent = Long.parseLong(recentParamConfigEntity.getParamValue());
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectByNameCode(udiEntity.getUdi());
//近效期提醒
// 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 (StrUtil.isNotEmpty(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) {
@ -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) {
@ -618,7 +660,7 @@ public class IoCodeTempController extends BaseController {
//产品是否可以以使用单元入库
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false);
if (udiRelevanceResponses.size() >= 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
// UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!");
} 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) {
IoCodeTempEntity codeTempEntity = codeTempService.selectById(id);
if (codeTempEntity == null) {
return ResultVOUtils.error(506, "UDI码异常未录入");
}
IoOrderEntity orderEntity = orderService.findByBillNo(codeTempEntity.getOrderId());
if (codeTempEntity.getMyCount() > 1) {
codeTempEntity.setCount(codeTempEntity.getMyCount() - 1);
@ -1002,8 +1047,8 @@ public class IoCodeTempController extends BaseController {
}
boolean r1 = orderDetailBizService.isExit(orderDetailCodeEntity.getOrderIdFk());
boolean r2 = ioOrderDetailCodeService.isExit(orderDetailCodeEntity.getOrderIdFk());
boolean r1 = orderDetailBizService.isExit(orderEntity.getBillNo());
boolean r2 = ioOrderDetailCodeService.isExit(orderEntity.getBillNo());
if (!r1 && !r2) {
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.OrderNoTypeBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
@ -88,6 +90,15 @@ public class IoOrderController extends BaseController {
if (StrUtil.isNotEmpty(filterOrderRequest.getSupInoivceSearch())) {
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();
if (!customerId.equals("110")) {
filterOrderRequest.setFromCorp(customerId);
@ -315,19 +326,38 @@ public class IoOrderController extends BaseController {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
IoOrderEntity orderEntity = orderService.findByBillNo(billNo);
if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) {
return ResultVOUtils.error(500, "单据已补单,无法撤回!");
}
if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) {
return ResultVOUtils.error(500, "单据已同步,无法撤回!");
}
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
if (StrUtil.isNotEmpty(orderEntity.getSupplementNo()) || StrUtil.isNotEmpty(orderEntity.getUllageSupNo())) {
return ResultVOUtils.error(500, "单据已补单,无法撤回!");
}
if (orderEntity.getSyncStatus() != null && orderEntity.getSyncStatus() == 1) {
return ResultVOUtils.error(500, "单据已同步,无法撤回!");
}
boolean result = orderService.rollbackOrder(billNo);
if (result) {
return ResultVOUtils.success();
}
return ResultVOUtils.error(ResultEnum.NOT_NETWORK, "撤回失败");
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
boolean result = orderService.rollbackOrder(billNo);
if (result) {
return ResultVOUtils.success();
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();
}
@PostMapping("/udiwms/inout/order/updateOrder")
@Log(title = "单据管理", businessType = BusinessType.UPDATE)
public BaseResponse updateOrder(@RequestBody IoOrderEntity ioOrderEntity) {
orderService.updateByBillNo(ioOrderEntity);
return ResultVOUtils.success();
}
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
@ -590,4 +628,5 @@ public class IoOrderController extends BaseController {
orderService.update(originOrder);
return ResultVOUtils.success();
}
}

@ -50,6 +50,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -114,14 +115,15 @@ public class IoOrderDetailBizController extends BaseController {
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) {
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();
if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas()))
return ResultVOUtils.error(500, "未选择产品信息");
if (addBizProductReqeust.getOrderEntity() == null)
return ResultVOUtils.error(500, "未指定订单");
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());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
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());
// todo 查询产品是否已经通过认证
// if (isVailCert && udiRelevanceResponse.isNeedCert()) {
// SupProductEntity supProductEntity = supProductService.findByRelIdFk(udiRelevanceResponse.getId() + "");
// BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
// if (bussinessTypeEntity.getCheckCertExpire() == 2 && udiRelevanceResponse.isNeedCert()) {
// SupProductEntity supProductEntity = supProductService.findByManufactury(udiRelevanceResponse.getCpmctymc(), udiRelevanceResponse.getManufactory(), "");
// if (supProductEntity != null && (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS)) {
//
// } else {
@ -472,7 +474,19 @@ public class IoOrderDetailBizController extends BaseController {
@PostMapping("/udiwms/inout/order/delBizProduct")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
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.setExpireDate(ioOrderDetailBizEntity.getExpireDate());
ioOrderInvoiceEntity.setBizIdFk(ioOrderDetailBizEntity.getId());
ioOrderInvoiceEntity.setCreateTime(new Date());
ioOrderInvoiceEntity.setUpdateTime(new Date());
boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
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.ReviewSpmsRequest;
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.inout.AcceptOrderResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse;
@ -377,7 +378,6 @@ public class IoOrderReviewController extends BaseController {
return false;
}
//前端页面清空,重新验收
@AuthRuleAnnotation("")
@PostMapping("/udiwms/stock/order/acceptClear")
public BaseResponse acceptClear(@RequestBody AcceptOrderResponse acceptOrderEntity) {
@ -400,13 +400,6 @@ public class IoOrderReviewController extends BaseController {
orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + 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);
return ResultVOUtils.success("更新成功");
@ -415,7 +408,7 @@ public class IoOrderReviewController extends BaseController {
//前端第二次次验收
public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setReviewUser(authAdmin.getId() + "");
orderEntity.setCheckUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date());
orderEntity.setCheckTime(new Date());
orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED);
@ -497,4 +490,5 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success(acceptOrderEntity);
}
}

@ -49,53 +49,53 @@ public class ioCodeRelController {
//判断码有没有重复
List<IoCodeRelEntity> list = ioCodeRelServicec.selectIoCodeRelByCode("", code);
if (list.size() > 0) {
return ResultVOUtils.error(999, "此码已做关联!");
List<IoCodeRelEntity> list=ioCodeRelServicec.selectIoCodeRelByCode("",code);
if(list.size()>0){
return ResultVOUtils.error(999,"此码已做关联!");
}
if (StrUtil.isNotEmpty(code)) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
UdiProductEntity udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi());
if (udiProductEntity.getPackLevel() != null) {
if (Integer.valueOf(udiProductEntity.getPackLevel()) > 1) {
if(StrUtil.isNotEmpty(code)){
UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(code);
UdiProductEntity udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi());
if(udiProductEntity.getPackLevel()!=null){
if(Integer.valueOf(udiProductEntity.getPackLevel())>1){
return ResultVOUtils.success(udiProductEntity.getBhxjcpbm());
}
}
}
return ResultVOUtils.error(999, "扫码错误!");
return ResultVOUtils.error(999,"扫码错误!");
}
@GetMapping("/udi/ioCode/Rel/checkLowProduct")
@Log(title = "单据管理", businessType = BusinessType.INSERT)
public BaseResponse checkLowProduct(String upCode, String lowCode) {
public BaseResponse checkLowProduct(String upCode,String lowCode) {
UdiProductEntity udiProductEntity = new UdiProductEntity();
UdiProductEntity udiProductEntity=new UdiProductEntity();
//查询上级产品信息
if (StrUtil.isNotEmpty(upCode)) {
UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(upCode);
udiProductEntity = udiProductService.findByNameCode(udiEntity.getUdi());
if(StrUtil.isNotEmpty(upCode)){
UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(upCode);
udiProductEntity=udiProductService.findByNameCode(udiEntity.getUdi());
}
//判断码有没有重复
List<IoCodeRelEntity> list = ioCodeRelServicec.selectIoCodeRelByCode(lowCode, upCode);
if (list.size() > 0) {
return ResultVOUtils.error(999, "此码已做关联!");
List<IoCodeRelEntity> list=ioCodeRelServicec.selectIoCodeRelByCode(lowCode,upCode);
if(list.size()>0){
return ResultVOUtils.error(999,"此码已做关联!");
}
//判断条数是否超出
Long count = ioCodeRelServicec.selectIoCodeRelCount(upCode);
if (count >= udiProductEntity.getBhxjsl()) {
return ResultVOUtils.error(999, "数量超出!");
Long count=ioCodeRelServicec.selectIoCodeRelCount(upCode);
if(count>=udiProductEntity.getBhxjsl()){
return ResultVOUtils.error(999,"数量超出!");
}
//查询下级产品信息
if (StrUtil.isNotEmpty(lowCode)) {
UdiEntity udiEntity = FilterUdiUtils.getGS1Udi(lowCode);
UdiProductEntity udiProductEntity1 = udiProductService.findByNameCode(udiEntity.getUdi());
if (udiProductEntity != null) {
if (udiProductEntity1.getNameCode().equals(udiProductEntity.getBhxjcpbm())) {
IoCodeRelEntity ioCodeRelEntity = new IoCodeRelEntity();
if(StrUtil.isNotEmpty(lowCode)){
UdiEntity udiEntity=FilterUdiUtils.getGS1Udi(lowCode);
UdiProductEntity udiProductEntity1=udiProductService.findByNameCode(udiEntity.getUdi());
if(udiProductEntity!=null){
if(udiProductEntity1.getNameCode().equals(udiProductEntity.getBhxjcpbm())){
IoCodeRelEntity ioCodeRelEntity=new IoCodeRelEntity();
ioCodeRelEntity.setCode(lowCode);
ioCodeRelEntity.setParentCode(upCode);
ioCodeRelEntity.setNameCode(udiProductEntity1.getNameCode());
@ -107,13 +107,13 @@ public class ioCodeRelController {
ioCodeRelEntity.setCreateTime(new Date());
ioCodeRelEntity.setUpdateTime(new Date());
ioCodeRelServicec.insert(ioCodeRelEntity);
return ResultVOUtils.success();
} else {
return ResultVOUtils.error(999, "该条码不属于下级产品!");
return ResultVOUtils.success();
}else{
return ResultVOUtils.error(999,"该条码不属于下级产品!");
}
}
}
return ResultVOUtils.error(999, "");
return ResultVOUtils.error(999,"");
}
@GetMapping("/udi/ioCode/Rel/delectList")
@ -131,13 +131,13 @@ public class ioCodeRelController {
@GetMapping("/udi/ioCode/Rel/del")
@Log(title = "单据管理", businessType = BusinessType.DELETE)
public BaseResponse del(String code, String parentCode) {
public BaseResponse del(String code,String parentCode) {
int count = ioCodeRelServicec.delIoCodeRel(code, parentCode);
if (count > 0) {
int count=ioCodeRelServicec.delIoCodeRel(code,parentCode);
if(count>0){
return ResultVOUtils.success("删除成功");
} else {
return ResultVOUtils.error(999, "删除失败");
}else{
return ResultVOUtils.error(999,"删除失败");
}
}

@ -5,9 +5,11 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.annotation.Log;
import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.BusinessType;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.inv.InvProductEntity;
@ -160,6 +162,7 @@ public class InvProductController extends BaseController {
* @return
*/
@PostMapping("/spms/inv/product/delete")
@Log(title = "库存查询", businessType = BusinessType.DELETE)
public BaseResponse deleteInvProduct(@RequestBody DeleteRequest deleteRequest, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
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.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -20,4 +21,15 @@ public interface IoOrderDetailBizDao extends BaseMapperPlus<IoOrderDetailBizDao,
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
*/
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 org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper
public interface IoOrderInvoiceMapper extends BaseMapperPlus<IoOrderInvoiceMapper, IoOrderInvoiceEntity, IoOrderInvoiceEntity> {
boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
List<IoOrderInvoiceEntity> selectOrderInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
}

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

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

@ -1,8 +1,15 @@
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 java.util.Date;
import java.util.List;
/**
* @author : zhangsan
@ -60,6 +67,8 @@ public class IoOrderInvoiceRequest {
private String remark;
private Long bizIdFk;
public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk";

@ -157,5 +157,12 @@ public class IoOrderDetailBizResponse {
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);
InvWarehouseEntity curInv = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
InvWarehouseEntity upInv = invWarehouseService.findByInvSubByCode(curInv.getParentCode());
outOrder.setFromInvCode(upInv.getCode());
outOrder.setFromDeptCode(upInv.getParentId());
if (upInv != null) {
outOrder.setFromInvCode(upInv.getCode());
outOrder.setFromDeptCode(upInv.getParentId());
}
//原先流程---使用流转单据默认仓库
// outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode());
// outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode());

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

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

@ -1,7 +1,9 @@
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.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.req.inout.IoCodeLostRequest;
import com.glxp.api.res.inout.IoCodeLostResponse;
import org.springframework.stereotype.Service;
@ -13,6 +15,7 @@ import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.service.inout.IoCodeLostService;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collections;
import java.util.List;
@Service
@ -25,13 +28,24 @@ public class IoCodeLostServiceImpl extends ServiceImpl<IoCodeLostMapper, IoCodeL
@Override
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);
}
@Override
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

@ -73,6 +73,8 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override
public boolean isExit(String billNo) {
if (billNo == null)
return false;
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", billNo));
}
@ -85,16 +87,7 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override
public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo, String productDate, String expireDate) {
return ioOrderDetailBizDao.selectOne(new QueryWrapper<IoOrderDetailBizEntity>()
.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")
);
return ioOrderDetailBizDao.selectOrderDetailBiz(orderId, relId, bacthNo, productDate, expireDate);
}
@Override
@ -138,6 +131,12 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
@Override
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);
}

@ -11,6 +11,7 @@ import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date;
import java.util.List;
@Service
@ -34,6 +35,7 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) {
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
BeanUtils.copyProperties(ioOrderInvoiceRequest, ioOrderInvoiceEntity);
ioOrderInvoiceEntity.setUpdateTime(new Date());
return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity) > 0;
}
@ -41,4 +43,9 @@ public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
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));
}
@Override
public int insertOrder(IoOrderEntity orderEntity) {
orderEntity.setId(null);
@ -421,8 +422,8 @@ public class IoOrderServiceImpl implements IoOrderService {
}
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_SUCCESS);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_REW);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setUpdateTime(new Date());
update(orderEntity);
return true;
@ -590,7 +591,8 @@ public class IoOrderServiceImpl implements IoOrderService {
.gt("spUse", 1).eq("actionType", 1).eq("enable", true));
List<String> actions1 = null;
actions1 = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
filterOrderRequest.setInvoiceActions1(actions1);
if (CollUtil.isNotEmpty(actions1))
filterOrderRequest.setInvoiceActions1(actions1);
List<BasicBussinessTypeEntity> bussinessTypeEntities2 = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT)
@ -598,7 +600,8 @@ public class IoOrderServiceImpl implements IoOrderService {
.gt("spUse", 0).eq("actionType", 1).eq("enable", true));
List<String> actions2 = null;
actions2 = bussinessTypeEntities2.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
filterOrderRequest.setInvoiceActions2(actions2);
if (CollUtil.isNotEmpty(actions2))
filterOrderRequest.setInvoiceActions2(actions2);
}
@Override
@ -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.glxp.api.dao.inout.ReceiveDao;
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.PurReceiveEntity;
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;
import com.glxp.api.entity.inv.InvPreInProductDetailEntity;
import com.glxp.api.entity.inv.InvPreProductDetailEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
@ -49,5 +50,9 @@ public interface InvPreProductDetailService {
*/
boolean deleteInvPreProductDetail(FilterInvProductDetailRequest detailRequest);
int findCountByCode(String code);
InvPreProductDetailEntity findUseOneByCode(String code);
}

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

@ -1,6 +1,8 @@
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.InvPreinDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
import com.glxp.api.req.inv.FilterInvProductDetailRequest;
import com.glxp.api.res.inv.InvPreProductDetailResponse;

@ -81,4 +81,6 @@ public interface InvProductService {
*/
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.inout.IoOrderDao;
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.inout.IoOrderEntity;
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.FilterInvProductDetailRequest;
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.util.DateUtil;
import lombok.extern.slf4j.Slf4j;

@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.BasicBussinessTypeDao;
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.entity.basic.BasicBussinessTypeEntity;
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.InvProductDetailEntity;
import com.glxp.api.req.inv.FilterInvPreProductDetailRequest;
@ -132,4 +134,31 @@ public class InvPreProductDetailServiceImpl implements InvPreProductDetailServic
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);
}
@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);
}
@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 au2 where au2.id = io.updateUser) updateUserName,
(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_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
@ -64,6 +65,14 @@
#{item}
</foreach>
</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">
AND status in
<foreach collection="statuses" index="index" item="item" open="(" close=")" separator=",">
@ -90,22 +99,40 @@
</if>
<if test="supInoivceSearch != null">
<if test="invoiceActions1 != null and invoiceActions1.size() != 0">
<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)
</if>
<if test="invoiceActions2 != null and invoiceActions2.size() != 0">
or ((
<if test="invoiceActions1 == null and invoiceActions2 != null">
or (
`action` in
<foreach collection="invoiceActions2" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>) and status = 7
</foreach>
and status = 7
))
</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>
</where>
order by createTime desc
</select>
@ -151,7 +178,13 @@
AND busType = #{busType}
</if>
<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>
</where>
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 au2 where au2.id = io.updateUser) updateUserName,
(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_warehouse aw2 where aw2.code = io.fromInvCode) fromInvName,
(select name from basic_corp bc where bc.erpId = io.fromCorp) fromCorpName,
@ -206,7 +240,8 @@
AND invCode = #{invCode}
</if>
<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="startTime != null and startTime != '' and (endTime == null or endTime == '')">
AND date_format(createTime, '%Y-%m-%d') >= date_format(#{startTime}, '%Y-%m-%d')

@ -46,4 +46,34 @@
</where>
GROUP BY ic.id
</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>

@ -39,7 +39,7 @@
AND a2.nameCode = #{nameCode}
</if>
<if test="spec != null and spec != ''">
AND a2.spec = #{spec}
AND a2.spec like concat('%', #{spec}, '%')
</if>
<if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp}
@ -48,19 +48,19 @@
AND b1.name = #{fromCorpName}
</if>
<if test="manufacturer != null and manufacturer != ''">
AND a2.manufacturer = #{manufacturer}
AND a2.manufacturer like concat('%', #{manufacturer}, '%')
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND a2.certCode = #{zczbhhzbapzbh}
AND a2.certCode like concat('%', #{zczbhhzbapzbh}, '%')
</if>
<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')
</if>
<if test="batchNo != null and batchNo != ''">
AND a2.batchNo = #{batchNo}
AND a2.batchNo like concat('%', #{batchNo}, '%')
</if>
<if test="coName != null and coName != ''">
AND a2.coName = #{coName}
AND a2.coName like concat('%', #{coName}, '%')
</if>
<if test="productName != null and productName != ''">
AND a2.coName like concat('%', #{productName}, '%')

@ -9,4 +9,15 @@
#{productDate},
#{expireDate})
</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>

@ -3,31 +3,32 @@
<mapper namespace="com.glxp.api.dao.inv.InvPreProductDao">
<select id="filterList" resultType="com.glxp.api.res.inv.InvPreProductResponse">
select ipp.id,
ipp.nameCode,
bp.cpmctymc,
ipp.relIdFk,
bp.ggxh,
ipp.batchNo,
ipp.productionDate,
ipp.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
ipp.inCount,
ipp.outCount,
ipp.reCount,
ipp.customerId,
basic_corp.name supName,
ipp.supId,
auth_dept.name deptName,
auth_warehouse.name invName,
ipp.deptCode,
ipp.invCode
ipp.nameCode,
bp.cpmctymc,
ipp.relIdFk,
bp.ggxh,
ipp.batchNo,
ipp.productionDate,
ipp.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
ipp.inCount,
ipp.outCount,
ipp.reCount,
ipp.customerId,
basic_corp.name supName,
ipp.supId,
auth_dept.name deptName,
auth_warehouse.name invName,
ipp.deptCode,
ipp.invCode,
bp.measname
from inv_pre_product ipp
inner join basic_udirel on ipp.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ipp.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ipp.deptCode
left join auth_warehouse on auth_warehouse.code = ipp.invCode
inner join basic_udirel on ipp.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ipp.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ipp.deptCode
left join auth_warehouse on auth_warehouse.code = ipp.invCode
<where>
bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''">
@ -81,11 +82,11 @@
<select id="filterPreProductList" resultType="com.glxp.api.entity.inv.InvPreProductEntity">
select ipp.*
from inv_pre_product ipp
inner join basic_udirel on ipp.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ipp.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ipp.deptCode
left join auth_warehouse on auth_warehouse.code = ipp.invCode
inner join basic_udirel on ipp.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ipp.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ipp.deptCode
left join auth_warehouse on auth_warehouse.code = ipp.invCode
<where>
bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''">
@ -135,4 +136,4 @@
</if>
</where>
</select>
</mapper>
</mapper>

@ -6,31 +6,34 @@
<select id="filterList" resultType="com.glxp.api.res.inv.InvProductResponse"
parameterType="com.glxp.api.req.inv.FilterInvProductRequest">
select ip.id,
ip.nameCode,
bp.cpmctymc,
ip.relIdFk,
bp.ggxh,
ip.batchNo,
ip.productionDate,
ip.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
sum(ip.inCount) as inCount,
sum(ip.outCount) as outCount,
sum(ip.reCount) as reCount,
ip.customerId,
basic_corp.name supName,
ip.supId,
auth_dept.name deptName,
auth_warehouse.name invName,
ip.deptCode,
ip.invCode
ip.nameCode,
bp.cpmctymc,
bp.measname,
ip.relIdFk,
bp.ggxh,
ip.batchNo,
ip.productionDate,
ip.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
sum(ip.inCount) as inCount,
sum(ip.outCount) as outCount,
sum(ip.reCount) as reCount,
ip.customerId,
basic_corp.name supName,
ip.supId,
auth_dept.name deptName,
auth_warehouse.name invName,
ip.deptCode,
ip.invCode,
as.name spaceName
from inv_product ip
inner join basic_udirel on ip.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ip.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ip.deptCode
left join auth_warehouse on auth_warehouse.code = ip.invCode
inner join basic_udirel on ip.relIdFk = basic_udirel.id
inner join basic_products bp on basic_udirel.uuid = bp.uuid
left join basic_corp on ip.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ip.deptCode
left join auth_warehouse on auth_warehouse.code = ip.invCode
left join auth_space `as` on ip.invSpaceCode = `as`.code
<where>
bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''">
@ -72,6 +75,9 @@
<if test="invCode != null and invCode != ''">
AND ip.invCode = #{invCode}
</if>
<if test="invSpaceCode != null and invSpaceCode != ''">
AND invSpaceCode = #{invSpaceCode}
</if>
<if test="invCodes != null and invCodes.size() != 0">
AND ip.invCode in
<foreach collection="invCodes" item="item" index="index" open="(" close=")" separator=",">
@ -85,26 +91,26 @@
<select id="stockStatistics" resultType="com.glxp.api.res.inv.InvProductResponse">
select bp.cpmctymc,
bp.nameCode,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
bc.name supName,
bp.ggxh,
aw.name invName,
ip.batchNo,
ip.relIdFk,
ip.productionDate,
ip.expireDate,
ip.customerId,
ip.supId,
sum(ip.inCount) inCount,
sum(ip.outCount) outCount,
sum(ip.reCount) reCount
bp.nameCode,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
bc.name supName,
bp.ggxh,
aw.name invName,
ip.batchNo,
ip.relIdFk,
ip.productionDate,
ip.expireDate,
ip.customerId,
ip.supId,
sum(ip.inCount) inCount,
sum(ip.outCount) outCount,
sum(ip.reCount) reCount
from inv_product ip
inner join basic_udirel bu on ip.relIdFk = bu.id
inner join basic_products bp on bu.uuid = bp.uuid
left join basic_corp bc on ip.supId = bc.erpId
left join auth_warehouse aw on aw.code = ip.invCode
inner join basic_udirel bu on ip.relIdFk = bu.id
inner join basic_products bp on bu.uuid = bp.uuid
left join basic_corp bc on ip.supId = bc.erpId
left join auth_warehouse aw on aw.code = ip.invCode
<where>
bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''">
@ -142,21 +148,13 @@
</select>
<select id="getMAInvProducts" resultType="com.glxp.api.res.inv.InvProductResponse">
select ip.id,
bp.nameCode,
bp.cpmctymc,
bp.ggxh,
ip.batchNo,
ip.productionDate,
ip.expireDate,
ip.supId,
(select `name` from basic_corp where erpId = ip.supId) supName
select ip.id, bp.nameCode, bp.cpmctymc, bp.ggxh, ip.batchNo, ip.productionDate, ip.expireDate
from inv_product ip
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and
ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
left join basic_udirel bu on bu.id = ip.relIdFk
left join basic_products bp on bu.uuid = bp.uuid
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and
ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
left join basic_udirel bu on bu.id = ip.relIdFk
left join basic_products bp on bu.uuid = bp.uuid
<where>
(inCount - outCount) > 0
<if test="nameCode != null and nameCode != ''">
@ -184,10 +182,10 @@
<select id="selectProductInfo" resultType="com.glxp.api.entity.inv.InvProductEntity">
select ip.*
from inv_product ip
left join inv_product_detail ipd on ip.relIdFk = ipd.relId
and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
and ip.deptCode = ipd.deptCode
and ip.invCode = ipd.invCode
left join inv_product_detail ipd on ip.relIdFk = ipd.relId
and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
and ip.deptCode = ipd.deptCode
and ip.invCode = ipd.invCode
<where>
<if test="relId != null and relId != ''">
AND ip.relIdFk = #{relId}
@ -205,27 +203,26 @@
AND ipd.invSpaceCode = #{invSpaceCode}
</if>
</where>
group by ip.id
</select>
<select id="getCountInvProduct" resultType="com.glxp.api.res.inv.InvProductResponse">
select inv_product_detail.id,
inv_product.relIdFk,
inv_product.nameCode,
inv_product.batchNo,
inv_product.productionDate,
inv_product.expireDate,
basic_products.ggxh,
inv_product.inCount,
inv_product.outCount,
inv_product.reCount,
basic_products.cpmctymc
inv_product.relIdFk,
inv_product.nameCode,
inv_product.batchNo,
inv_product.productionDate,
inv_product.expireDate,
basic_products.ggxh,
inv_product.inCount,
inv_product.outCount,
sum(inv_product.inCount - inv_product.outCount) reCount,
basic_products.cpmctymc
from inv_product_detail
left join inv_product on inv_product_detail.relId = inv_product.relIdFk
and inv_product.invCode = inv_product_detail.invCode
AND IFNULL(inv_product.batchNo, 'empty') = IFNULL(inv_product_detail.batchNo, 'empty')
left join basic_udirel on inv_product_detail.relId = basic_udirel.id
left join basic_products on basic_products.uuid = basic_udirel.uuid
left join inv_product on inv_product_detail.relId = inv_product.relIdFk
and inv_product.invCode = inv_product_detail.invCode
AND IFNULL(inv_product.batchNo, 'empty') = IFNULL(inv_product_detail.batchNo, 'empty')
left join basic_udirel on inv_product_detail.relId = basic_udirel.id
left join basic_products on basic_products.uuid = basic_udirel.uuid
<where>
<if test="invCode != null and invCode != ''">
AND inv_product_detail.invCode = #{invCode}
@ -248,19 +245,19 @@
<select id="selectInvProductInfo" resultType="com.glxp.api.entity.inv.InvProductEntity">
select ip.relIdFk,
ip.deptCode,
ip.invCode,
ipd.invSpaceCode,
ip.batchNo,
ip.productionDate,
ip.expireDate,
ip.supId,
sum(ip.inCount) incount,
sum(ip.outCount) outCount,
sum(ip.reCount) reCount
ip.deptCode,
ip.invCode,
ipd.invSpaceCode,
ip.batchNo,
ip.productionDate,
ip.expireDate,
ip.supId,
ip.inCount,
ip.outCount,
ip.reCount
from inv_product ip
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
left join inv_product_detail ipd
on ip.relIdFk = ipd.relId and ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
<where>
<if test="invCode != null and invCode != ''">
AND ip.invCode = #{invCode}
@ -278,10 +275,10 @@
<select id="filterProductNames" resultType="com.glxp.api.res.inv.InvProductResponse">
select ip.relIdFk, bp.cpmctymc, bp.ggxh
from inv_product ip
left join inv_product_detail ipd on ip.relIdFk = ipd.relId and ip.invCode = ipd.invCode and
ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
left join basic_udirel bu on bu.id = ip.relIdFk
left join basic_products bp on bp.uuid = bu.uuid
left join inv_product_detail ipd on ip.relIdFk = ipd.relId and ip.invCode = ipd.invCode and
ifnull(ip.batchNo, 'empty') = ifnull(ipd.batchNo, 'empty')
left join basic_udirel bu on bu.id = ip.relIdFk
left join basic_products bp on bp.uuid = bu.uuid
<where>
<if test="cpmctymc != null and cpmctymc != ''">
AND bp.cpmctymc like concat('%', #{cpmctymc}, '%')
@ -308,9 +305,9 @@
ip.expireDate,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
sum(ip.inCount) as inCount,
sum(ip.inCount) as inCount,
sum(ip.outCount) as outCount,
sum(ip.reCount)as reCount,
sum(ip.reCount) as reCount,
ip.customerId,
basic_corp.name supName,
ip.supId,
@ -324,6 +321,8 @@
left join basic_corp on ip.supId = basic_corp.erpId
left join auth_dept on auth_dept.code = ip.deptCode
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>
bp.diType = 1
<if test="cpmctymc != null and cpmctymc != ''">
@ -371,9 +370,14 @@
#{item}
</foreach>
</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>
group by ip.relIdFk
order by ip.updateTime desc
</select>
</mapper>

Loading…
Cancel
Save