领用单据功能完善

zhairh
anthonyywj2 3 years ago
parent 9557bc96f4
commit 7c996be857

@ -9,8 +9,11 @@ import com.glxp.sale.admin.controller.inout.utils.CheckOrderUtils;
import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil; import com.glxp.sale.admin.controller.inout.utils.ContrastErpUtil;
import com.glxp.sale.admin.controller.inout.utils.DataTransUtil; import com.glxp.sale.admin.controller.inout.utils.DataTransUtil;
import com.glxp.sale.admin.entity.auth.AuthAdmin; import com.glxp.sale.admin.entity.auth.AuthAdmin;
import com.glxp.sale.admin.entity.basic.BasicBusTypeChangeEntity;
import com.glxp.sale.admin.entity.basic.BussinessTypeEntity; import com.glxp.sale.admin.entity.basic.BussinessTypeEntity;
import com.glxp.sale.admin.entity.basic.UdiRelevanceEntity;
import com.glxp.sale.admin.entity.inout.*; import com.glxp.sale.admin.entity.inout.*;
import com.glxp.sale.admin.entity.inventory.InvWarehouseEntity;
import com.glxp.sale.admin.entity.param.SystemParamConfigEntity; import com.glxp.sale.admin.entity.param.SystemParamConfigEntity;
import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity;
@ -24,12 +27,10 @@ import com.glxp.sale.admin.res.basic.BussinessOriginTypeResponse;
import com.glxp.sale.admin.res.basic.UdiRelevanceResponse; import com.glxp.sale.admin.res.basic.UdiRelevanceResponse;
import com.glxp.sale.admin.res.inout.ErpOrderResponse; import com.glxp.sale.admin.res.inout.ErpOrderResponse;
import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.auth.CustomerService;
import com.glxp.sale.admin.service.basic.BussinessOriginTypeService; import com.glxp.sale.admin.service.basic.*;
import com.glxp.sale.admin.service.basic.BussinessTypeService;
import com.glxp.sale.admin.service.basic.UdiInfoService;
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
import com.glxp.sale.admin.service.info.CompanyService; import com.glxp.sale.admin.service.info.CompanyService;
import com.glxp.sale.admin.service.inout.*; import com.glxp.sale.admin.service.inout.*;
import com.glxp.sale.admin.service.inventory.InvWarehouseService;
import com.glxp.sale.admin.service.param.SystemParamConfigService; import com.glxp.sale.admin.service.param.SystemParamConfigService;
import com.glxp.sale.admin.service.thrsys.ThrDataService; import com.glxp.sale.admin.service.thrsys.ThrDataService;
import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService; import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService;
@ -112,7 +113,7 @@ public class OrderDetailController {
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());
} }
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest); BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest);
@ -150,7 +151,6 @@ public class OrderDetailController {
pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpOrderResponses); pageSimpleResponse.setList(erpOrderResponses);
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
// }
} }
//手持终端下载业务单据 //手持终端下载业务单据
@ -211,6 +211,9 @@ public class OrderDetailController {
// } // }
} }
@Resource
BasicBusTypeChangeService basicBusTypeChangeService;
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("/udiwms/erpOrder/addStockOrder") @GetMapping("/udiwms/erpOrder/addStockOrder")
public BaseResponse addStockOrder(FilterOrderRequest filterErpOrderRequest, public BaseResponse addStockOrder(FilterOrderRequest filterErpOrderRequest,
@ -219,16 +222,13 @@ public class OrderDetailController {
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());
} }
String customerId = customerService.getCustomerId() + ""; String customerId = customerService.getCustomerId() + "";
ThrOrderEntity thrOrderEntity = thrOrderService.findById(String.valueOf(filterErpOrderRequest.getId())); ThrOrderEntity thrOrderEntity = thrOrderService.findById(String.valueOf(filterErpOrderRequest.getId()));
if (thrOrderEntity == null) { if (thrOrderEntity == null) {
return ResultVOUtils.error(ResultEnum.DATA_NOT); return ResultVOUtils.error(ResultEnum.DATA_NOT);
} }
StockOrderEntity temp = stockOrderService.findByBillNo(thrOrderEntity.getBillNo() + ""); StockOrderEntity temp = stockOrderService.findByBillNo(thrOrderEntity.getBillNo());
if (temp != null) { if (temp != null) {
return ResultVOUtils.error(500, "单据已被选入,请勿重复选入!"); return ResultVOUtils.error(500, "单据已被选入,请勿重复选入!");
} }
@ -237,8 +237,11 @@ public class OrderDetailController {
BeanUtils.copyProperties(thrOrderEntity, stockOrderEntity); BeanUtils.copyProperties(thrOrderEntity, stockOrderEntity);
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd")); String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd"));
stockOrderEntity.setBillNo(billNo); stockOrderEntity.setBillNo(billNo);
//第三方单据
BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.finByThirdAction(thrOrderEntity.getBillType()); BussinessOriginTypeResponse bussinessOriginTypeResponse = bussinessOriginTypeService.finByThirdAction(thrOrderEntity.getBillType());
stockOrderEntity.setBillType(bussinessOriginTypeResponse.getLocalAction()); stockOrderEntity.setBillType(bussinessOriginTypeResponse.getLocalAction());
stockOrderEntity.setId(null); stockOrderEntity.setId(null);
stockOrderEntity.setCustomerId(customerId); stockOrderEntity.setCustomerId(customerId);
stockOrderEntity.setUnitIdFk(customerId); stockOrderEntity.setUnitIdFk(customerId);
@ -259,8 +262,14 @@ public class OrderDetailController {
List<StockOrderDetailEntity> stockOrderDetailEntityList = new ArrayList<>(); List<StockOrderDetailEntity> stockOrderDetailEntityList = new ArrayList<>();
for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity(); StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity();
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrOrderDetailEntity.getProductId(), thrOrderDetailEntity.getThirdSysFk());
if (udiRelevanceEntity == null) {
return ResultVOUtils.error(500, "单据里含有未维护的产品信息,选入失败!");
}
BeanUtils.copyProperties(thrOrderDetailEntity, stockOrderDetailEntity); BeanUtils.copyProperties(thrOrderDetailEntity, stockOrderDetailEntity);
stockOrderDetailEntity.setProductId(thrOrderDetailEntity.getProductId()); // stockOrderDetailEntity.setProductId(thrOrderDetailEntity.getProductId());
stockOrderDetailEntity.setProductId(udiRelevanceEntity.getId());
stockOrderDetailEntity.setCount(thrOrderDetailEntity.getCount() + ""); stockOrderDetailEntity.setCount(thrOrderDetailEntity.getCount() + "");
stockOrderDetailEntity.setReCount(thrOrderDetailEntity.getReCount() + ""); stockOrderDetailEntity.setReCount(thrOrderDetailEntity.getReCount() + "");
stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId()); stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId());
@ -269,8 +278,85 @@ public class OrderDetailController {
} }
stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntityList); stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntityList);
} }
thrOrderEntity.setAllocateStatus(1);
thrOrderService.updateThrOrder(thrOrderEntity);
return ResultVOUtils.success();
}
@Resource
InvWarehouseService invWarehouseService;
@AuthRuleAnnotation("")
@GetMapping("/udiwms/receive/addStockOrder")
public BaseResponse addReceiveOrder(FilterOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
String customerId = customerService.getCustomerId() + "";
ThrOrderEntity thrOrderEntity = thrOrderService.findById(String.valueOf(filterErpOrderRequest.getId()));
if (thrOrderEntity == null) {
return ResultVOUtils.error(ResultEnum.DATA_NOT);
}
StockOrderEntity temp = stockOrderService.findByBillNo(thrOrderEntity.getBillNo());
if (temp != null) {
return ResultVOUtils.error(500, "单据已被选入,请勿重复选入!");
}
StockOrderEntity stockOrderEntity = new StockOrderEntity();
BeanUtils.copyProperties(thrOrderEntity, stockOrderEntity);
String billNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.BUS_ORDER, "yyyyMMdd"));
stockOrderEntity.setBillNo(billNo);
BasicBusTypeChangeEntity basicBusTypeChangeEntity = basicBusTypeChangeService.findByAction(thrOrderEntity.getBillType());
stockOrderEntity.setBillType(basicBusTypeChangeEntity.getTargetBusAction());
stockOrderEntity.setId(null);
stockOrderEntity.setCustomerId(customerId);
stockOrderEntity.setUnitIdFk(customerId);
stockOrderEntity.setStatus(ConstantStatus.SORDER_ALLOC);//未提交
stockOrderEntity.setLocStorageCode(thrOrderEntity.getCorpId());
stockOrderEntity.setInvWarehouseCode(thrOrderEntity.getFromSubInvCode());
stockOrderEntity.setThirdOrderFk(thrOrderEntity.getBillNo());
stockOrderEntity.setSourceType(ConstantStatus.ST_THIRD_SEL);//外部提交
stockOrderEntity.setPrintStatus(ConstantStatus.SORDER_PRINT_UN);//未打印
stockOrderEntity.setFromSubInvCode(thrOrderEntity.getInvWarehouseCode());
stockOrderEntity.setCorpId(thrOrderEntity.getLocStorageCode());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.selectByCode(thrOrderEntity.getLocStorageCode());
stockOrderEntity.setCorpName(invWarehouseEntity.getName());
stockOrderEntity.setBilldate(DateUtil.formatDate(new Date()));
boolean b = stockOrderService.insertStockOrder(stockOrderEntity);
stockOrderEntity = stockOrderService.findByBillNo(billNo);
FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest();
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
List<ThrOrderDetailEntity> thrOrderDetailEntities =
thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest);
if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) {
List<StockOrderDetailEntity> stockOrderDetailEntityList = new ArrayList<>();
for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
StockOrderDetailEntity stockOrderDetailEntity = new StockOrderDetailEntity();
UdiRelevanceEntity udiRelevanceEntity = udiRelevanceService.selectByThirdId(thrOrderDetailEntity.getProductId(), thrOrderDetailEntity.getThirdSysFk());
if (udiRelevanceEntity == null) {
return ResultVOUtils.error(500, "单据里含有未维护的产品信息,选入失败!");
}
BeanUtils.copyProperties(thrOrderDetailEntity, stockOrderDetailEntity);
// stockOrderDetailEntity.setProductId(thrOrderDetailEntity.getProductId());
stockOrderDetailEntity.setProductId(udiRelevanceEntity.getId());
stockOrderDetailEntity.setCount(thrOrderDetailEntity.getCount() + "");
stockOrderDetailEntity.setReCount(thrOrderDetailEntity.getReCount() + "");
stockOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId());
stockOrderDetailEntity.setSweepCount(0 + "");
stockOrderDetailEntityList.add(stockOrderDetailEntity);
}
stockOrderDetailService.insertStockOrderDetails(stockOrderDetailEntityList);
}
thrOrderEntity.setAllocateStatus(1);
thrOrderService.updateThrOrder(thrOrderEntity);
return ResultVOUtils.success(); return ResultVOUtils.success();
} }
@AuthRuleAnnotation("") @AuthRuleAnnotation("")

@ -364,17 +364,19 @@ public class StockOrderDetailController {
if (stockOrderDetailEntityList.size() == 0) { if (stockOrderDetailEntityList.size() == 0) {
return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到产品"); return ResultVOUtils.error(ResultEnum.DATA_NOT, "未找到产品");
} }
//供应商选入时需要校验证书是否齐全
String value = systemParamConfigService.selectValueByParamKey("checkCert"); if (stockOrderIdsRequest.getType() == 0) {
if (StrUtil.isNotEmpty(value) && value.equals("1")) { String value = systemParamConfigService.selectValueByParamKey("checkCert");
//判断证书是否齐全 if (StrUtil.isNotEmpty(value) && value.equals("1")) {
if (StrUtil.isNotEmpty(stockOrderIdsRequest.getZczbhhzbapzbh())) { //判断证书是否齐全
SupProductResponse supProductResponse = supProductService.findByPassByReCert(stockOrderIdsRequest.getZczbhhzbapzbh()); if (StrUtil.isNotEmpty(stockOrderIdsRequest.getZczbhhzbapzbh())) {
if (supProductResponse == null) { SupProductResponse supProductResponse = supProductService.findByPassByReCert(stockOrderIdsRequest.getZczbhhzbapzbh());
return ResultVOUtils.error(601, "该产品所对应的资质证书未通过审核,无法配送,请先维护产品资质信息"); if (supProductResponse == null) {
return ResultVOUtils.error(601, "该产品所对应的资质证书未通过审核,无法配送,请先维护产品资质信息");
}
} else {
return ResultVOUtils.error(500, "注册证不能为空!");
} }
} else {
return ResultVOUtils.error(500, "注册证不能为空!");
} }
} }

@ -3,11 +3,17 @@ package com.glxp.sale.admin.controller.thrsys;
import cn.hutool.core.date.DatePattern; import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.github.pagehelper.PageInfo;
import com.glxp.sale.admin.annotation.AuthRuleAnnotation; import com.glxp.sale.admin.annotation.AuthRuleAnnotation;
import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity; import com.glxp.sale.admin.entity.inout.StockOrderDetailEntity;
import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity; import com.glxp.sale.admin.entity.thrsys.ThrOrderEntity;
import com.glxp.sale.admin.req.inout.FilterOrderRequest;
import com.glxp.sale.admin.req.inout.StockOrderPostRequest; import com.glxp.sale.admin.req.inout.StockOrderPostRequest;
import com.glxp.sale.admin.req.thrsys.FilterThrOrderDetailRequest;
import com.glxp.sale.admin.req.thrsys.FilterThrOrderRequest;
import com.glxp.sale.admin.res.PageSimpleResponse;
import com.glxp.sale.admin.res.inout.ErpOrderResponse;
import com.glxp.sale.admin.service.auth.CustomerService; import com.glxp.sale.admin.service.auth.CustomerService;
import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService; import com.glxp.sale.admin.service.thrsys.ThrOrderDetailService;
import com.glxp.sale.admin.service.thrsys.ThrOrderService; import com.glxp.sale.admin.service.thrsys.ThrOrderService;
@ -18,11 +24,13 @@ import com.glxp.sale.common.util.ResultVOUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -40,8 +48,7 @@ public class ThrOrderReceiveController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/thrsys/order/insertWeb") @PostMapping("/udiwms/thrsys/order/insertWeb")
public BaseResponse insertWeb(@RequestBody StockOrderPostRequest stockOrderPostRequest, BindingResult bindingResult) { public BaseResponse addReceive(@RequestBody StockOrderPostRequest stockOrderPostRequest, BindingResult bindingResult) {
//editState 1为草稿保存 2为提交保存
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());
} }
@ -52,39 +59,103 @@ public class ThrOrderReceiveController {
stockOrderEntity.setType(1);//领用单据 stockOrderEntity.setType(1);//领用单据
stockOrderEntity.setUpdateTime(new Date()); stockOrderEntity.setUpdateTime(new Date());
stockOrderEntity.setBilldate(DateUtil.parse(stockOrderEntity.getBilldate(), DatePattern.NORM_DATETIME_PATTERN).toString()); stockOrderEntity.setBilldate(DateUtil.parse(stockOrderEntity.getBilldate(), DatePattern.NORM_DATETIME_PATTERN).toString());
ThrOrderEntity temp = thrOrderService.findByUnique(stockOrderEntity.getBillNo(), stockOrderEntity.getThirdSysFk());
if (temp != null) {
stockOrderEntity.setId(temp.getId());
}
String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd")); String orderNo = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.LIN_YONG, "yyyyMMdd"));
stockOrderEntity.setBillNo(orderNo); stockOrderEntity.setBillNo(orderNo);
thrOrderService.insertThrOrder(stockOrderEntity); thrOrderService.insertThrOrder(stockOrderEntity);
stockOrderEntity = thrOrderService.findByUnique(stockOrderEntity.getBillNo(), stockOrderEntity.getThirdSysFk());
if (stockOrderPostRequest.getSubErpOrders() != null) { if (stockOrderPostRequest.getSubErpOrders() != null) {
List<StockOrderDetailEntity> stockOrderDetailEntityList = stockOrderPostRequest.getSubErpOrders(); List<StockOrderDetailEntity> stockOrderDetailEntityList = stockOrderPostRequest.getSubErpOrders();
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntityList) { for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntityList) {
ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity(); ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
BeanUtils.copyProperties(stockOrderDetailEntity, thrOrderDetailEntity); BeanUtils.copyProperties(stockOrderDetailEntity, thrOrderDetailEntity);
thrOrderDetailEntity.setOrderIdFk( thrOrderDetailEntity.setOrderIdFk(stockOrderEntity.getId() + "");
StringUtils.isBlank(stockOrderDetailEntity.getOrderIdFk()) ? thrOrderDetailEntity.setReCount(
stockOrderEntity.getId() + "" : stockOrderDetailEntity.getOrderIdFk()); StringUtils.isBlank(stockOrderDetailEntity.getReCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getReCount()));
thrOrderDetailEntity.setCount(
StringUtils.isBlank(stockOrderDetailEntity.getCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getCount()));
thrOrderDetailService.insertThrOrderDetail(thrOrderDetailEntity);
}
return ResultVOUtils.success("成功");
}
return ResultVOUtils.success("成功");
}
if (StringUtils.isBlank(stockOrderDetailEntity.getId())) { @AuthRuleAnnotation("")
thrOrderDetailEntity.setReCount( @PostMapping("/udiwms/receive/order/update")
StringUtils.isBlank(stockOrderDetailEntity.getReCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getReCount())); public BaseResponse updateReceive(@RequestBody StockOrderPostRequest stockOrderPostRequest, BindingResult bindingResult) {
thrOrderDetailEntity.setCount( //editState 1为草稿保存 2为提交保存
StringUtils.isBlank(stockOrderDetailEntity.getCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getCount())); if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
ThrOrderEntity stockOrderEntity = new ThrOrderEntity();
BeanUtils.copyProperties(stockOrderPostRequest, stockOrderEntity);
stockOrderEntity.setType(1);//领用单据
stockOrderEntity.setUpdateTime(new Date());
stockOrderEntity.setId(Integer.parseInt(stockOrderPostRequest.getId()));
stockOrderEntity.setBilldate(DateUtil.parse(stockOrderEntity.getBilldate(), DatePattern.NORM_DATETIME_PATTERN).toString());
thrOrderService.updateThrOrder(stockOrderEntity);
thrOrderDetailService.deleteByOrderIdFk(stockOrderEntity.getId() + "");
List<StockOrderDetailEntity> stockOrderDetailEntityList = stockOrderPostRequest.getSubErpOrders();
for (StockOrderDetailEntity stockOrderDetailEntity : stockOrderDetailEntityList) {
ThrOrderDetailEntity thrOrderDetailEntity = new ThrOrderDetailEntity();
BeanUtils.copyProperties(stockOrderDetailEntity, thrOrderDetailEntity);
thrOrderDetailEntity.setOrderIdFk(
StringUtils.isBlank(stockOrderDetailEntity.getOrderIdFk()) ?
stockOrderEntity.getId() + "" : stockOrderDetailEntity.getOrderIdFk());
thrOrderDetailEntity.setReCount(
StringUtils.isBlank(stockOrderDetailEntity.getReCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getReCount()));
thrOrderDetailEntity.setCount(
StringUtils.isBlank(stockOrderDetailEntity.getCount()) ? 0 : Integer.parseInt(stockOrderDetailEntity.getCount()));
thrOrderDetailService.insertThrOrderDetail(thrOrderDetailEntity);
}
return ResultVOUtils.success("成功");
}
@AuthRuleAnnotation("")
@GetMapping("/udiwms/receive/order/filter")
public BaseResponse filterReceive(FilterOrderRequest filterErpOrderRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
thrOrderDetailService.insertThrOrderDetail(thrOrderDetailEntity); FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
BeanUtils.copyProperties(filterErpOrderRequest, filterThrOrderRequest);
filterThrOrderRequest.setPage(filterErpOrderRequest.getPage());
filterThrOrderRequest.setLimit(filterErpOrderRequest.getLimit());
List<ErpOrderResponse> erpOrderResponses = new ArrayList<>();
List<ThrOrderEntity> data = thrOrderService.filterReceiveOrder(filterThrOrderRequest);
if (data != null && data.size() > 0) {
for (ThrOrderEntity thrOrderEntity : data) {
FilterThrOrderDetailRequest filterThrOrderDetailRequest = new FilterThrOrderDetailRequest();
filterThrOrderDetailRequest.setOrderIdFk(thrOrderEntity.getId() + "");
List<ThrOrderDetailEntity> thrOrderDetailEntities =
thrOrderDetailService.filterThrOrderDetailDetail(filterThrOrderDetailRequest);
ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
BeanUtils.copyProperties(thrOrderEntity, erpOrderResponse);
List<ErpOrderResponse.SubErpOrder> subErpOrders = new ArrayList<>();
if (thrOrderDetailEntities != null && thrOrderDetailEntities.size() > 0) {
for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
ErpOrderResponse.SubErpOrder subErpOrder = new ErpOrderResponse.SubErpOrder();
BeanUtils.copyProperties(thrOrderDetailEntity, subErpOrder);
subErpOrder.setCount(thrOrderDetailEntity.getCount() + "");
subErpOrder.setReCount(thrOrderDetailEntity.getReCount() + "");
subErpOrders.add(subErpOrder);
}
} }
erpOrderResponse.setSubErpOrders(subErpOrders);
erpOrderResponses.add(erpOrderResponse);
} }
return ResultVOUtils.success("成功");
} }
return ResultVOUtils.success("成功"); PageInfo<ThrOrderEntity> pageInfo;
pageInfo = new PageInfo<>(data);
PageSimpleResponse<ErpOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(erpOrderResponses);
return ResultVOUtils.success(pageSimpleResponse);
} }
} }

@ -12,6 +12,8 @@ public interface ThrOrderDao {
List<ThrOrderEntity> filterThrOrder(FilterThrOrderRequest filterThrOrderRequest); List<ThrOrderEntity> filterThrOrder(FilterThrOrderRequest filterThrOrderRequest);
List<ThrOrderEntity> filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest);
boolean insertThrOrder(ThrOrderEntity thrCorpEntity); boolean insertThrOrder(ThrOrderEntity thrCorpEntity);
boolean importThrOrder(ThrOrderEntity thrCorpEntity); boolean importThrOrder(ThrOrderEntity thrCorpEntity);

@ -16,8 +16,6 @@ public class BasicBusTypeChangeEntity {
private Date updateTime; private Date updateTime;
private String remark; private String remark;
private boolean enable; private boolean enable;
private boolean systemDefault;
} }

@ -12,6 +12,7 @@ public class ThrOrderEntity {
private String billdate; private String billdate;
private String corpId; private String corpId;
private String corpName; private String corpName;
private String fromSubInvCode;
private String billType; private String billType;
private String billTypeName; private String billTypeName;
private String billFlag; private String billFlag;
@ -38,4 +39,5 @@ public class ThrOrderEntity {
private String invWarehouseCode; private String invWarehouseCode;
private int editStatus; private int editStatus;
private int thirdPartyDate; private int thirdPartyDate;
private int allocateStatus; //1:已配货0未配货
} }

@ -27,5 +27,7 @@ public class FilterOrderRequest {
private String thirdSys; private String thirdSys;
private Integer editStatus; private Integer editStatus;
private Integer thirdPartyDate; private Integer thirdPartyDate;
private Integer type;
private Integer allocateStatus;
} }

@ -16,4 +16,5 @@ public class StockOrderIdsRequest {
UdiEntity udiEntity; UdiEntity udiEntity;
List<StockOrderDetailEntity> stockOrderLists; List<StockOrderDetailEntity> stockOrderLists;
private String zczbhhzbapzbh; private String zczbhhzbapzbh;
private int type; //1耗材领用
} }

@ -25,6 +25,7 @@ public class FilterThrOrderRequest extends ListPageRequest {
private Integer editStatus; private Integer editStatus;
private String lastUpdateTime; private String lastUpdateTime;
private Integer thirdPartyDate; private Integer thirdPartyDate;
private Integer type;
private Integer allocateStatus;
private List<ErpOrderResponse> erpOrderResponses; private List<ErpOrderResponse> erpOrderResponses;
} }

@ -12,12 +12,16 @@ public interface ThrOrderService {
List<ThrOrderEntity> filterThrOrder(FilterThrOrderRequest filterThrOrderRequest); List<ThrOrderEntity> filterThrOrder(FilterThrOrderRequest filterThrOrderRequest);
List<ThrOrderEntity> filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest);
List<ErpOrderEntity> filterAllOrders(List<String> billNos, String action); List<ErpOrderEntity> filterAllOrders(List<String> billNos, String action);
List<ErpOrderResponse> filterAllDetail(FilterThrOrderRequest filterThrOrderRequest); List<ErpOrderResponse> filterAllDetail(FilterThrOrderRequest filterThrOrderRequest);
ThrOrderEntity findByUnique(String billNo, String thirdSysFk); ThrOrderEntity findByUnique(String billNo, String thirdSysFk);
ThrOrderEntity findReceiveOrder(String billNo);
ThrOrderEntity findById(String id); ThrOrderEntity findById(String id);
boolean insertThrOrder(ThrOrderEntity thrCorpEntity); boolean insertThrOrder(ThrOrderEntity thrCorpEntity);

@ -39,6 +39,19 @@ public class ThrOrderServiceImpl implements ThrOrderService {
return data; return data;
} }
@Override
public List<ThrOrderEntity> filterReceiveOrder(FilterThrOrderRequest filterThrOrderRequest) {
if (filterThrOrderRequest == null) {
return Collections.emptyList();
}
if (filterThrOrderRequest.getPage() != null) {
int offset = (filterThrOrderRequest.getPage() - 1) * filterThrOrderRequest.getLimit();
PageHelper.offsetPage(offset, filterThrOrderRequest.getLimit());
}
List<ThrOrderEntity> data = thrOrderDao.filterReceiveOrder(filterThrOrderRequest);
return data;
}
@Override @Override
public List<ErpOrderEntity> filterAllOrders(List<String> billNos, String thirdSys) { public List<ErpOrderEntity> filterAllOrders(List<String> billNos, String thirdSys) {
List<ErpOrderEntity> erpOrderEntities = new ArrayList<>(); List<ErpOrderEntity> erpOrderEntities = new ArrayList<>();
@ -109,6 +122,21 @@ public class ThrOrderServiceImpl implements ThrOrderService {
return null; return null;
} }
@Override
public ThrOrderEntity findReceiveOrder(String billNo) {
if (StrUtil.isEmpty(billNo)) {
return null;
}
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();
filterThrOrderRequest.setBillNo(billNo);
filterThrOrderRequest.setType(1);
List<ThrOrderEntity> thrOrderEntities = filterThrOrder(filterThrOrderRequest);
if (thrOrderEntities != null && thrOrderEntities.size() > 0) {
return thrOrderEntities.get(0);
}
return null;
}
@Override @Override
public ThrOrderEntity findById(String id) { public ThrOrderEntity findById(String id) {
FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest(); FilterThrOrderRequest filterThrOrderRequest = new FilterThrOrderRequest();

@ -48,12 +48,13 @@
parameterType="com.glxp.sale.admin.entity.basic.BasicBusTypeChangeEntity"> parameterType="com.glxp.sale.admin.entity.basic.BasicBusTypeChangeEntity">
insert insert
INTO basic_bustype_change INTO basic_bustype_change
(`originAction`, originName, `targetBusAction`, targetScAction, `type`, updateTime, remark, enable) (`originAction`, originName, `targetBusAction`, targetScAction, `type`, updateTime, remark, enable,
systemDefault)
values (#{originAction}, values (#{originAction},
#{originName}, #{originName},
#{targetBusAction}, #{targetBusAction},
#{targetScAction}, #{targetScAction},
#{type}, #{updateTime}, #{remark}, #{enable}) #{type}, #{updateTime}, #{remark}, #{enable}, #{systemDefault})
</insert> </insert>
<update id="updateBasicBusTypeChange" parameterType="com.glxp.sale.admin.entity.basic.BasicBusTypeChangeEntity"> <update id="updateBasicBusTypeChange" parameterType="com.glxp.sale.admin.entity.basic.BasicBusTypeChangeEntity">
@ -67,6 +68,8 @@
<if test="remark != null">remark = #{remark},</if> <if test="remark != null">remark = #{remark},</if>
<if test="updateTime != null">updateTime = #{updateTime},</if> <if test="updateTime != null">updateTime = #{updateTime},</if>
<if test="type != null">`type` = #{type},</if> <if test="type != null">`type` = #{type},</if>
<if test="systemDefault != null">`systemDefault` = #{systemDefault},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>

@ -30,6 +30,9 @@
<if test="thirdSysFk != '' and thirdSysFk != null"> <if test="thirdSysFk != '' and thirdSysFk != null">
AND thirdSysFk = #{thirdSysFk} AND thirdSysFk = #{thirdSysFk}
</if> </if>
<if test="type !=null">
AND thr_order.`type` = #{type}
</if>
<if test="corpName != '' and corpName != null"> <if test="corpName != '' and corpName != null">
AND corpName like concat('%',#{corpName},'%') AND corpName like concat('%',#{corpName},'%')
</if> </if>
@ -42,6 +45,9 @@
<if test="editStatus!= null"> <if test="editStatus!= null">
AND editStatus = #{editStatus} AND editStatus = #{editStatus}
</if> </if>
<if test="allocateStatus!= null">
AND allocateStatus = #{allocateStatus}
</if>
<if test="thirdPartyDate!= null"> <if test="thirdPartyDate!= null">
AND thirdPartyDate = #{thirdPartyDate} AND thirdPartyDate = #{thirdPartyDate}
</if> </if>
@ -52,13 +58,68 @@
ORDER BY thr_order.updateTime DESC ORDER BY thr_order.updateTime DESC
</select> </select>
<select id="filterReceiveOrder" parameterType="com.glxp.sale.admin.req.thrsys.FilterThrOrderRequest"
resultType="com.glxp.sale.admin.entity.thrsys.ThrOrderEntity">
SELECT thr_order.*,basic_bustype_change.originName billTypeName FROM thr_order
left join basic_bustype_change on thr_order.billType = basic_bustype_change.originAction
<where>
<if test="billNo != '' and billNo != null">
AND billNo = #{billNo}
</if>
<if test="id != '' and id !=null">
AND thr_order.id = #{id}
</if>
<if test="billAction != '' and billAction !=null">
AND billType = #{billAction}
</if>
<if test="originType != '' and originType !=null">
AND originType = #{originType}
</if>
<if test="type !=null">
AND thr_order.`type` = #{type}
</if>
<if test="billFlag != '' and billFlag !=null">
AND billFlag = #{billFlag}
</if>
<if test="unitIdFk != '' and unitIdFk !=null">
AND unitIdFk = #{unitIdFk}
</if>
<if test="thirdSysFk != '' and thirdSysFk != null">
AND thirdSysFk = #{thirdSysFk}
</if>
<if test="corpName != '' and corpName != null">
AND corpName like concat('%',#{corpName},'%')
</if>
<if test="startDate!=null and startDate!=''">
<![CDATA[ and DATE_FORMAT(billdate, '%Y-%m-%d')>= DATE_FORMAT(#{startDate}, '%Y-%m-%d') ]]>
</if>
<if test="endDate!=null and endDate!=''">
<![CDATA[ and DATE_FORMAT(billdate, '%Y-%m-%d') <= DATE_FORMAT(#{endDate}, '%Y-%m-%d') ]]>
</if>
<if test="editStatus!= null">
AND editStatus = #{editStatus}
</if>
<if test="thirdPartyDate!= null">
AND thirdPartyDate = #{thirdPartyDate}
</if>
<if test="lastUpdateTime!=null and lastUpdateTime!=''">
<![CDATA[ and DATE_FORMAT(thr_order.updateTime, '%Y-%m-%d %H:%i:%S')>= DATE_FORMAT(#{lastUpdateTime}, '%Y-%m-%d %H:%i:%S') ]]>
</if>
<if test="allocateStatus!= null">
AND allocateStatus = #{allocateStatus}
</if>
</where>
ORDER BY thr_order.updateTime DESC
</select>
<insert id="insertThrOrder" keyProperty="id" parameterType="com.glxp.sale.admin.entity.thrsys.ThrOrderEntity">
<insert id="insertThrOrder" keyProperty="id" parameterType="com.glxp.sale.admin.entity.thrsys.ThrOrderEntity"
useGeneratedKeys="true">
replace replace
INTO thr_order INTO thr_order
(id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk, (id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk,
startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2,
remark3,locStorageCode,editStatus,invWarehouseCode,thirdPartyDate) remark3,locStorageCode,editStatus,invWarehouseCode,thirdPartyDate,fromSubInvCode,`type`,allocateStatus)
values ( values (
#{id}, #{id},
#{billNo}, #{billNo},
@ -85,7 +146,10 @@
#{locStorageCode}, #{locStorageCode},
#{editStatus}, #{editStatus},
#{invWarehouseCode}, #{invWarehouseCode},
#{thirdPartyDate} #{thirdPartyDate},
#{fromSubInvCode},
#{type},
#{allocateStatus}
) )
</insert> </insert>
@ -93,7 +157,7 @@
replace INTO thr_order replace INTO thr_order
(billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk, (billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, unitIdFk,
startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2,
remark3,locStorageCode,editStatus,invWarehouseCode) remark3,locStorageCode,editStatus,invWarehouseCode,fromSubInvCode,`type`,allocateStatus)
values values
<foreach collection="thrOrderEntities" item="item" index="index" <foreach collection="thrOrderEntities" item="item" index="index"
@ -107,7 +171,8 @@
#{item.thirdSysFk}, #{item.updateTime}, #{item.originType}, #{item.unitIdFk}, #{item.thirdSysFk}, #{item.updateTime}, #{item.originType}, #{item.unitIdFk},
#{item.startDate}, #{item.endDate}, #{item.createUser}, #{item.reviewUser}, #{item.startDate}, #{item.endDate}, #{item.createUser}, #{item.reviewUser},
#{item.address}, #{item.linkMan}, #{item.linkTel}, #{item.remark}, #{item.remark1}, #{item.address}, #{item.linkMan}, #{item.linkTel}, #{item.remark}, #{item.remark1},
#{item.remark2}, #{item.remark3},#{item.locStorageCode},#{item.editStatus},#{item.invWarehouseCode}, #{item.remark2},
#{item.remark3},#{item.locStorageCode},#{item.editStatus},#{item.invWarehouseCode},#{item.fromSubInvCode},#{item.type},#{item.allocateStatus}
) )
</foreach> </foreach>
</insert> </insert>
@ -151,6 +216,10 @@
<if test="editStatus != null">editStatus=#{editStatus},</if> <if test="editStatus != null">editStatus=#{editStatus},</if>
<if test="thirdPartyDate != null">thirdPartyDate=#{thirdPartyDate},</if> <if test="thirdPartyDate != null">thirdPartyDate=#{thirdPartyDate},</if>
<if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if> <if test="invWarehouseCode != null">invWarehouseCode=#{invWarehouseCode},</if>
<if test="fromSubInvCode != null">fromSubInvCode=#{fromSubInvCode},</if>
<if test="type != null">`type`=#{type},</if>
<if test="allocateStatus != null">`allocateStatus`=#{allocateStatus},</if>
</trim> </trim>
WHERE id = #{id} WHERE id = #{id}
</update> </update>
@ -160,7 +229,7 @@
INTO thr_order INTO thr_order
(id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType, (id,billNo, billdate, corpId, corpName, billType, billFlag, thirdSysFk, updateTime, originType,
startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2, startDate, endDate, createUser, reviewUser, address, linkMan, linkTel, remark, remark1, remark2,
remark3,invWarehouseCode) remark3,invWarehouseCode,fromSubInvCode,`type`,allocateStatus)
values ( values (
#{id}, #{id},
#{billNo}, #{billNo},
@ -183,7 +252,10 @@
#{remark1}, #{remark1},
#{remark2}, #{remark2},
#{remark3}, #{remark3},
#{invWarehouseCode} #{invWarehouseCode},
#{fromSubInvCode},
#{type},
#{allocateStatus}
) )
</insert> </insert>
</mapper> </mapper>

@ -43,7 +43,7 @@
) )
</insert> </insert>
<insert id="insertThrOrderDetails" keyProperty="id" parameterType="java.util.List"> <insert id="insertThrOrderDetails" keyProperty="id" parameterType="java.util.List" useGeneratedKeys="true">
replace INTO thr_order_detail replace INTO thr_order_detail
(productId, productName, spec, batchNo, expireDate, (productId, productName, spec, batchNo, expireDate,
productDate, `count`, reCount, orderIdFk, thirdSysFk, updateTime productDate, `count`, reCount, orderIdFk, thirdSysFk, updateTime

Loading…
Cancel
Save