单据流程相关迁移到UDI管理系统

master
anthonywj 2 years ago
parent aca8b1b682
commit 0b746a5a09

@ -10,12 +10,16 @@ public class Constant {
public static final String SERIAL_CACHE_PREFIX_STAT = "serialstat_"; public static final String SERIAL_CACHE_PREFIX_STAT = "serialstat_";
public static final String SERIAL_CACHE_SYNC_UDI = "syncUdi"; public static final String SERIAL_CACHE_SYNC_UDI = "syncUdi";
public static final String SCAN_ORDER = "MS"; public static final String SCAN_ORDER = "MS"; //出入库单据
public static final String BUS_ORDER = "MY"; public static final String BUS_ORDER = "MY";
public static final String LIN_YONG = "ML"; public static final String LIN_YONG = "ML"; //领用
public static final String SG_ORDER = "SG"; public static final String SG_ORDER = "SG"; //申购
public static final String JH_ORDER = "JH"; public static final String JH_ORDER = "JH"; //计划
public static final String NBM_ORDER = "NBM"; public static final String NBM_ORDER = "NBM"; //内部码
public static final String CG_ORDER = "CG"; //采购订单
public static final String SH_ORDER = "SH"; //送货单
public static final String DH_ORDER = "DH"; //到货
public static final String TH_ORDER = "TH"; //退货
/** /**
@ -184,7 +188,6 @@ public class Constant {
public static final String ORDER_STATUS_NEW_ORDER = "newOrder"; public static final String ORDER_STATUS_NEW_ORDER = "newOrder";
/** /**
* - * -
*/ */
@ -205,5 +208,28 @@ public class Constant {
*/ */
public static final String ORDER_STATUS_AUDITED = "audited"; public static final String ORDER_STATUS_AUDITED = "audited";
/**
* -
*/
public static final String ORDER_STATUS_SUP_SEARCH = "supSearch";
/**前端页面查询相关单据类型标识*/
/**
* supDelivery
* supArrival
* 退 supReturned
* supPurchase
* supInvoice
* norDetail
* preDetail
*/
public static final String ORDER_ACTION_NOR_DETAIL = "norDetail";
public static final String ORDER_ACTION_PRE_DETAIL = "preDetail";
public static final String ORDER_ACTION_SUP_DELIVERY = "supDelivery";
public static final String ORDER_ACTION_SUP_INVOICE = "supInvoice";
} }

@ -37,6 +37,13 @@ public class ConstantStatus {
*/ */
public static final Integer ORDER_STATUS_CHECK_FAIL = 6; public static final Integer ORDER_STATUS_CHECK_FAIL = 6;
/**
*
*/
public static final Integer ORDER_STATUS_CHECK_REW = 10;
/** /**
* *
*/ */
@ -53,6 +60,10 @@ public class ConstantStatus {
public static final Integer ORDER_STATUS_PROCESSING = 9; public static final Integer ORDER_STATUS_PROCESSING = 9;
public static final Integer ORDER_DELIVERY_STATUS_UN = 1;
public static final Integer ORDER_DELIVERY_STATUS_ED = 2;
/** /**
* 2.13 * 2.13
*/ */
@ -60,15 +71,31 @@ public class ConstantStatus {
public static final Integer ORDER_TYPE_SCAN = 2; public static final Integer ORDER_TYPE_SCAN = 2;
public static final Integer ORDER_TYPE_NORMAL = 3; public static final Integer ORDER_TYPE_NORMAL = 3;
/**
*
*/
public static final Integer BUS_TYPE_NORMAL = 1; //正常出入库单据(入账)
public static final Integer BUS_TYPE_DELIVERY = 2; //送货出入库单据
public static final Integer BUS_TYPE_ARRIVAL = 3; //到货出库单据类型
public static final Integer BUS_TYPE_RETURNED = 4; //退货单单据类型
public static final Integer BUS_TYPE_INVOICE = 4; //退货单单据类型
public static final Integer ACTION_TYPE_NORMAL = 1; //带票
public static final Integer ACTION_TYPE_PREIN = 2; //预验收
public static final Integer ACTION_TYPE_ADVANCE = 3; //寄售
public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据
// public static final Integer ORDER_STATUS_RECEIVEED = 7; // public static final Integer ORDER_STATUS_RECEIVEED = 7;
//订单处理状态 //订单处理状态
public static final Integer ORDER_DEAL_DRAFT = 1; //草稿 public static final Integer ORDER_DEAL_DRAFT = 1; //草稿
public static final Integer ORDER_DEAL_POST = 2; //已提交 public static final Integer ORDER_DEAL_POST = 2; //已提交,待交接
public static final Integer ORDER_DEAL_REW = 4; //交接中,待审核
public static final Integer ORDER_DEAL_CHECK = 3; //已审核 public static final Integer ORDER_DEAL_CHECK = 3; //已审核
//ERP校验状态 //ERP校验状态
public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功 public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功
public static final Integer ORDER_CHECK_FAIL = 1; //校验失败 public static final Integer ORDER_CHECK_FAIL = 1; //校验失败
@ -214,6 +241,9 @@ public class ConstantStatus {
public static final String REDIS_BILLNO = "ACCEPT_"; //缓存单据前缀 public static final String REDIS_BILLNO = "ACCEPT_"; //缓存单据前缀
public static final String REDIS_BILLNO_CODES = "ACCEPT_CODES"; public static final String REDIS_BILLNO_CODES = "ACCEPT_CODES";
public static final String REDIS_DELIVERY_BILLNO = "PUR_DELIVERY_ACCEPT_"; //送货单单据前缀
public static final String REDIS_DELIVERY_CODES = "PUR_DELIVERY_CODES"; //送货单条码明细
public static final int APPLY_DRAFT = 1;//草稿 public static final int APPLY_DRAFT = 1;//草稿
public static final int APPLY_UN_AUDIT = 2;//未审核 public static final int APPLY_UN_AUDIT = 2;//未审核
@ -239,5 +269,11 @@ public class ConstantStatus {
public static final int PRINT_SUCCESS = 1; //已打印 public static final int PRINT_SUCCESS = 1; //已打印
//预验收库存状态 1:在库2已退回3.已使用
public static final int INVIN_IN = 1;
public static final int INVIN_BACK = 2;
public static final int INVIN_USE = 3;
} }

@ -56,14 +56,14 @@ public class BasicBusTypePreController {
if (CollUtil.isEmpty(basicBusTypePreEntities)) { if (CollUtil.isEmpty(basicBusTypePreEntities)) {
//创建对应单据流转 //创建对应单据流转
if (filterBusTypePreRequest.getType() != null && "changEnable".equals(filterBusTypePreRequest.getType())) { if (filterBusTypePreRequest.getType() != null && "changEnable".equals(filterBusTypePreRequest.getType())) {
if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && !basicBussinessType.isAdvanceType()) { if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.getActionType() != ConstantStatus.ACTION_TYPE_ADVANCE) {
BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity(); BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity();
basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN); basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_INNOR_NORMAL_IN);
basicBusTypePreEntity.setIndex(1); basicBusTypePreEntity.setIndex(1);
basicBusTypePreEntity.setAction(filterBusTypePreRequest.getAction()); basicBusTypePreEntity.setAction(filterBusTypePreRequest.getAction());
basicBusTypePreEntity.setBeforeTime(1); basicBusTypePreEntity.setBeforeTime(1);
basicBusTypePreService.insertBusChangeType(basicBusTypePreEntity); basicBusTypePreService.insertBusChangeType(basicBusTypePreEntity);
} else if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.isAdvanceType()) { } else if (ConstantType.TYPE_OUT.equals(basicBussinessType.getMainAction()) && basicBussinessType.getActionType() != ConstantStatus.ACTION_TYPE_ADVANCE) {
BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity(); BasicBusTypePreEntity basicBusTypePreEntity = new BasicBusTypePreEntity();
basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN); basicBusTypePreEntity.setChangeType(ConstantStatus.ORDER_CHANGE_ADVANCE_IN);
basicBusTypePreEntity.setIndex(1); basicBusTypePreEntity.setIndex(1);

@ -25,8 +25,6 @@ import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.FileUtils; import com.glxp.api.util.FileUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.http.HttpRequest;
import org.springframework.http.server.ServletServerHttpRequest;
import org.springframework.validation.BindingResult; import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -41,9 +39,6 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
* *
@ -179,6 +174,16 @@ public class BasicBussinessTypeController extends BaseController {
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());
} }
if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getVueType())) {
List<BasicBussinessTypeEntity> bussinessTypeEntities = basicBussinessTypeService.findByVueType(bussinessTypeFilterRequest.getVueType());
PageInfo<BasicBussinessTypeEntity> pageInfo;
pageInfo = new PageInfo<>(bussinessTypeEntities);
PageSimpleResponse<BasicBussinessTypeEntity> pageSimpleResponse = new PageSimpleResponse<>();
pageSimpleResponse.setTotal(pageInfo.getTotal());
pageSimpleResponse.setList(bussinessTypeEntities);
return ResultVOUtils.success(pageSimpleResponse);
} else {
bussinessTypeFilterRequest.setUserId(getUserId()); bussinessTypeFilterRequest.setUserId(getUserId());
List<BasicBussinessTypeResponse> bussinessTypeEntities; List<BasicBussinessTypeResponse> bussinessTypeEntities;
bussinessTypeEntities = basicBussinessTypeService.filterJoinByUser( bussinessTypeEntities = basicBussinessTypeService.filterJoinByUser(
@ -192,6 +197,9 @@ public class BasicBussinessTypeController extends BaseController {
} }
}
/** /**
* *
* *

@ -8,6 +8,7 @@ import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.*; import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrProductsEntity; import com.glxp.api.entity.thrsys.ThrProductsEntity;
@ -28,6 +29,7 @@ import com.glxp.api.service.thrsys.ThrDataService;
import com.glxp.api.service.thrsys.ThrSystemService; import com.glxp.api.service.thrsys.ThrSystemService;
import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import com.glxp.api.util.udi.UdiInfoUtil;
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.GetMapping;
@ -42,7 +44,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
@RestController @RestController
public class UdiRelevanceController { public class UdiRelevanceController extends BaseController {
@Resource @Resource
GennerOrderUtils gennerOrderUtils; GennerOrderUtils gennerOrderUtils;
@Resource @Resource
@ -117,7 +119,7 @@ public class UdiRelevanceController {
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());
} }
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode()) || StrUtil.isNotEmpty(filterUdiRelRequest.getUnionCode())) { if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode()) && StrUtil.isEmpty(filterUdiRelRequest.getUnionCode())) {
if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) { if (StrUtil.isNotEmpty(filterUdiRelRequest.getUdiCode())) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode()); UdiEntity udiEntity = FilterUdiUtils.getUdi(filterUdiRelRequest.getUdiCode());
filterUdiRelRequest.setNameCode(udiEntity.getUdi()); filterUdiRelRequest.setNameCode(udiEntity.getUdi());
@ -160,7 +162,6 @@ public class UdiRelevanceController {
filterUdiRelRequest.setDiType(1); filterUdiRelRequest.setDiType(1);
} }
udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiRelRequest); udiRelevanceResponses = udiRelevanceService.filterUdiGp(filterUdiRelRequest);
if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) { if (udiRelevanceResponses != null && udiRelevanceResponses.size() > 0) {
for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) { for (UdiRelevanceResponse udiRelevanceResponse : udiRelevanceResponses) {
UdiRlSupEntity companyProductRelevanceEntity = UdiRlSupEntity companyProductRelevanceEntity =
@ -294,6 +295,8 @@ public class UdiRelevanceController {
udiRelevanceSaveRequest.setRecentDateTime(time); udiRelevanceSaveRequest.setRecentDateTime(time);
} }
} }
//更新关联表
UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity(); UdiRelevanceEntity udiRelevanceEntity = new UdiRelevanceEntity();
BeanUtils.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity); BeanUtils.copyProperties(udiRelevanceSaveRequest, udiRelevanceEntity);
udiRelevanceEntity.setId(udiRelevanceSaveRequest.getId()); udiRelevanceEntity.setId(udiRelevanceSaveRequest.getId());
@ -323,6 +326,7 @@ public class UdiRelevanceController {
udiProductEntity.setBasicPrductRemak6(udiRelevanceSaveRequest.getBasicPrductRemak6()); udiProductEntity.setBasicPrductRemak6(udiRelevanceSaveRequest.getBasicPrductRemak6());
udiProductEntity.setBasicPrductRemak7(udiRelevanceSaveRequest.getBasicPrductRemak7()); udiProductEntity.setBasicPrductRemak7(udiRelevanceSaveRequest.getBasicPrductRemak7());
udiProductEntity.setBasicPrductRemak8(udiRelevanceSaveRequest.getBasicPrductRemak8()); udiProductEntity.setBasicPrductRemak8(udiRelevanceSaveRequest.getBasicPrductRemak8());
// udiProductEntity = UdiInfoUtil.initUdiInfoEntity(udiProductEntity);
if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) { if (StrUtil.isNotEmpty(udiRelevanceSaveRequest.getOriginUuid())) {
udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI); udiProductEntity.setProductType(ConstantStatus.PRODUCT_TYPE_UDI);
} }
@ -511,6 +515,7 @@ public class UdiRelevanceController {
for (ThrSystemEntity thrSystemEntity : basicThirdSysEntities) { for (ThrSystemEntity thrSystemEntity : basicThirdSysEntities) {
if (thrSystemEntity.getThirdId().equals("thirdId")) { if (thrSystemEntity.getThirdId().equals("thirdId")) {
BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse();
if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId()))
basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId()); basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId());
basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName());
basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId());
@ -530,6 +535,7 @@ public class UdiRelevanceController {
} }
if (thrSystemEntity.getThirdId().equals("thirdId1")) { if (thrSystemEntity.getThirdId().equals("thirdId1")) {
BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse();
if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId1()))
basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId1()); basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId1());
basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName());
basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId());
@ -546,6 +552,7 @@ public class UdiRelevanceController {
} }
if (thrSystemEntity.getThirdId().equals("thirdId2")) { if (thrSystemEntity.getThirdId().equals("thirdId2")) {
BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse();
if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId2()))
basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId2()); basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId2());
basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName());
basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId());
@ -562,6 +569,7 @@ public class UdiRelevanceController {
} }
if (thrSystemEntity.getThirdId().equals("thirdId3")) { if (thrSystemEntity.getThirdId().equals("thirdId3")) {
BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse();
if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId3()))
basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId3()); basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId3());
basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName());
basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId());
@ -579,6 +587,7 @@ public class UdiRelevanceController {
} }
if (thrSystemEntity.getThirdId().equals("thirdId4")) { if (thrSystemEntity.getThirdId().equals("thirdId4")) {
BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse(); BasicProductThirdSysResponse basicProductThirdSysResponse = new BasicProductThirdSysResponse();
if (StrUtil.isNotEmpty(udiRelevanceEntity.getThirdId4()))
basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId4()); basicProductThirdSysResponse.setThirdId(udiRelevanceEntity.getThirdId4());
basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName()); basicProductThirdSysResponse.setSysName(thrSystemEntity.getThirdName());
basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId()); basicProductThirdSysResponse.setSysId(thrSystemEntity.getThirdId());
@ -631,6 +640,22 @@ public class UdiRelevanceController {
} }
@AuthRuleAnnotation("")
@PostMapping("/udi/udirel/updateById")
public BaseResponse updateById(@RequestBody UdiProductEntity udiProductEntity, BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
boolean falg = udiProductService.updateUdiInfoById(udiProductEntity);
if (falg) {
return ResultVOUtils.success("更新成功");
} else {
return ResultVOUtils.error(999, "更新失败");
}
}
//业务单据选入耗材字典查询列表 //业务单据选入耗材字典查询列表

@ -94,7 +94,6 @@ public class IoCodeTempController extends BaseController {
@Resource @Resource
IoOrderDetailBizService orderDetailBizService; IoOrderDetailBizService orderDetailBizService;
//手持端扫码单据上传调用接口 //手持端扫码单据上传调用接口
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("warehouse/inout/postOrders") @PostMapping("warehouse/inout/postOrders")
@ -388,21 +387,21 @@ public class IoCodeTempController extends BaseController {
BaseResponse checkOriginCodeRes = checkOriginCode(udiEntity); BaseResponse checkOriginCodeRes = checkOriginCode(udiEntity);
if (checkOriginCodeRes != null) { if (checkOriginCodeRes != null) {
// IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code); IoCodeLostEntity codeLostEntity = codeLostService.findByCode(code);
// if (codeLostEntity == null) { if (codeLostEntity == null) {
// if (StrUtil.isNotEmpty(orderId)) { if (StrUtil.isNotEmpty(orderId)) {
// List<IoCodeTempEntity> ioCodeEnttities = codeTempService.findByOrderId(orderId); List<IoCodeTempEntity> ioCodeEnttities = codeTempService.findByOrderId(orderId);
// IoCodeTempEntity ioCodeEnttity = isExitLocal(code, ioCodeEnttities); IoCodeTempEntity ioCodeEnttity = isExitLocal(code, ioCodeEnttities);
// if (ioCodeEnttity == null) { if (ioCodeEnttity == null) {
// return checkOriginCodeRes; return checkOriginCodeRes;
// } }
// } else } else
// return checkOriginCodeRes; return checkOriginCodeRes;
// } else { } else {
// udiEntity.setBatchNo(codeLostEntity.getBatchNo()); udiEntity.setBatchNo(codeLostEntity.getBatchNo());
// udiEntity.setExpireDate(codeLostEntity.getExpireDate()); udiEntity.setExpireDate(codeLostEntity.getExpireDate());
// udiEntity.setProduceDate(codeLostEntity.getProduceDate()); udiEntity.setProduceDate(codeLostEntity.getProduceDate());
// } }
if (StrUtil.isNotEmpty(orderId)) { if (StrUtil.isNotEmpty(orderId)) {
List<IoCodeTempEntity> ioCodeEnttities = codeTempService.findByOrderId(orderId); List<IoCodeTempEntity> ioCodeEnttities = codeTempService.findByOrderId(orderId);
@ -448,9 +447,9 @@ public class IoCodeTempController extends BaseController {
} }
//校验预验收是否已存在 //校验预验收是否已存在
if (bussinessTypeEntity.isPreIn()) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) { if (StrUtil.isNotEmpty(udiEntity.getSerialNo())) {
List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(code); List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findUseByCode(code);
if (CollUtil.isNotEmpty(invProductDetailEntities)) { if (CollUtil.isNotEmpty(invProductDetailEntities)) {
return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!"); return ResultVOUtils.error(500, "预验收库存已存在此UDI码,请检查后重试!");
} }
@ -459,7 +458,7 @@ public class IoCodeTempController extends BaseController {
//校验预验收库存是否已存在 //校验预验收库存是否已存在
if (bussinessTypeEntity.isScanPreIn()) { if (bussinessTypeEntity.isScanPreIn()) {
InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(code); InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(code);
if (invProductDetailEntity == null) { if (invProductDetailEntity == null) {
return ResultVOUtils.error(500, "预验收库存未存在此产品!"); return ResultVOUtils.error(500, "预验收库存未存在此产品!");
} else { } else {
@ -471,7 +470,7 @@ public class IoCodeTempController extends BaseController {
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单 //无序列号,则可能存在多个预验收入库单
IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code); IoCodeTempEntity codeTempEntity = codeTempService.findByUnique(orderId, code);
List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailService.findByCode(code); List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailService.findUseByCode(code);
int count = 0; int count = 0;
for (InvPreinDetailEntity temp : invPreinDetailEntities) { for (InvPreinDetailEntity temp : invPreinDetailEntities) {
count = count + temp.getCount(); count = count + temp.getCount();
@ -575,13 +574,26 @@ public class IoCodeTempController extends BaseController {
} }
//产品是否可以以使用单元入库 //产品是否可以以使用单元入库
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false); udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode(), false);
if (udiRelevanceResponses.size() == 1) { if (udiRelevanceResponses.size() >= 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null) { if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!"); return ResultVOUtils.error(500, "该产品信息未维护!");
} else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) { } else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) {
return ResultVOUtils.error(500, "该产品不允许以使用单元入库!"); return ResultVOUtils.error(500, "该产品不允许以使用单元入库!");
} }
if (bussinessTypeEntity.isVailDispatch() && !udiRelevanceResponse.isDispatch()) {
return ResultVOUtils.error(500, "该产品不可配送,请联系院方!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 1 && !udiRelevanceResponse.isGroupBuy()) { //只采集集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入集采产品!");
}
if (bussinessTypeEntity.getVailGroupBuy() == 2 && udiRelevanceResponse.isGroupBuy()) { //只采集非集采产品
return ResultVOUtils.error(500, bussinessTypeEntity.getName() + "单只允许录入非集采产品!");
}
//计算实际数量 //计算实际数量
codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse)); codeEnttity.setReCount(codeEnttity.getMyCount() * udiCalCountUtil.getActCount(udiRelevanceResponse));
} else if (udiRelevanceResponses.size() == 0) { } else if (udiRelevanceResponses.size() == 0) {
@ -622,26 +634,25 @@ public class IoCodeTempController extends BaseController {
orderEntity.setDeptCode(invWarehouseEntity.getParentId()); orderEntity.setDeptCode(invWarehouseEntity.getParentId());
orderEntity.setInvCode(addOrderRequest.getInvCode()); orderEntity.setInvCode(addOrderRequest.getInvCode());
orderEntity.setOrderType(addOrderRequest.getOrderType()); orderEntity.setOrderType(addOrderRequest.getOrderType());
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
} }
BaseResponse baseResponse = checkRelId(codeEnttity, unitFk); if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
boolean isBillExit = orderDetailBizService.isExit(orderEntity.getBillNo());
if (!isBillExit) {
return ResultVOUtils.error(500, "请先录入业务详情");
}
}
BaseResponse baseResponse = checkRelId(codeEnttity, unitFk);
BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity); BaseResponse invRes = checkInv(bussinessTypeEntity, codeEnttity);
if (invRes != null) { if (invRes != null) {
return invRes; return invRes;
} }
//是否边扫边校验
if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
String errMsg = ioCheckInoutService.checkCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.insert(codeEnttity);
} else {
codeTempService.insert(codeEnttity);
}
genDetaiEntity = codeEnttity; genDetaiEntity = codeEnttity;
if (baseResponse == null) { if (baseResponse == null) {
baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk); baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
@ -656,6 +667,17 @@ public class IoCodeTempController extends BaseController {
checkSupId(bussinessTypeEntity, codeEnttity, unitFk); checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
return baseResponse; return baseResponse;
} }
//是否边扫边校验
if (addOrderRequest.getOrderType() == ConstantStatus.ORDER_TYPE_NORMAL && bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
String errMsg = ioCheckInoutService.checkCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.insert(codeEnttity);
} else {
codeTempService.insert(codeEnttity);
}
} }
addCodeResult.setOrderId(orderId); addCodeResult.setOrderId(orderId);
transInoutService.genOrderDetailCode(orderEntity, genDetaiEntity); transInoutService.genOrderDetailCode(orderEntity, genDetaiEntity);
@ -800,7 +822,7 @@ public class IoCodeTempController extends BaseController {
public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) { public BaseResponse checkInv(BasicBussinessTypeEntity bussinessTypeEntity, IoCodeTempEntity codeTempEntity) {
if (bussinessTypeEntity.isVailInv()) { if (bussinessTypeEntity.isVailInv()) {
if (bussinessTypeEntity.isAdvanceType()) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
// int count = invPreProductDetailService.vailStockCount(code); //todo 寄售 // int count = invPreProductDetailService.vailStockCount(code); //todo 寄售
// if (count < 0) { // if (count < 0) {
// return ResultVOUtils.error(500, "当前库存不足不允许0库存出库"); // return ResultVOUtils.error(500, "当前库存不足不允许0库存出库");
@ -852,13 +874,11 @@ public class IoCodeTempController extends BaseController {
codeTempEntity.setSupId(codeSaveRequest.getMySupId()); codeTempEntity.setSupId(codeSaveRequest.getMySupId());
codeTempService.updateById(codeSaveRequest); codeTempService.updateById(codeSaveRequest);
} }
if (StrUtil.isNotEmpty(codeSaveRequest.getSupId())) { if (StrUtil.isNotEmpty(codeSaveRequest.getSupId())) {
codeTempEntity.setSupId(codeSaveRequest.getSupId()); codeTempEntity.setSupId(codeSaveRequest.getSupId());
codeTempService.updateById(codeSaveRequest); codeTempService.updateById(codeSaveRequest);
} }
//更新耗材字典 //更新耗材字典
if (codeSaveRequest.getRelId() != null) { if (codeSaveRequest.getRelId() != null) {

@ -16,6 +16,8 @@ import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.*; import com.glxp.api.entity.basic.*;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.purchase.SupProductEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.entity.thrsys.ThrOrderDetailEntity; import com.glxp.api.entity.thrsys.ThrOrderDetailEntity;
import com.glxp.api.entity.thrsys.ThrOrderEntity; import com.glxp.api.entity.thrsys.ThrOrderEntity;
import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity; import com.glxp.api.entity.thrsys.ThrSystemBusApiEntity;
@ -25,9 +27,12 @@ import com.glxp.api.req.thrsys.FilterThrOrderDetailRequest;
import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import com.glxp.api.service.auth.InvWarehouseService; import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*; import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.*; import com.glxp.api.service.inout.*;
import com.glxp.api.service.purchase.SupProductService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.service.thrsys.ThrOrderDetailService; import com.glxp.api.service.thrsys.ThrOrderDetailService;
import com.glxp.api.service.thrsys.ThrOrderService; import com.glxp.api.service.thrsys.ThrOrderService;
import com.glxp.api.service.thrsys.ThrSystemBusApiService; import com.glxp.api.service.thrsys.ThrSystemBusApiService;
@ -35,10 +40,7 @@ import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.OrderNoTypeBean;
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.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
@ -77,6 +79,10 @@ public class IoOrderDetailBizController extends BaseController {
@Resource @Resource
IBasicBusTypeChangeService basicBusTypeChangeService; IBasicBusTypeChangeService basicBusTypeChangeService;
@Resource
IoOrderInvoiceService ioOrderInvoiceService;
//获取单据业务详情---临时接口查询 //获取单据业务详情---临时接口查询
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("udiwms/inout/order/draft/biz") @GetMapping("udiwms/inout/order/draft/biz")
@ -88,12 +94,17 @@ public class IoOrderDetailBizController extends BaseController {
return ResultVOUtils.success(pageSimpleResponse); return ResultVOUtils.success(pageSimpleResponse);
} }
@Resource
SupProductService supProductService;
@Resource
SystemParamConfigService systemParamConfigService;
//录入业务单据详情 //录入业务单据详情
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/addBizProduct") @PostMapping("/udiwms/inout/order/addBizProduct")
public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) { public BaseResponse addBizProduct(@RequestBody AddBizProductReqeust addBizProductReqeust) {
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("vail_product_cert");
boolean isVailCert = systemParamConfigEntity.getParamValue().equals("1") ? true : false;
AuthAdmin authAdmin = getUser(); AuthAdmin authAdmin = getUser();
if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas())) if (addBizProductReqeust.getRelId() == null && CollUtil.isEmpty(addBizProductReqeust.getDatas()))
return ResultVOUtils.error(500, "未选择产品信息"); return ResultVOUtils.error(500, "未选择产品信息");
@ -122,6 +133,7 @@ public class IoOrderDetailBizController extends BaseController {
orderEntity.setCustomerId(authAdmin.getCustomerId() + ""); orderEntity.setCustomerId(authAdmin.getCustomerId() + "");
orderEntity.setDeptCode(invWarehouseEntity.getParentId()); orderEntity.setDeptCode(invWarehouseEntity.getParentId());
orderEntity.setInvCode(orderEntity.getInvCode()); orderEntity.setInvCode(orderEntity.getInvCode());
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
} }
@ -132,7 +144,19 @@ public class IoOrderDetailBizController extends BaseController {
datas.add(addBizProductReqeust); datas.add(addBizProductReqeust);
} }
for (AddBizProductReqeust item : datas) { for (AddBizProductReqeust item : datas) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(item.getRelId()); UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectSupGroupById(item.getRelId());
// todo 查询产品是否已经通过认证
// if (isVailCert && udiRelevanceResponse.isNeedCert()) {
// SupProductEntity supProductEntity = supProductService.findByRelIdFk(udiRelevanceResponse.getId() + "");
// if (supProductEntity != null && (supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_PASS || supProductEntity.getAuditStatus() == ConstantStatus.AUDIT_CHANGE_PASS)) {
//
// } else {
// return ResultVOUtils.error(500, "产品资质证书未通过审核!");
// }
// }
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(orderEntity.getBillNo()); ioOrderDetailBizEntity.setOrderIdFk(orderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(udiRelevanceResponse.getId()); ioOrderDetailBizEntity.setBindRlFk(udiRelevanceResponse.getId());
@ -158,6 +182,7 @@ public class IoOrderDetailBizController extends BaseController {
return ResultVOUtils.success(orderEntity); return ResultVOUtils.success(orderEntity);
} }
//修改业务单据详情 //修改业务单据详情
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/order/updateBizProduct") @PostMapping("/udiwms/inout/order/updateBizProduct")
@ -239,6 +264,7 @@ public class IoOrderDetailBizController extends BaseController {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setFromType(ConstantStatus.FROM_THRORDER); orderEntity.setFromType(ConstantStatus.FROM_THRORDER);
orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_BIZ); orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_BIZ);
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) { for (ThrOrderDetailEntity thrOrderDetailEntity : thrOrderDetailEntities) {
@ -337,6 +363,7 @@ public class IoOrderDetailBizController extends BaseController {
orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_BIZ); orderEntity.setOrderType(ConstantStatus.ORDER_TYPE_BIZ);
orderEntity.setFromDeptCode(purReceiveEntity.getDeptCode()); orderEntity.setFromDeptCode(purReceiveEntity.getDeptCode());
orderEntity.setFromInvCode(purReceiveEntity.getInvCode()); orderEntity.setFromInvCode(purReceiveEntity.getInvCode());
orderEntity.setBusType(bussinessTypeEntity.getBusType());
orderService.insertOrder(orderEntity); orderService.insertOrder(orderEntity);
for (PurReceiveDetailEntity purReceiveDetailEntity : purReceiveDetailEntities) { for (PurReceiveDetailEntity purReceiveDetailEntity : purReceiveDetailEntities) {
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity(); IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
@ -385,6 +412,13 @@ public class IoOrderDetailBizController extends BaseController {
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
} }
@GetMapping("/udiwms/inout/bizDetail/filterListInvoice")
public BaseResponse filterListInvoice(FilterOrderDetailBizRequest orderDetailBizRequest) {
List<IoOrderInvoiceResponse> list = orderDetailBizService.filterListInv(orderDetailBizRequest);
PageInfo<IoOrderInvoiceResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/udiwms/inout/biz/updateBind") @PostMapping("/udiwms/inout/biz/updateBind")
@ -404,4 +438,53 @@ public class IoOrderDetailBizController extends BaseController {
} }
/**
*
*
* @param id
* @return
*/
@GetMapping("/udiwms/inout/biz/deleteById")
public BaseResponse deleteById(Integer id) {
return ResultVOUtils.success(ioOrderInvoiceService.deleteByInvId(id));
}
/**
*
*
* @param ioOrderInvoiceRequest
* @return
*/
@PostMapping("/udiwms/inout/biz/updateById")
public BaseResponse deleteById(@RequestBody IoOrderInvoiceRequest ioOrderInvoiceRequest) {
return ResultVOUtils.success(ioOrderInvoiceService.updateByInvId(ioOrderInvoiceRequest));
}
@PostMapping("/udiwms/inout/biz/insertInvoice")
public BaseResponse insertInvoice(@RequestBody List<IoOrderDetailResultEntity> list) {
if (CollUtil.isEmpty(list)) {
return ResultVOUtils.error(500, "请选入产品!");
}
for (IoOrderDetailResultEntity ioOrderDetailResultEntity : list) {
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
ioOrderInvoiceEntity.setOrderIdFk(ioOrderDetailResultEntity.getOrderIdFk());
ioOrderInvoiceEntity.setBindRlFk(ioOrderDetailResultEntity.getBindRlFk() + "");
ioOrderInvoiceEntity.setBatchNo(ioOrderDetailResultEntity.getBatchNo());
ioOrderInvoiceEntity.setProductDate(ioOrderDetailResultEntity.getProductDate());
ioOrderInvoiceEntity.setExpireDate(ioOrderDetailResultEntity.getExpireDate());
boolean b = ioOrderInvoiceService.insertInvoice(ioOrderInvoiceEntity);
}
return ResultVOUtils.success("成功");
}
} }

@ -1,17 +1,20 @@
package com.glxp.api.controller.inout; package com.glxp.api.controller.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.req.inout.FilterCodeRequest; import com.glxp.api.req.inout.FilterCodeRequest;
import com.glxp.api.req.inout.FilterOrderDetailResultRequest; import com.glxp.api.req.inout.FilterOrderDetailResultRequest;
import com.glxp.api.req.inout.FilterOrderRequest;
import com.glxp.api.res.inout.IoCodeResponse; import com.glxp.api.res.inout.IoCodeResponse;
import com.glxp.api.res.inout.IoOrderDetailResultResponse; import com.glxp.api.res.inout.IoOrderDetailResultResponse;
import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.IBasicBussinessTypeService;
@ -27,7 +30,7 @@ import java.util.List;
* *
*/ */
@RestController @RestController
public class IoOrderDetailResultController { public class IoOrderDetailResultController extends BaseController {
@Resource @Resource
IoOrderService orderService; IoOrderService orderService;
@Resource @Resource
@ -51,6 +54,32 @@ public class IoOrderDetailResultController {
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
} }
/**
*
*
* @param orderDetailResultRequest
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udiwms/inout/resultDetail/filterOrderList")
public BaseResponse filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest) {
FilterOrderRequest filterOrderRequest = new FilterOrderRequest();
filterOrderRequest.setVueType(orderDetailResultRequest.getActionType());
List<String> actions = orderService.setActions(filterOrderRequest);
if (CollUtil.isEmpty(actions)) {
return ResultVOUtils.success("");
}
orderDetailResultRequest.setActions(actions);
List<IoOrderDetailResultResponse> list = orderDetailResultService.filterOrderList(orderDetailResultRequest);
// for (IoOrderDetailResultResponse orderDetailResultResponse : list) {
// if(orderDetailResultResponse.get)
// }
PageInfo<IoOrderDetailResultResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
/** /**
* pda * pda
*/ */

@ -83,8 +83,30 @@ public class IoOrderReviewController extends BaseController {
} }
//获取验收单据业务详情
@AuthRuleAnnotation("")
@GetMapping("/udiwms/stock/order/accept/getStatus")
public BaseResponse getStatus(String billNo) {
if (StrUtil.isBlank(billNo)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
}
AcceptOrderResponse acceptOrderEntity = new AcceptOrderResponse();
acceptOrderEntity.setBillNo(billNo);
List<IoOrderDetailResultResponse> datas = (List<IoOrderDetailResultResponse>) redisUtil.get(ConstantStatus.REDIS_BILLNO + billNo);
if (CollUtil.isNotEmpty(datas)) {
boolean isFinish = vailFinish(datas);
if (isFinish)
return ResultVOUtils.success("单据已验收完成");
else
return ResultVOUtils.error(500, "单据未验收完成");
} else {
return ResultVOUtils.error(500, "单据未验收完成");
}
}
//前端直接验收完成
//前端二次审核
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/web/updateStatus") @PostMapping("/spms/inout/order/web/updateStatus")
public BaseResponse webUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest, public BaseResponse webUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
@ -97,9 +119,34 @@ public class IoOrderReviewController extends BaseController {
if (orderEntity == null) { if (orderEntity == null) {
return ResultVOUtils.error(500, "未找到该业务单据"); return ResultVOUtils.error(500, "未找到该业务单据");
} }
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
return updateReview(getUser(), orderEntity); return updateReview(getUser(), orderEntity);
} else if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_SUCCESS) {
return thirdUpdateReview(getUser(), orderEntity);
} else {
return ResultVOUtils.error(500, "当前单据状态非处于审核状态!");
}
}
//前端第三次验收
@AuthRuleAnnotation("")
@PostMapping("/spms/inout/order/third/updateStatus")
public BaseResponse thirdUpdateStatus(@RequestBody ReviewFinishRequest updateExportStatusRequest,
BindingResult bindingResult) {
if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
}
IoOrderEntity orderEntity = orderService.findByBillNo(updateExportStatusRequest.getOrderId());
if (orderEntity == null) {
return ResultVOUtils.error(500, "未找到该业务单据");
}
return thirdUpdateReview(getUser(), orderEntity);
} }
@Resource @Resource
IoCodeService codeService; IoCodeService codeService;
@Resource @Resource
@ -346,5 +393,19 @@ public class IoOrderReviewController extends BaseController {
return ResultVOUtils.success("更新成功"); return ResultVOUtils.success("更新成功");
} }
//前端第三次验收
public BaseResponse thirdUpdateReview(AuthAdmin authAdmin, IoOrderEntity orderEntity) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
orderEntity.setReviewUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date());
orderEntity.setDeliveryStatus(ConstantStatus.ORDER_DELIVERY_STATUS_ED);
orderService.update(orderEntity);
redisUtil.del(ConstantStatus.REDIS_BILLNO + orderEntity.getBillNo());
redisUtil.del(ConstantStatus.REDIS_BILLNO_CODES + orderEntity.getBillNo());
//验收完成->进入流程
ioCheckInoutService.checkThird(orderEntity);
return ResultVOUtils.success("更新成功");
}
} }

@ -42,6 +42,8 @@ public class InvPreinOrderController extends BaseController {
@GetMapping("/udiwms/inv/prein/filter") @GetMapping("/udiwms/inv/prein/filter")
public BaseResponse filterOrder(FilterInvPreinRequest filterInvPreinRequest) { public BaseResponse filterOrder(FilterInvPreinRequest filterInvPreinRequest) {
List<InvPreinOrderResponse> list = invPreinOrderService.filterList(filterInvPreinRequest); List<InvPreinOrderResponse> list = invPreinOrderService.filterList(filterInvPreinRequest);
PageInfo<InvPreinOrderResponse> pageInfo = new PageInfo<>(list); PageInfo<InvPreinOrderResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo); return ResultVOUtils.page(pageInfo);
@ -72,7 +74,7 @@ public class InvPreinOrderController extends BaseController {
@AuthRuleAnnotation("") @AuthRuleAnnotation("")
@GetMapping("spms/prein/inv/products/getDetaiByCode") @GetMapping("spms/prein/inv/products/getDetaiByCode")
public BaseResponse getDetaiByCode(FilterInvProductDetailRequest filterInvProductDetailRequest) { public BaseResponse getDetaiByCode(FilterInvProductDetailRequest filterInvProductDetailRequest) {
InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findOneByCode(filterInvProductDetailRequest.getCode()); InvPreinDetailEntity invProductDetailEntity = invPreinDetailService.findUseOneByCode(filterInvProductDetailRequest.getCode());
if (invProductDetailEntity == null) { if (invProductDetailEntity == null) {
return ResultVOUtils.error(500, "预验收库存未存在此产品!"); return ResultVOUtils.error(500, "预验收库存未存在此产品!");
} else { } else {
@ -83,7 +85,7 @@ public class InvPreinOrderController extends BaseController {
UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductDetailRequest.getCode()); UdiEntity udiEntity = FilterUdiUtils.getUdi(filterInvProductDetailRequest.getCode());
if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品 if (StrUtil.isEmpty(udiEntity.getSerialNo())) {//该单据已有该产品
//无序列号,则可能存在多个预验收入库单 //无序列号,则可能存在多个预验收入库单
List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailService.findByCode(filterInvProductDetailRequest.getCode()); List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailService.findUseByCode(filterInvProductDetailRequest.getCode());
int count = 0; int count = 0;
for (InvPreinDetailEntity temp : invPreinDetailEntities) { for (InvPreinDetailEntity temp : invPreinDetailEntities) {
count = count + temp.getCount(); count = count + temp.getCount();

@ -1,6 +1,7 @@
package com.glxp.api.dao.basic; package com.glxp.api.dao.basic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.req.basic.FilterBussinessTypeRequest;
import com.glxp.api.res.basic.BasicBussinessTypeResponse; import com.glxp.api.res.basic.BasicBussinessTypeResponse;
@ -10,7 +11,7 @@ import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface BasicBussinessTypeDao extends BaseMapper<BasicBussinessTypeEntity> { public interface BasicBussinessTypeDao extends BaseMapperPlus<BasicBussinessTypeDao, BasicBussinessTypeEntity, BasicBussinessTypeEntity> {
/** /**

@ -2,6 +2,7 @@ package com.glxp.api.dao.basic;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -35,6 +36,11 @@ public interface UdiProductDao {
*/ */
boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity); boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity);
/**
* ID
*/
boolean updateUdiInfoById(UdiProductEntity udiProductEntity);
boolean deleteById(@Param("id") String id); boolean deleteById(@Param("id") String id);
boolean deleteByUuid(@Param("uuid") String uuid); boolean deleteByUuid(@Param("uuid") String uuid);
@ -68,4 +74,6 @@ public interface UdiProductDao {
* @return * @return
*/ */
List<String> selectGgxhList(@Param("relId") String relId); List<String> selectGgxhList(@Param("relId") String relId);
boolean updateUdiInfoNotAll(UdiInfoRequest udiInfoRequest);
} }

@ -1,9 +1,14 @@
package com.glxp.api.dao.inout; package com.glxp.api.dao.inout;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.res.inout.IoCodeLostResponse;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import java.util.List;
@Mapper @Mapper
public interface IoCodeLostMapper extends BaseMapper<IoCodeLostEntity> { public interface IoCodeLostMapper extends BaseMapperPlus<IoCodeLostMapper, IoCodeLostEntity, IoCodeLostEntity> {
List<IoCodeLostResponse> selectLost(IoCodeLostEntity ioCodeLostEntity);
} }

@ -4,6 +4,7 @@ import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import java.util.List; import java.util.List;
@ -17,4 +18,6 @@ public interface IoOrderDetailBizDao extends BaseMapperPlus<IoOrderDetailBizDao,
*/ */
List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest); List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest);
List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest);
} }

@ -17,4 +17,13 @@ public interface IoOrderDetailResultDao extends BaseMapperPlus<IoOrderDetailBizD
*/ */
List<IoOrderDetailResultResponse> filterList(FilterOrderDetailResultRequest orderDetailResultRequest); List<IoOrderDetailResultResponse> filterList(FilterOrderDetailResultRequest orderDetailResultRequest);
/**
* VO
*
* @param orderDetailResultRequest
* @return
*/
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest);
} }

@ -0,0 +1,13 @@
package com.glxp.api.dao.inout;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface IoOrderInvoiceMapper extends BaseMapperPlus<IoOrderInvoiceMapper, IoOrderInvoiceEntity, IoOrderInvoiceEntity> {
boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
}

@ -81,6 +81,19 @@ public class BasicBusTypeChangeEntity {
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
@TableField(value = "auditStatus")
private Integer auditStatus;
@TableField(value = "busAuditStatus")
private Integer busAuditStatus;
@TableField(value = "targetBusAction")
private String targetBusAction;
@TableField(value = "beforeTime")
private Integer beforeTime;
@TableField(value = "busBeforeTime")
private Integer busBeforeTime;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_ORIGINACTION = "originAction"; public static final String COL_ORIGINACTION = "originAction";

@ -123,6 +123,19 @@ public class BasicBusTypePreEntity {
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
/**
*
*/
@TableField(value = "targetBusAction")
private String targetBusAction;
@TableField(value = "busBeforeTime")
private Integer busBeforeTime;
@TableField(value = "auditStatus")
private Integer auditStatus;
@TableField(value = "busAuditStatus")
private Integer busAuditStatus;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_INTRO = "intro"; public static final String COL_INTRO = "intro";

@ -166,7 +166,7 @@ public class BasicBussinessTypeEntity {
private boolean secCheckSp; private boolean secCheckSp;
/** /**
* 123 4 *
*/ */
@TableField(value = "corpType") @TableField(value = "corpType")
private int corpType; private int corpType;
@ -294,8 +294,8 @@ public class BasicBussinessTypeEntity {
/** /**
* *
*/ */
@TableField(value = "advanceType") // @TableField(value = "advanceType")
private boolean advanceType; // private boolean advanceType;
/** /**
* *
@ -312,8 +312,8 @@ public class BasicBussinessTypeEntity {
/** /**
* *
*/ */
@TableField(value = "preIn") // @TableField(value = "preIn")
private boolean preIn; // private boolean preIn;
@TableField(value = "preInBack") @TableField(value = "preInBack")
@ -354,4 +354,47 @@ public class BasicBussinessTypeEntity {
@TableField(value = "vailGroupBuy") @TableField(value = "vailGroupBuy")
private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品 private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品
@TableField(value = "busType")
private Integer busType; //1:正常2送货3.到货,4:退货
@TableField(value = "inStock") //是否更改库存10
private boolean inStock;
@TableField(value = "actionType")
private int actionType; //1带票正常2.预验收。3寄售
@TableField(value = "thrCheckEnable")
private boolean thrCheckEnable;
@TableField(value = "thrCheckWebNew")
private boolean thrCheckWebNew;
@TableField(value = "thrCheckPdaUn")
private boolean thrCheckPdaUn;
@TableField(value = "thrCheckPdaEd")
private boolean thrCheckPdaEd;
@TableField(value = "thrCheckUdims")
private boolean thrCheckUdims;
@TableField(value = "thrCheckPc")
private boolean thrCheckPc;
@TableField(value = "thrCheckSp")
private boolean thrCheckSp;
@TableField(value = "thrCheckChange")
private boolean thrCheckChange;
@TableField(value = "thrCheckBalance")
private boolean thrCheckBalance;
@TableField(value = "thrCheckCopy")
private boolean thrCheckCopy;
@TableField(value = "fillCodeRel")
private boolean fillCodeRel;
@TableField(value = "checkVailDate")
private boolean checkVailDate;
@TableField(value = "checkExpire")
private boolean checkExpire;
@TableField(value = "checkCertExpire")
private boolean checkCertExpire;
} }

@ -72,6 +72,24 @@ public class IoCodeLostEntity {
@TableField(value = "remark") @TableField(value = "remark")
private String remark; private String remark;
@TableField(value = "nameCode")
private String nameCode;
@TableField(exist = false)
private String cpmctymc;
@TableField(exist = false)
private String ggxh;
@TableField(exist = false)
private String startTime;
@TableField(exist = false)
private String endTime;
public static final String COL_ID = "id"; public static final String COL_ID = "id";
public static final String COL_CODE = "code"; public static final String COL_CODE = "code";

@ -213,4 +213,17 @@ public class IoOrderEntity {
@TableField(value = "exportStatus") @TableField(value = "exportStatus")
private Integer exportStatus; private Integer exportStatus;
@TableField(value = "busType")
private Integer busType; //1:正常2送货3.到货
@TableField(value = "deliveryStatus")
private Integer deliveryStatus; //单据送货验收状态
@TableField(value = "processStatus")
private Integer processStatus; //退货单据处理状态
@TableField(value = "inCodeStatus")
private int inCodeStatus; //内部码生成状态
} }

@ -0,0 +1,129 @@
package com.glxp.api.entity.inout;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "io_order_invoice")
public class IoOrderInvoiceEntity {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**
*
*/
@TableField(value = "orderIdFk")
private String orderIdFk;
/**
*
*/
@TableField(value = "machineNo")
private String machineNo;
/**
*
*/
@TableField(value = "invoiceCode")
private String invoiceCode;
/**
*
*/
@TableField(value = "invoiceEncode")
private String invoiceEncode;
/**
*
*/
@TableField(value = "invoiceDate")
private String invoiceDate;
/**
*
*/
@TableField(value = "price")
private String price;
/**
*
*/
@TableField(value = "updateTime")
private Date updateTime;
/**
*
*/
@TableField(value = "`createUser`")
private String createUser;
/**
*
*/
@TableField(value = "createTime")
private Date createTime;
/**
*
*/
@TableField(value = "updateUser")
private String updateUser;
@TableField(value = "bindRlFk")
private String bindRlFk;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "productDate")
private String productDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
@TableField(value = "licenseUrl")
private String licenseUrl;
@TableField(value = "remark")
private String remark;
public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk";
public static final String COL_MACHINENO = "machineNo";
public static final String COL_INVOICECODE = "invoiceCode";
public static final String COL_INVOICEENCODE = "invoiceEncode";
public static final String COL_INVOICEDATE = "invoiceDate";
public static final String COL_PRICE = "price";
public static final String COL_UPDATETIME = "updateTime";
public static final String COL_CREATEUSER = "createUser";
public static final String COL_CREATETIME = "createTime";
public static final String COL_UPDATEUSER = "updateUser";
public static final String COL_REMARK = "remark";
}

@ -60,6 +60,19 @@ public class InvPreinDetailEntity {
@TableField(value = "relId") @TableField(value = "relId")
private Long relId; private Long relId;
/**
*
*/
@TableField(value = "`originCount`")
private int originCount;
/**
*
*/
@TableField(value = "originReCount")
private int originReCount;
/** /**
* *
*/ */
@ -72,4 +85,10 @@ public class InvPreinDetailEntity {
@TableField(value = "reCount") @TableField(value = "reCount")
private int reCount; private int reCount;
/**
* 1:2退3.使
*/
@TableField(value = "status")
private int status;
} }

@ -4,7 +4,9 @@ import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import java.util.Date; import java.util.Date;
import lombok.Data; import lombok.Data;
@Data @Data

@ -1,5 +1,6 @@
package com.glxp.api.req.basic; package com.glxp.api.req.basic;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -274,5 +275,29 @@ public class BussinessTypeSaveRequest {
private boolean preInBack; private boolean preInBack;
private boolean vailDispatch; //校验是否可配送 private boolean vailDispatch; //校验是否可配送
private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品 private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品
private Integer busType; //1:正常2送货3.到货
private int actionType; //1带票正常2.预验收。3寄售
private boolean inStock;
private boolean thrCheckEnable;
private boolean thrCheckWebNew;
private boolean thrCheckPdaUn;
private boolean thrCheckPdaEd;
private boolean thrCheckUdims;
private boolean thrCheckPc;
private boolean thrCheckSp;
private boolean thrCheckChange;
private boolean thrCheckBalance;
private boolean thrCheckCopy;
private boolean fillCodeRel;
private boolean checkVailDate;
private boolean checkExpire;
private boolean checkCertExpire;
} }

@ -103,5 +103,9 @@ public class FilterBussinessTypeRequest extends ListPageRequest {
*/ */
private Boolean preIn; private Boolean preIn;
private Integer busType;
private Boolean inStock;
private Boolean fillCodeRel;
private String vueType;
} }

@ -3,6 +3,8 @@ package com.glxp.api.req.inout;
import com.glxp.api.util.page.ListPageRequest; import com.glxp.api.util.page.ListPageRequest;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* *
*/ */
@ -32,5 +34,16 @@ public class FilterOrderDetailResultRequest extends ListPageRequest {
private int showType; private int showType;
private String productName; private String productName;
private String coName; private String coName;
private String spec;
private String formName;
private String startTime;
private String endTime;
private String fromCorpName;
private String startAduditTime; //起始日期
private String endAduditTime; //结束日期
private String fromCorp;
private String actionType;
private String manufacturer;
private String zczbhhzbapzbh;
private List<String> actions;
} }

@ -48,6 +48,17 @@ public class FilterOrderRequest extends ListPageRequest {
*/ */
private String endTime; private String endTime;
/**
*
*/
private String startAduditTime;
/**
*
*/
private String endAduditTime;
/** /**
* *
*/ */
@ -128,9 +139,26 @@ public class FilterOrderRequest extends ListPageRequest {
*/ */
private String statusType; private String statusType;
/**
* supDelivery
* supArrival
* 退 supReturned
* supPurchase
* supInvoice
* norDetail
* preDetail
*/
private String vueType; //页面类型
private Integer orderType; private Integer orderType;
private Integer syncStatus; private Integer syncStatus;
/**
*
*/
private List<String> actions;
/** /**
* *
*/ */
@ -146,4 +174,6 @@ public class FilterOrderRequest extends ListPageRequest {
private String corpName; private String corpName;
private Integer busType;
} }

@ -0,0 +1,86 @@
package com.glxp.api.req.inout;
import lombok.Data;
import java.util.Date;
/**
* @author : zhangsan
* @date : 2023/3/15 10:02
* @modyified By :
*/
@Data
public class IoOrderInvoiceRequest {
private Integer id;
private String orderIdFk;
private String machineNo;
private String invoiceCode;
private String invoiceEncode;
private String invoiceDate;
private String price;
private Date updateTime;
private String createUser;
private Date createTime;
private String updateUser;
private String bindRlFk;
private String batchNo;
private String productDate;
private String expireDate;
private String licenseUrl;
private String remark;
public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk";
public static final String COL_MACHINENO = "machineNo";
public static final String COL_INVOICECODE = "invoiceCode";
public static final String COL_INVOICEENCODE = "invoiceEncode";
public static final String COL_INVOICEDATE = "invoiceDate";
public static final String COL_PRICE = "price";
public static final String COL_UPDATETIME = "updateTime";
public static final String COL_CREATEUSER = "createUser";
public static final String COL_CREATETIME = "createTime";
public static final String COL_UPDATEUSER = "updateUser";
public static final String COL_REMARK = "remark";
}

@ -8,4 +8,17 @@ public class FilterInvPreinDetailRequest extends ListPageRequest {
private String orderId; private String orderId;
private String code; private String code;
private String productName;
private String ggxh;
private String manufactory;
private String zczbhhzbapzbh;
private String auditTime;
private String billNo;
private String invCode;
private String batchNo;
private String produceDate;
private String expireDate;
private String startAduditTime;
private String endAduditTime;
private String nameCode;
} }

@ -28,5 +28,5 @@ public class BasicBusTypePreResponse extends BasicBusTypePreEntity {
* *
*/ */
private String defaultInvName; private String defaultInvName;
private String targetBusName;
} }

@ -1,5 +1,6 @@
package com.glxp.api.res.basic; package com.glxp.api.res.basic;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data; import lombok.Data;
/** /**
@ -41,7 +42,7 @@ public class BasicBussinessTypeResponse {
/** /**
* *
*/ */
private Boolean advanceType; // private Boolean advanceType;
private Boolean changeEnable; private Boolean changeEnable;
private Boolean genUnit; private Boolean genUnit;
private String defaultUnit; private String defaultUnit;
@ -81,7 +82,7 @@ public class BasicBussinessTypeResponse {
private String prefix; private String prefix;
private String localPrefix; private String localPrefix;
private boolean preIn; // private boolean preIn;
private boolean preInBack; private boolean preInBack;
private boolean outToSpms; private boolean outToSpms;
private boolean ullageFill; private boolean ullageFill;
@ -126,5 +127,25 @@ public class BasicBussinessTypeResponse {
private boolean vailDispatch; //校验是否可配送 private boolean vailDispatch; //校验是否可配送
private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品 private int vailGroupBuy; //校验是否集采产品 0:全部1只采集集采产品2只采集非集采产品
private Integer busType; //1:正常2送货3.到货
private int actionType; //1带票正常2.预验收。3寄售
private boolean inStock;
private boolean thrCheckEnable;
private boolean thrCheckWebNew;
private boolean thrCheckPdaUn;
private boolean thrCheckPdaEd;
private boolean thrCheckUdims;
private boolean thrCheckPc;
private boolean thrCheckSp;
private boolean thrCheckChange;
private boolean thrCheckBalance;
private boolean thrCheckCopy;
private boolean fillCodeRel;
private boolean checkVailDate;
private boolean checkExpire;
private boolean checkCertExpire;
} }

@ -96,7 +96,6 @@ public class UdiRelevanceResponse {
private Integer isDateBy; private Integer isDateBy;
private String relCode; private String relCode;
//关联查询字典 //关联查询字典
private String unitFk; //供应商ID private String unitFk; //供应商ID
private String companyName; //供应商名称 private String companyName; //供应商名称
@ -105,6 +104,10 @@ public class UdiRelevanceResponse {
private Long relId; private Long relId;
private boolean dispatch; //是否可配送 private boolean dispatch; //是否可配送
private boolean groupBuy; //是否集采产品 private boolean groupBuy; //是否集采产品
private boolean needCert; //是否需要资质材料
private String classifyName; //物资分类名称
public int getBhzxxsbzsl() { public int getBhzxxsbzsl() {
if (bhzxxsbzsl == null || bhzxxsbzsl == 0) { if (bhzxxsbzsl == null || bhzxxsbzsl == 0) {
@ -138,13 +141,4 @@ public class UdiRelevanceResponse {
return false; return false;
return isUseDy; return isUseDy;
} }
public Integer getIsDateBy() {
return isDateBy;
}
public void setIsDateBy(Integer isDateBy) {
this.isDateBy = isDateBy;
}
} }

@ -0,0 +1,69 @@
package com.glxp.api.res.inout;
import lombok.Data;
import java.util.Date;
/**
* @author : zhangsan
* @date : 2023/3/22 11:08
* @modyified By :
*/
@Data
public class IoCodeLostResponse {
private Integer id;
private String code;
private String batchNo;
private String produceDate;
private String expireDate;
private String serialNo;
private String supId;
private Date createTime;
private Date updateTime;
private String remark;
//产品名称
private String cpmctymc;
//规格型号
private String ggxh;
public static final String COL_ID = "id";
public static final String COL_CODE = "code";
public static final String COL_BATCHNO = "batchNo";
public static final String COL_PRODUCEDATE = "produceDate";
public static final String COL_EXPIREDATE = "expireDate";
public static final String COL_SERIALNO = "serialNo";
public static final String COL_SUPID = "supId";
public static final String COL_CREATETIME = "createTime";
public static final String COL_UPDATETIME = "updateTime";
public static final String COL_REMARK = "remark";
}

@ -0,0 +1,111 @@
package com.glxp.api.res.inout;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.util.Date;
@Data
@TableName(value = "io_order_invoice")
public class IoOrderInvoiceResponse {
private Integer id;
/**
*
*/
private String orderIdFk;
/**
*
*/
private String machineNo;
/**
*
*/
private String invoiceCode;
/**
*
*/
private String invoiceEncode;
/**
*
*/
private String invoiceDate;
/**
*
*/
private String price;
/**
*
*/
private Date updateTime;
/**
*
*/
private String createUser;
/**
*
*/
private Date createTime;
/**
*
*/
private String updateUser;
private String bindRlFk;
/**
*
*/
private String batchNo;
/**
*
*/
private String productDate;
/**
*
*/
private String expireDate;
private String remark;
private String cpmctymc;
private String ggxh;
private String licenseUrl;
public static final String COL_ID = "id";
public static final String COL_ORDERIDFK = "orderIdFk";
public static final String COL_MACHINENO = "machineNo";
public static final String COL_INVOICECODE = "invoiceCode";
public static final String COL_INVOICEENCODE = "invoiceEncode";
public static final String COL_INVOICEDATE = "invoiceDate";
public static final String COL_PRICE = "price";
public static final String COL_UPDATETIME = "updateTime";
public static final String COL_CREATEUSER = "createUser";
public static final String COL_CREATETIME = "createTime";
public static final String COL_UPDATEUSER = "updateUser";
public static final String COL_REMARK = "remark";
}

@ -216,12 +216,20 @@ public class IoOrderResponse {
*/ */
private Integer exportStatus; private Integer exportStatus;
private Integer deliveryStatus;
private Integer processStatus;
private int inCodeStatus;
/** /**
* *
*/ */
private String errMsg; private String errMsg;
private Integer busType; //1:正常2送货3.到货
public String getFromName() { public String getFromName() {
if (StrUtil.isNotEmpty(fromCorpName)) if (StrUtil.isNotEmpty(fromCorpName))

@ -56,11 +56,23 @@ public class InvPreinDetailResponse {
*/ */
private int count; private int count;
private Integer originReCount;
/** /**
* *
*/ */
private int reCount; private int reCount;
private Integer status;
private String productName; private String productName;
private String ggxh;
private String manufactory;
private String zczbhhzbapzbh;
private String auditTime;
private String billNo;
private String invName;
private String measname;
private String fromName;
} }

@ -110,4 +110,7 @@ public interface IBasicBussinessTypeService {
boolean checkBusTypeNameExists(String name, Integer id); boolean checkBusTypeNameExists(String name, Integer id);
List<BasicBussinessTypeEntity> selectIgnoreSelf(String action); List<BasicBussinessTypeEntity> selectIgnoreSelf(String action);
List<BasicBussinessTypeEntity> findByVueType(String vueType);
} }

@ -2,6 +2,7 @@ package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -36,6 +37,8 @@ public interface UdiProductService {
boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity); boolean updateUdiInfoByUuid(UdiProductEntity udiProductEntity);
boolean updateUdiInfoById(UdiProductEntity udiProductEntity);
boolean deleteById(String id); boolean deleteById(String id);
boolean deleteByUuid(String uuid); boolean deleteByUuid(String uuid);
@ -47,4 +50,7 @@ public interface UdiProductService {
* @return * @return
*/ */
List<String> getGgxhList(String relId); List<String> getGgxhList(String relId);
boolean updateUdiInfoNotAll(UdiInfoRequest udiInfoRequest);
} }

@ -21,6 +21,7 @@ public interface UdiRelevanceService {
UdiRelevanceResponse selectByNameCode(String nameCode); UdiRelevanceResponse selectByNameCode(String nameCode);
UdiRelevanceResponse selectSupGroupById(Long id);
//根据DI查询产品信息 //根据DI查询产品信息
List<UdiRelevanceResponse> selectAllByNameCode(String nameCode); List<UdiRelevanceResponse> selectAllByNameCode(String nameCode);

@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType; import com.glxp.api.constant.ConstantType;
import com.glxp.api.dao.basic.BasicBussinessTypeDao; import com.glxp.api.dao.basic.BasicBussinessTypeDao;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
@ -19,6 +21,7 @@ import javax.annotation.Resource;
import java.util.Collections; import java.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
@Slf4j @Slf4j
@Service @Service
@ -188,6 +191,39 @@ public class BasicBussinessTypeServiceImpl implements IBasicBussinessTypeService
return list; return list;
} }
@Override
public List<BasicBussinessTypeEntity> findByVueType(String vueType) {
List<BasicBussinessTypeEntity> bussinessTypeEntities = null;
switch (vueType) {
case Constant.ORDER_ACTION_NOR_DETAIL:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("actionType", 1).eq("inStock", true));
break;
case Constant.ORDER_ACTION_PRE_DETAIL:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("actionType", 3).eq("inStock", true));
break;
case Constant.ORDER_ACTION_SUP_DELIVERY:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.eq("spUse", true).eq("inStock", false));
break;
case Constant.ORDER_ACTION_SUP_INVOICE:
bussinessTypeEntities = basicBussinessTypeDao.selectList(new QueryWrapper<BasicBussinessTypeEntity>()
.eq("mainAction", ConstantType.TYPE_PUT).eq("corpType", ConstantStatus.CORP_TYPE_OUT)
.eq("spUse", true).eq("actionType", 1));
break;
default:
break;
}
return bussinessTypeEntities;
}
/** /**
* / * /
* *

@ -6,6 +6,7 @@ import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.basic.UdiProductDao; import com.glxp.api.dao.basic.UdiProductDao;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest; import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.req.basic.UdiInfoRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
@ -115,6 +116,12 @@ public class UdiProductServiceImpl implements UdiProductService {
return udiProductDao.updateUdiInfoByUuid(udiProductEntity); return udiProductDao.updateUdiInfoByUuid(udiProductEntity);
} }
@Override
public boolean updateUdiInfoById(UdiProductEntity udiProductEntity) {
return udiProductDao.updateUdiInfoById(udiProductEntity);
}
@Override @Override
public boolean deleteById(String id) { public boolean deleteById(String id) {
return udiProductDao.deleteById(id); return udiProductDao.deleteById(id);
@ -129,4 +136,11 @@ public class UdiProductServiceImpl implements UdiProductService {
public List<String> getGgxhList(String relId) { public List<String> getGgxhList(String relId) {
return udiProductDao.selectGgxhList(relId); return udiProductDao.selectGgxhList(relId);
} }
@Override
public boolean updateUdiInfoNotAll(UdiInfoRequest udiInfoRequest) {
if (StrUtil.isEmpty(udiInfoRequest.getUuid()))
return false;
return udiProductDao.updateUdiInfoNotAll(udiInfoRequest);
}
} }

@ -69,6 +69,17 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
return udiRelevanceResponses; return udiRelevanceResponses;
} }
@Override
public UdiRelevanceResponse selectSupGroupById(Long id) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setId(id);
filterUdiRelRequest.setDiType(1);
List<UdiRelevanceResponse> data = udiRelevanceDao.filterUdiJoinSup(filterUdiRelRequest);
if (data != null && data.size() > 0)
return data.get(0);
return null;
}
@Override @Override
public UdiRelevanceResponse selectByNameCode(String nameCode) { public UdiRelevanceResponse selectByNameCode(String nameCode) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest(); FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();

@ -356,7 +356,7 @@ public class IoAddInoutService {
BasicBussinessTypeEntity supplementType = basicBussinessTypeService.findByAction(bussinessTypeEntity.getSupplementOrderType()); BasicBussinessTypeEntity supplementType = basicBussinessTypeService.findByAction(bussinessTypeEntity.getSupplementOrderType());
supplementOrder.setMainAction(supplementType.getMainAction()); supplementOrder.setMainAction(supplementType.getMainAction());
supplementOrder.setAction(supplementType.getAction()); supplementOrder.setAction(supplementType.getAction());
supplementOrder.setBusType(supplementType.getBusType());
//复制码表 //复制码表
List<IoCodeEntity> codes = codeService.findByOrderId(orderId); List<IoCodeEntity> codes = codeService.findByOrderId(orderId);
List<IoCodeTempEntity> supplementCodes = new ArrayList<>(); List<IoCodeTempEntity> supplementCodes = new ArrayList<>();
@ -448,6 +448,7 @@ public class IoAddInoutService {
orderSaveRequest.setCreateUser(postOrderRequest.getUserId() + ""); orderSaveRequest.setCreateUser(postOrderRequest.getUserId() + "");
orderSaveRequest.setUpdateUser(postOrderRequest.getUserId() + ""); orderSaveRequest.setUpdateUser(postOrderRequest.getUserId() + "");
orderSaveRequest.setUpdateTime(new Date()); orderSaveRequest.setUpdateTime(new Date());
orderSaveRequest.setBusType(bussinessTypeEntity.getBusType());
orderSaveRequest.setOrderType(ConstantStatus.ORDER_TYPE_SCAN); orderSaveRequest.setOrderType(ConstantStatus.ORDER_TYPE_SCAN);
if (postOrder.getErpOrders() != null && postOrder.getErpOrders().size() > 0) if (postOrder.getErpOrders() != null && postOrder.getErpOrders().size() > 0)
orderSaveRequest.setFromType(ConstantStatus.FROM_PDAED); orderSaveRequest.setFromType(ConstantStatus.FROM_PDAED);

@ -0,0 +1,253 @@
package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InvProductDetailEntity;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBusTypePreService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.inv.InvProductDetailService;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.OrderNoTypeBean;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
/**
*
*/
@Service
public class IoChangeInoutService {
@Resource
IBasicBusTypePreService basicBusTypePreService;
@Resource
IoCodeService codeService;
@Resource
IoOrderService orderService;
@Resource
InvProductDetailService invProductDetailService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource
GennerOrderUtils gennerOrderUtils;
@Resource
IoAddInoutService addInoutService;
@Resource
IoCheckInoutService ioCheckInoutService;
@Resource
InvWarehouseService invWarehouseService;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
IoCodeTempService codeTempService;
public void changeOrder(IoOrderEntity orderEntity) {
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity != null) {
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity);
}else {
//结束,不生成库存,
}
}
//后续做修改
public void changeBusOrder(IoOrderEntity orderEntity) {
}
//普通出入库单据流转
public void genNewOrder(IoOrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities) {
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity.getSupplementAll()) {//全量补单
invProductDetailService.insertList(invProductDetailEntities);
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity);
} else { //缺量补单
List<IoCodeEntity> inList = new ArrayList<>();
for (IoCodeEntity warehouseEntity : codeEnttities) {
Integer invCount = getInvCount(warehouseEntity);
Integer count = warehouseEntity.getMyReCount();
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
if (count > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
inList.add(warehouseEntity);
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
int lea = count - invCount;
warehouseEntity.setCount(lea / (count)); //
inList.add(warehouseEntity);
}
}
} else { //结余数量《=0直接补
inList.add(warehouseEntity);
}
InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode());
invProductDetailService.insert(invProductDetailEntity);
}
buildInOrder(basicBusTypePreEntity, inList, orderEntity);
}
}
public InvProductDetailEntity filterInvByCode(List<InvProductDetailEntity> invProductDetailEntities, String
code) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
if (invProductDetailEntity.getCode().equals(code)) {
return invProductDetailEntity;
}
}
return null;
}
//计算当前库存数量
public int getInvCount(IoCodeEntity codeEntity) {
List<InvProductDetailEntity> resultLists = invProductDetailService.selectByUnique(codeEntity.getRelId(), codeEntity.getBatchNo(), codeEntity.getSupId(), codeEntity.getDeptCode(), codeEntity.getInvCode());
int invCount = 0;
if (CollUtil.isNotEmpty(resultLists)) {
for (InvProductDetailEntity invProductDetailEntity : resultLists) {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invCount = invCount - invProductDetailEntity.getReCount();
} else {
invCount = invCount + invProductDetailEntity.getReCount();
}
}
}
return invCount;
}
//生成单据
public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity) {
if (useInList.size() <= 0) {
return;
}
Map<String, List<IoCodeEntity>> filterSupMaps = new HashMap<>();
BasicBussinessTypeEntity targetBustypeEntity = basicBussinessTypeService.findByAction(bussinessChangeTypeEntity.getAction());
//过滤供应商
if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
for (IoCodeEntity warehouseEntity : useInList) {
if (warehouseEntity.getSupId() != null) {
if (filterSupMaps.get(warehouseEntity.getSupId()) == null) {
List<IoCodeEntity> temps = new ArrayList<>();
temps.add(warehouseEntity);
filterSupMaps.put(warehouseEntity.getSupId(), temps);
} else {
filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity);
}
}
}
} else {
// 原先单据流程
filterSupMaps.put("test", useInList);
// filterSupMaps.put(bussinessChangeTypeEntity.getDefaultInvCode(), useInList);
}
//根据往来单位生成入库单
for (String corpName : filterSupMaps.keySet()) {
List<IoCodeEntity> temps;
temps = filterSupMaps.get(corpName);
IoOrderEntity outOrder = new IoOrderEntity();
BeanUtils.copyProperties(orderEntity, outOrder);
outOrder.setId(null);
outOrder.setSupplementNo(null);//补单需置空
if (bussinessChangeTypeEntity.getBeforeTime() != null)
outOrder.setCreateTime(DateUtil.getBeforeDay(DateUtil.fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime()));
else
outOrder.setCreateTime(DateUtil.fromDate(orderEntity));
outOrder.setAction(targetBustypeEntity.getAction());
outOrder.setMainAction(targetBustypeEntity.getMainAction());
outOrder.setBusType(targetBustypeEntity.getBusType());
outOrder.setFromType(ConstantStatus.FROM_CHANGE);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(targetBustypeEntity.getPrefix()), "yyyyMMdd"));
outOrder.setBillNo(orderNo);
if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
outOrder.setCustomerId(corpName);
outOrder.setFromCorp(corpName);
outOrder.setFromInvCode(null);
outOrder.setFromDeptCode(null);
} else {
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());
//原先流程---使用流转单据默认仓库
// outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode());
// outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode());
outOrder.setFromCorp(null);
}
outOrder.setCorpOrderId(CustomUtil.getId() + "x");
//原先流程---使用流转单据默认仓库
// InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(bussinessChangeTypeEntity.getInvCode());
// outOrder.setInvCode(invWarehouseEntity.getCode());
// outOrder.setDeptCode(invWarehouseEntity.getParentId());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
outOrder.setInvCode(invWarehouseEntity.getCode());
outOrder.setDeptCode(invWarehouseEntity.getParentId());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
if ("1".equals(systemParamConfigEntity.getParamValue())) {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
} else {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL);
}
//互填单号
orderEntity.setUllageSupNo(outOrder.getBillNo());
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
outOrder.setOriginUllageSupNo(orderEntity.getBillNo());
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
orderService.insertOrder(outOrder);
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : temps) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempEntity.setOrderId(outOrder.getBillNo());
codeTempEntity.setAction(outOrder.getAction());
codeTempEntity.setMainAction(outOrder.getMainAction());
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
//根据单据设置状态 1:草稿
if (bussinessChangeTypeEntity.getAuditStatus() == 1) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
orderService.update(orderEntity);
} else if (bussinessChangeTypeEntity.getAuditStatus() == 2 || bussinessChangeTypeEntity.getAuditStatus() == 3) {
addInoutService.dealProcess(outOrder);
if (!ioCheckInoutService.checkManual(outOrder.getBillNo())) {
ioCheckInoutService.check(outOrder.getBillNo());
}
}
}
}
}

@ -6,6 +6,7 @@ import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus; import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType; import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.inout.*; import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.inv.InvPreinDetailEntity; import com.glxp.api.entity.inv.InvPreinDetailEntity;
import com.glxp.api.res.inout.IoOrderCheckResultResponse; import com.glxp.api.res.inout.IoOrderCheckResultResponse;
@ -16,6 +17,7 @@ import com.glxp.api.service.inv.InvPreinDetailService;
import com.glxp.api.service.inv.InvPreinOrderService; import com.glxp.api.service.inv.InvPreinOrderService;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -96,7 +98,7 @@ public class IoCheckInoutService {
} }
} }
//校验流程 //校验流程 //一次校验
public void check(String orderId) { public void check(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId); IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
//过滤非未校验或校验异常 //过滤非未校验或校验异常
@ -156,6 +158,49 @@ public class IoCheckInoutService {
} }
} }
@Resource
IoCodeLostService codeLostService;
@Async
public void genLostCode(String orderId) {
List<IoCodeEntity> ioCodeEntities = codeService.findByOrderId(orderId);
for (IoCodeEntity codeEntity : ioCodeEntities) {
UdiEntity udiEntity = FilterUdiUtils.getUdi(codeEntity.getCode());
IoCodeLostEntity codeLostEntity = codeLostService.findByCode(codeEntity.getCode());
if (codeLostEntity == null)
codeLostEntity = new IoCodeLostEntity();
//校验是否写入缺失表
boolean isTrue = false;
if (udiEntity != null) {
if (!StrUtil.trimToEmpty(codeEntity.getBatchNo()).equals(StrUtil.trimToEmpty(udiEntity.getBatchNo()))) {
if (StrUtil.isNotEmpty(codeEntity.getBatchNo())) {
codeLostEntity.setBatchNo(codeEntity.getBatchNo());
isTrue = true;
}
}
if (!StrUtil.trimToEmpty(codeEntity.getProduceDate()).equals(StrUtil.trimToEmpty(udiEntity.getProduceDate()))) {
if (StrUtil.isNotEmpty(codeEntity.getProduceDate())) {
codeLostEntity.setProduceDate(codeEntity.getProduceDate());
isTrue = true;
}
}
if (!StrUtil.trimToEmpty(codeEntity.getExpireDate()).equals(StrUtil.trimToEmpty(udiEntity.getExpireDate()))) {
if (StrUtil.isNotEmpty(codeEntity.getExpireDate())) {
codeLostEntity.setExpireDate(codeEntity.getExpireDate());
isTrue = true;
}
}
if (isTrue)
codeLostService.insertOrUpdate(codeLostEntity);
}
}
}
public String checkCode(IoCodeTempEntity codeEntity) { public String checkCode(IoCodeTempEntity codeEntity) {
boolean isBillExit = orderDetailBizService.isExit(codeEntity.getOrderId()); boolean isBillExit = orderDetailBizService.isExit(codeEntity.getOrderId());
@ -229,9 +274,11 @@ public class IoCheckInoutService {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
checkSecond(orderEntity); // genLostCode(orderEntity.getBillNo());
checkThird(orderEntity);
} }
//一次校验完成 //一次校验完成
public void checkFirstFinish(IoOrderEntity orderEntity) { public void checkFirstFinish(IoOrderEntity orderEntity) {
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo()); List<IoOrderDetailCodeEntity> orderDetailCodeEntities = orderDetailCodeService.findByOrderId(orderEntity.getBillNo());
@ -332,7 +379,11 @@ public class IoCheckInoutService {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
checkSecond(orderEntity); //生成缺失码
// genLostCode(orderEntity.getBillNo());
checkThird(orderEntity);
} }
} }
@ -431,6 +482,8 @@ public class IoCheckInoutService {
bizEntity.setCheckSuccess(true); bizEntity.setCheckSuccess(true);
codeEntity.setCheckSuccess(true); codeEntity.setCheckSuccess(true);
bizEntity.setScanCount(codeEntity.getReCount()); bizEntity.setScanCount(codeEntity.getReCount());
ioOrderCheckResultResponse.setScanCount(bizEntity.getScanCount());
ioOrderCheckResultResponse.setCheckSuccess(true);
isPass = true; isPass = true;
orderCheckResultResponses.add(ioOrderCheckResultResponse); orderCheckResultResponses.add(ioOrderCheckResultResponse);
break; break;
@ -456,6 +509,7 @@ public class IoCheckInoutService {
ioOrderCheckResultResponse.setSProductDate(codeEntity.getProductDate()); ioOrderCheckResultResponse.setSProductDate(codeEntity.getProductDate());
ioOrderCheckResultResponse.setSExpireDate(codeEntity.getExpireDate()); ioOrderCheckResultResponse.setSExpireDate(codeEntity.getExpireDate());
ioOrderCheckResultResponse.setCount(0); ioOrderCheckResultResponse.setCount(0);
ioOrderCheckResultResponse.setScanCount(codeEntity.getReCount());
orderCheckResultResponses.add(ioOrderCheckResultResponse); orderCheckResultResponses.add(ioOrderCheckResultResponse);
} }
} }
@ -533,6 +587,59 @@ public class IoCheckInoutService {
} }
//三次校验(中间层)
public void checkThird(IoOrderEntity orderEntity) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_AUDITED && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_REW) {
if (bussinessTypeEntity.isThrCheckEnable()) {
if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) {
if (!bussinessTypeEntity.isThrCheckUdims()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) {
if (!bussinessTypeEntity.isThrCheckWebNew()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) {
if (!bussinessTypeEntity.isThrCheckPdaEd()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) {
if (!bussinessTypeEntity.isThrCheckPdaUn()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
if (!bussinessTypeEntity.isThrCheckPc()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
if (!bussinessTypeEntity.isThrCheckChange()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) {
if (!bussinessTypeEntity.isThrCheckBalance()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_COPY) {
if (!bussinessTypeEntity.isThrCheckCopy()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
}
} else {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK_REW);
}
}
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_CHECK_REW) {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_REW);
orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date());
orderService.update(orderEntity);
checkSecond(orderEntity);
}
}
//二次校验 //二次校验
public void checkSecond(IoOrderEntity orderEntity) { public void checkSecond(IoOrderEntity orderEntity) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
@ -579,11 +686,15 @@ public class IoCheckInoutService {
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_CHECK); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_CHECK);
orderEntity.setUpdateTime(new Date()); orderEntity.setUpdateTime(new Date());
orderEntity.setAuditTime(new Date());
orderService.update(orderEntity); orderService.update(orderEntity);
genInv(orderEntity, bussinessTypeEntity); genInv(orderEntity, bussinessTypeEntity);
} }
} }
@Resource
IoChangeInoutService changeInoutService;
//校验完成后生成库存 //校验完成后生成库存
public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) { public void genInv(IoOrderEntity orderEntity, BasicBussinessTypeEntity bussinessTypeEntity) {
@ -596,8 +707,12 @@ public class IoCheckInoutService {
for (IoCodeEntity warehouseEntity : codeList) { for (IoCodeEntity warehouseEntity : codeList) {
List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode()); List<InvPreinDetailEntity> invProductDetailEntities = invPreinDetailService.findByCode(warehouseEntity.getCode());
if (invProductDetailEntities.size() > 0) { if (invProductDetailEntities.size() > 0) {
for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) for (InvPreinDetailEntity invPreinDetailEntity : invProductDetailEntities) {
preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId()); preInOrder.put(invPreinDetailEntity.getOrderId(), invPreinDetailEntity.getOrderId());
invPreinDetailEntity.setStatus(ConstantStatus.INVIN_USE);
invPreinDetailService.update(invPreinDetailEntity);
}
} }
} }
if (preInOrder.size() > 0) { if (preInOrder.size() > 0) {
@ -612,7 +727,8 @@ public class IoCheckInoutService {
BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction()); BasicBussinessTypeEntity preBusType = basicBussinessTypeService.findByAction(preInEntity.getAction());
//预验收不删除单号,方便后续查询 //预验收不删除单号,方便后续查询
if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存; if (preBusType.isPreInBack()) { //预验收如果带回,则清空相关预验收库存;
invPreinDetailService.deleteByOrderId(preInEntity.getBillNo()); invPreinDetailService.updateBack(preInEntity.getBillNo());
// invPreinDetailService.deleteByOrderId(preInEntity.getBillNo());
} else { //预验收如果不带回,则清除已出库相关库存 } else { //预验收如果不带回,则清除已出库相关库存
for (IoCodeEntity codeEntity : codeList) { for (IoCodeEntity codeEntity : codeList) {
if (StrUtil.isEmpty(codeEntity.getSerialNo())) { if (StrUtil.isEmpty(codeEntity.getSerialNo())) {
@ -627,15 +743,17 @@ public class IoCheckInoutService {
if (count >= 0) { if (count >= 0) {
isBreak = true; isBreak = true;
if (count == 0) { if (count == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode()); // invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else { } else {
invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
invPreinDetailEntity.setCount(count); invPreinDetailEntity.setCount(count);
invPreinDetailService.update(invPreinDetailEntity); invPreinDetailService.update(invPreinDetailEntity);
} }
int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount(); int reCount = invPreinDetailEntity.getReCount() - codeEntity.getMyReCount();
if (reCount == 0) { if (reCount == 0) {
invPreinDetailService.deleteByCode(key, codeEntity.getCode()); // invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} else { } else {
invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
invPreinDetailEntity.setReCount(reCount); invPreinDetailEntity.setReCount(reCount);
invPreinDetailService.update(invPreinDetailEntity); invPreinDetailService.update(invPreinDetailEntity);
} }
@ -644,7 +762,7 @@ public class IoCheckInoutService {
} }
} else { } else {
invPreinDetailService.deleteByCode(key, codeEntity.getCode()); // invPreinDetailService.deleteByCode(key, codeEntity.getCode());
} }
} }
@ -658,14 +776,23 @@ public class IoCheckInoutService {
} }
} }
//校验是否是不入库存单据
if (bussinessTypeEntity.isInStock()) {
// if (bussinessTypeEntity.getBusType() == ConstantStatus.BUS_TYPE_NORMAL) {
//生成库存 //生成库存
if (bussinessTypeEntity.isPreIn()) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
genInvService.genPreInInv(orderEntity.getBillNo()); genInvService.genPreInInv(orderEntity.getBillNo());
} else if (bussinessTypeEntity.isAdvanceType()) { } else if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
genInvService.genPreInv(orderEntity.getBillNo()); genInvService.genPreInv(orderEntity.getBillNo());
} else { } else {
genInvService.genNorInv(orderEntity.getBillNo()); genInvService.genNorInv(orderEntity.getBillNo());
} }
} else {
//不入库存,直接进行单据流转
changeInoutService.changeOrder(orderEntity);
}
} }

@ -1,13 +1,20 @@
package com.glxp.api.service.inout; package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.res.inout.IoCodeLostResponse;
import java.util.List;
public interface IoCodeLostService { public interface IoCodeLostService {
List<IoCodeLostResponse> selectLost(IoCodeLostEntity ioCodeLostEntity);
IoCodeLostEntity findByCode(String code); IoCodeLostEntity findByCode(String code);
int insert(IoCodeLostEntity ioCodeLostEntity); int insert(IoCodeLostEntity ioCodeLostEntity);
boolean insertOrUpdate(IoCodeLostEntity ioCodeLostEntity);
int deleteByCode(String code); int deleteByCode(String code);

@ -8,6 +8,7 @@ import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBusTypePreEntity; import com.glxp.api.entity.basic.BasicBusTypePreEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.entity.inout.IoCodeEntity; import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity; import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailResultEntity; import com.glxp.api.entity.inout.IoOrderDetailResultEntity;
@ -42,8 +43,7 @@ public class IoGenInvService {
InvPreinOrderService invPreinOrderService; InvPreinOrderService invPreinOrderService;
@Resource @Resource
InvPreinDetailService invPreinDetailService; InvPreinDetailService invPreinDetailService;
@Resource
IBasicBussinessTypeService basicBussinessTypeService;
@Resource @Resource
IoOrderService orderService; IoOrderService orderService;
@Resource @Resource
@ -52,14 +52,10 @@ public class IoGenInvService {
IoCodeService codeService; IoCodeService codeService;
@Resource @Resource
IBasicBusTypePreService basicBusTypePreService; IBasicBusTypePreService basicBusTypePreService;
@Resource @Resource
GennerOrderUtils gennerOrderUtils; IoChangeInoutService ioChangeInoutService;
@Resource
InvWarehouseService invWarehouseService;
@Resource
SystemParamConfigService systemParamConfigService;
@Resource
IoCodeTempService codeTempService;
//生成普通库存 //生成普通库存
@ -111,7 +107,7 @@ public class IoGenInvService {
} }
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction()); BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
if (basicBusTypePreEntity != null) { //进行单据流转 if (basicBusTypePreEntity != null) { //进行单据流转
genNewOrder(orderEntity, invProductDetailEntities); ioChangeInoutService.genNewOrder(orderEntity, invProductDetailEntities);
} else { //生成库存结束 } else { //生成库存结束
invProductDetailService.insertList(invProductDetailEntities); invProductDetailService.insertList(invProductDetailEntities);
} }
@ -125,6 +121,7 @@ public class IoGenInvService {
@Resource @Resource
InvPreProductDetailService invPreProductDetailService; InvPreProductDetailService invPreProductDetailService;
//生成寄售库存
public void genPreInv(String orderId) { public void genPreInv(String orderId) {
IoOrderEntity orderEntity = orderService.findByBillNo(orderId); IoOrderEntity orderEntity = orderService.findByBillNo(orderId);
List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId); List<IoOrderDetailResultEntity> orderDetailResultEntities = orderDetailResultService.findByOrderId(orderId);
@ -189,6 +186,9 @@ public class IoGenInvService {
InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity(); InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity();
BeanUtils.copyProperties(codeEntity, invPreinDetailEntity); BeanUtils.copyProperties(codeEntity, invPreinDetailEntity);
invPreinDetailEntity.setId(null); invPreinDetailEntity.setId(null);
invPreinDetailEntity.setStatus(ConstantStatus.INVIN_IN);
invPreinDetailEntity.setOriginCount(codeEntity.getCount());
invPreinDetailEntity.setOriginReCount(codeEntity.getReCount());
invPreinDetailEntities.add(invPreinDetailEntity); invPreinDetailEntities.add(invPreinDetailEntity);
}); });
@ -197,163 +197,4 @@ public class IoGenInvService {
} }
//单据流转
public void genNewOrder(IoOrderEntity orderEntity, List<InvProductDetailEntity> invProductDetailEntities) {
BasicBusTypePreEntity basicBusTypePreEntity = basicBusTypePreService.findByOriginAction(orderEntity.getAction());
List<IoCodeEntity> codeEnttities = codeService.findByOrderId(orderEntity.getBillNo());
if (basicBusTypePreEntity.getSupplementAll()) {//全量补单
invProductDetailService.insertList(invProductDetailEntities);
buildInOrder(basicBusTypePreEntity, codeEnttities, orderEntity);
} else { //缺量补单
List<IoCodeEntity> inList = new ArrayList<>();
for (IoCodeEntity warehouseEntity : codeEnttities) {
Integer invCount = getInvCount(warehouseEntity);
Integer count = warehouseEntity.getMyReCount();
if (invCount > 0) {//仓库已存在该产品
if (count > invCount) { //当前数量>结余数量,说明该产品是无序列号或者是多级包装
if (count > invCount) { //该产品实际数量大于结余数量,说明是多级包装,直接补
inList.add(warehouseEntity);
} else if (warehouseEntity.getSerialNo() == null) { //无序列号(多级包装无序列号的已在上一步被排除),补齐数量
int lea = count - invCount;
warehouseEntity.setCount(lea / (count)); //
inList.add(warehouseEntity);
}
}
} else { //结余数量《=0直接补
inList.add(warehouseEntity);
}
InvProductDetailEntity invProductDetailEntity = filterInvByCode(invProductDetailEntities, warehouseEntity.getCode());
invProductDetailService.insert(invProductDetailEntity);
}
buildInOrder(basicBusTypePreEntity, inList, orderEntity);
}
}
public InvProductDetailEntity filterInvByCode(List<InvProductDetailEntity> invProductDetailEntities, String
code) {
for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) {
if (invProductDetailEntity.getCode().equals(code)) {
return invProductDetailEntity;
}
}
return null;
}
//生成单据
public void buildInOrder(BasicBusTypePreEntity bussinessChangeTypeEntity, List<IoCodeEntity> useInList, IoOrderEntity orderEntity) {
if (useInList.size() <= 0) {
return;
}
Map<String, List<IoCodeEntity>> filterSupMaps = new HashMap<>();
BasicBussinessTypeEntity targetBustypeEntity = basicBussinessTypeService.findByAction(bussinessChangeTypeEntity.getAction());
//过滤供应商
if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
for (IoCodeEntity warehouseEntity : useInList) {
if (warehouseEntity.getSupId() != null) {
if (filterSupMaps.get(warehouseEntity.getSupId()) == null) {
List<IoCodeEntity> temps = new ArrayList<>();
temps.add(warehouseEntity);
filterSupMaps.put(warehouseEntity.getSupId(), temps);
} else {
filterSupMaps.get(warehouseEntity.getSupId()).add(warehouseEntity);
}
}
}
} else {
filterSupMaps.put(bussinessChangeTypeEntity.getDefaultInvCode(), useInList);
}
//根据往来单位生成入库单
for (String corpName : filterSupMaps.keySet()) {
List<IoCodeEntity> temps;
temps = filterSupMaps.get(corpName);
IoOrderEntity outOrder = new IoOrderEntity();
BeanUtils.copyProperties(orderEntity, outOrder);
outOrder.setId(null);
outOrder.setSupplementNo(null);//补单需置空
if (bussinessChangeTypeEntity.getBeforeTime() != null)
outOrder.setCreateTime(DateUtil.getBeforeDay(DateUtil.fromDate(orderEntity), bussinessChangeTypeEntity.getBeforeTime()));
else
outOrder.setCreateTime(DateUtil.fromDate(orderEntity));
outOrder.setAction(targetBustypeEntity.getAction());
outOrder.setMainAction(targetBustypeEntity.getMainAction());
outOrder.setFromType(ConstantStatus.FROM_CHANGE);
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(targetBustypeEntity.getPrefix()), "yyyyMMdd"));
outOrder.setBillNo(orderNo);
if (targetBustypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_OUT) {
outOrder.setCustomerId(corpName);
outOrder.setFromCorp(corpName);
outOrder.setFromInvCode(null);
outOrder.setFromDeptCode(null);
} else {
outOrder.setCustomerId(Constant.SYSTEM_CUSTOMER_ID);
outOrder.setFromInvCode(bussinessChangeTypeEntity.getDefaultInvCode());
outOrder.setFromDeptCode(bussinessChangeTypeEntity.getDefaultDeptCode());
outOrder.setFromCorp(null);
}
outOrder.setCorpOrderId(CustomUtil.getId() + "x");
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(bussinessChangeTypeEntity.getInvCode());
outOrder.setInvCode(invWarehouseEntity.getCode());
outOrder.setDeptCode(invWarehouseEntity.getParentId());
SystemParamConfigEntity systemParamConfigEntity = systemParamConfigService.selectByParamKey("additional_auto_submit");
if ("1".equals(systemParamConfigEntity.getParamValue())) {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_PROCESS);
} else {
outOrder.setStatus(ConstantStatus.ORDER_STATUS_ADDITIONAL);
}
//互填单号
orderEntity.setUllageSupNo(outOrder.getBillNo());
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
outOrder.setOriginUllageSupNo(orderEntity.getBillNo());
outOrder.setCreateUser(null);
outOrder.setReviewUser(null);
orderService.insertOrder(outOrder);
List<IoCodeTempEntity> codeTempEntities = new ArrayList<>();
for (IoCodeEntity warehouseEntity : temps) {
IoCodeTempEntity codeTempEntity = new IoCodeTempEntity();
BeanUtils.copyProperties(warehouseEntity, codeTempEntity);
codeTempEntity.setId(null);
codeTempEntity.setOrderId(outOrder.getBillNo());
codeTempEntity.setAction(outOrder.getAction());
codeTempEntity.setMainAction(outOrder.getMainAction());
codeTempEntities.add(codeTempEntity);
}
codeTempService.insertBatch(codeTempEntities);
addInoutService.dealProcess(outOrder);
if (!ioCheckInoutService.checkManual(outOrder.getBillNo())) {
ioCheckInoutService.check(outOrder.getBillNo());
}
}
}
@Resource
IoAddInoutService addInoutService;
@Resource
IoCheckInoutService ioCheckInoutService;
//计算当前库存数量
public int getInvCount(IoCodeEntity codeEntity) {
List<InvProductDetailEntity> resultLists = invProductDetailService.selectByUnique(codeEntity.getRelId(), codeEntity.getBatchNo(), codeEntity.getSupId(), codeEntity.getDeptCode(), codeEntity.getInvCode());
int invCount = 0;
if (CollUtil.isNotEmpty(resultLists)) {
for (InvProductDetailEntity invProductDetailEntity : resultLists) {
if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_OUT)) {
invCount = invCount - invProductDetailEntity.getReCount();
} else {
invCount = invCount + invProductDetailEntity.getReCount();
}
}
}
return invCount;
}
} }

@ -3,6 +3,7 @@ package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import java.util.List; import java.util.List;
@ -34,4 +35,7 @@ public interface IoOrderDetailBizService {
IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo,String bindRlFk); IoOrderDetailBizEntity selectByBatchNoAndBindRlFk(String batchNo,String bindRlFk);
List<IoOrderDetailBizEntity> checkOrderList(String orderId); List<IoOrderDetailBizEntity> checkOrderList(String orderId);
List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest);
} }

@ -22,4 +22,6 @@ public interface IoOrderDetailResultService {
List<IoOrderDetailResultResponse> filterList(FilterOrderDetailResultRequest orderDetailResultRequest); List<IoOrderDetailResultResponse> filterList(FilterOrderDetailResultRequest orderDetailResultRequest);
List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest);
} }

@ -0,0 +1,15 @@
package com.glxp.api.service.inout;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest;
public interface IoOrderInvoiceService {
boolean deleteByInvId(Integer id);
boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest);
boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity);
}

@ -74,6 +74,8 @@ public interface IoOrderService {
*/ */
void setFilterStatus(FilterOrderRequest filterOrderRequest); void setFilterStatus(FilterOrderRequest filterOrderRequest);
List<String> setActions(FilterOrderRequest filterOrderRequest);
/** /**
* *
* *

@ -1,6 +1,7 @@
package com.glxp.api.service.inout.impl; package com.glxp.api.service.inout.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.glxp.api.res.inout.IoCodeLostResponse;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
@ -9,6 +10,8 @@ import com.glxp.api.dao.inout.IoCodeLostMapper;
import com.glxp.api.entity.inout.IoCodeLostEntity; import com.glxp.api.entity.inout.IoCodeLostEntity;
import com.glxp.api.service.inout.IoCodeLostService; import com.glxp.api.service.inout.IoCodeLostService;
import java.util.List;
@Service @Service
public class IoCodeLostServiceImpl implements IoCodeLostService { public class IoCodeLostServiceImpl implements IoCodeLostService {
@ -16,6 +19,11 @@ public class IoCodeLostServiceImpl implements IoCodeLostService {
IoCodeLostMapper codeLostEntityMapper; IoCodeLostMapper codeLostEntityMapper;
@Override
public List<IoCodeLostResponse> selectLost(IoCodeLostEntity ioCodeLostEntity) {
return codeLostEntityMapper.selectLost(ioCodeLostEntity);
}
@Override @Override
public IoCodeLostEntity findByCode(String code) { public IoCodeLostEntity findByCode(String code) {
@ -24,9 +32,15 @@ public class IoCodeLostServiceImpl implements IoCodeLostService {
@Override @Override
public int insert(IoCodeLostEntity ioCodeLostEntity) { public int insert(IoCodeLostEntity ioCodeLostEntity) {
return codeLostEntityMapper.insert(ioCodeLostEntity); return codeLostEntityMapper.insert(ioCodeLostEntity);
} }
@Override
public boolean insertOrUpdate(IoCodeLostEntity ioCodeLostEntity) {
return codeLostEntityMapper.insertOrUpdate(ioCodeLostEntity);
}
@Override @Override
public int deleteByCode(String code) { public int deleteByCode(String code) {
return codeLostEntityMapper.delete(new QueryWrapper<IoCodeLostEntity>().eq("code", code)); return codeLostEntityMapper.delete(new QueryWrapper<IoCodeLostEntity>().eq("code", code));

@ -8,6 +8,7 @@ import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity; import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.req.inout.FilterOrderDetailBizRequest; import com.glxp.api.req.inout.FilterOrderDetailBizRequest;
import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.res.inout.IoOrderInvoiceResponse;
import com.glxp.api.service.inout.IoCheckInoutService; import com.glxp.api.service.inout.IoCheckInoutService;
import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderDetailCodeService; import com.glxp.api.service.inout.IoOrderDetailCodeService;
@ -39,9 +40,9 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
if(StrUtil.isNotEmpty(orderId)){ if(StrUtil.isNotEmpty(orderId)){
ew.eq("orderIdFk",orderId); ew.eq("orderIdFk",orderId);
} }
if(chack){ // if(chack){
ew.isNull("nameCode"); // ew.isNull("nameCode");
} // }
List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew); List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList=ioOrderDetailBizDao.selectList(ew);
return ioOrderDetailBizEntityList; return ioOrderDetailBizEntityList;
} }
@ -125,4 +126,9 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return orderDetailBizEntities; return orderDetailBizEntities;
} }
@Override
public List<IoOrderInvoiceResponse> filterListInv(FilterOrderDetailBizRequest orderDetailBizRequest) {
return ioOrderDetailBizDao.filterListInv(orderDetailBizRequest);
}
} }

@ -58,4 +58,16 @@ public class IoOrderDetailResultServiceImpl implements IoOrderDetailResultServic
} }
return orderDetailResultDao.filterList(orderDetailResultRequest); return orderDetailResultDao.filterList(orderDetailResultRequest);
} }
@Override
public List<IoOrderDetailResultResponse> filterOrderList(FilterOrderDetailResultRequest orderDetailResultRequest) {
if (null == orderDetailResultRequest) {
return Collections.emptyList();
}
if (null != orderDetailResultRequest.getPage() && null != orderDetailResultRequest.getLimit()) {
PageHelper.offsetPage((orderDetailResultRequest.getPage() - 1) * orderDetailResultRequest.getLimit(), orderDetailResultRequest.getLimit());
}
return orderDetailResultDao.filterOrderList(orderDetailResultRequest);
}
} }

@ -0,0 +1,33 @@
package com.glxp.api.service.inout.impl;
import com.glxp.api.dao.inout.IoOrderInvoiceMapper;
import com.glxp.api.entity.inout.IoOrderInvoiceEntity;
import com.glxp.api.req.inout.IoOrderInvoiceRequest;
import com.glxp.api.service.inout.IoOrderInvoiceService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class IoOrderInvoiceServiceImpl implements IoOrderInvoiceService {
@Resource
IoOrderInvoiceMapper ioOrderInvoiceMapper;
@Override
public boolean deleteByInvId(Integer id) {
return this.ioOrderInvoiceMapper.deleteById(id)>0;
}
@Override
public boolean updateByInvId(IoOrderInvoiceRequest ioOrderInvoiceRequest) {
IoOrderInvoiceEntity ioOrderInvoiceEntity = new IoOrderInvoiceEntity();
BeanUtils.copyProperties(ioOrderInvoiceRequest,ioOrderInvoiceEntity);
return this.ioOrderInvoiceMapper.updateById(ioOrderInvoiceEntity)>0;
}
@Override
public boolean insertInvoice(IoOrderInvoiceEntity ioOrderInvoiceEntity) {
return ioOrderInvoiceMapper.insertInvoice(ioOrderInvoiceEntity);
}
}

@ -184,10 +184,10 @@ public class IoOrderServiceImpl implements IoOrderService {
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) { if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存 //判断单据是否是预验收单据,如果是预验收单据,则删除预验收库库存
if (basicBussinessTypeEntity.isPreIn()) { if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
preinOrderService.deleteByOrderId(billNo); preinOrderService.deleteByOrderId(billNo);
preinDetailService.deleteByOrderId(billNo); preinDetailService.deleteByOrderId(billNo);
} else if (basicBussinessTypeEntity.isAdvanceType()) { } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) {
//是否寄售,删除寄售库存 //是否寄售,删除寄售库存
List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailService.selectByOrderIdFk(billNo); List<InvPreProductDetailEntity> invProductDetailEntities = invPreProductDetailService.selectByOrderIdFk(billNo);
if (CollUtil.isNotEmpty(invProductDetailEntities)) { if (CollUtil.isNotEmpty(invProductDetailEntities)) {
@ -279,7 +279,7 @@ public class IoOrderServiceImpl implements IoOrderService {
BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity basicBussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收库存 //预验收库存
if (basicBussinessTypeEntity.isPreIn()) { if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
InvPreinDetailEntity invPreinDetailEntity = preinDetailService.findByCode(billNo, code); InvPreinDetailEntity invPreinDetailEntity = preinDetailService.findByCode(billNo, code);
int count = invPreinDetailEntity.getCount() - 1; int count = invPreinDetailEntity.getCount() - 1;
@ -292,7 +292,7 @@ public class IoOrderServiceImpl implements IoOrderService {
preinDetailService.update(invPreinDetailEntity); preinDetailService.update(invPreinDetailEntity);
} }
} else if (basicBussinessTypeEntity.isAdvanceType()) { //寄售库存 } else if (basicBussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_ADVANCE) { //寄售库存
InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code); InvPreProductDetailEntity invProductDetailEntity = invPreProductDetailService.selectByCode(billNo, code);
int count = invProductDetailEntity.getCount() - 1; int count = invProductDetailEntity.getCount() - 1;
if (count == 0) { if (count == 0) {
@ -378,7 +378,7 @@ public class IoOrderServiceImpl implements IoOrderService {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
//预验收撤回---直接删除预验收库存 //预验收撤回---直接删除预验收库存
if (bussinessTypeEntity.isPreIn()) { if (bussinessTypeEntity.getActionType() == ConstantStatus.ACTION_TYPE_PREIN) {
invPreinOrderService.deleteByOrderId(billNo); invPreinOrderService.deleteByOrderId(billNo);
invPreinDetailService.deleteByOrderId(billNo); invPreinDetailService.deleteByOrderId(billNo);
} else { } else {
@ -526,13 +526,30 @@ public class IoOrderServiceImpl implements IoOrderService {
break; break;
case Constant.ORDER_STATUS_AUDITED: case Constant.ORDER_STATUS_AUDITED:
filterOrderRequest.setStatuses(Arrays.asList(7)); filterOrderRequest.setStatuses(Arrays.asList(7));
filterOrderRequest.setDealStatuses(Arrays.asList(3)); filterOrderRequest.setDealStatuses(Arrays.asList(3, 4));
break;
case Constant.ORDER_STATUS_SUP_SEARCH:
filterOrderRequest.setStatuses(Arrays.asList(5, 7));
filterOrderRequest.setDealStatuses(Arrays.asList(2, 3));
break; break;
default: default:
break; break;
} }
} }
@Override
public List<String> setActions(FilterOrderRequest filterOrderRequest) {
List<BasicBussinessTypeEntity> bussinessTypeEntities;
List<String> actions = null;
if (filterOrderRequest.getVueType() == null)
return null;
bussinessTypeEntities = basicBussinessTypeService.findByVueType(filterOrderRequest.getVueType());
actions = bussinessTypeEntities.stream().map(BasicBussinessTypeEntity::getAction).collect(Collectors.toList());
filterOrderRequest.setActions(actions);
return actions;
}
@Override @Override
public List<IoOrderEntity> filterOrderTrace(String billNo) { public List<IoOrderEntity> filterOrderTrace(String billNo) {
IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo)); IoOrderEntity order = orderDao.selectOne(new QueryWrapper<IoOrderEntity>().eq("billNo", billNo));

@ -17,7 +17,12 @@ public interface InvPreinDetailService {
List<InvPreinDetailEntity> findByCode(String code); List<InvPreinDetailEntity> findByCode(String code);
InvPreinDetailEntity findOneByCode(String code); // InvPreinDetailEntity findOneByCode(String code);
List<InvPreinDetailEntity> findUseByCode(String code);
InvPreinDetailEntity findUseOneByCode(String code);
int deleteByOrderId(String orderId); int deleteByOrderId(String orderId);
@ -29,4 +34,6 @@ public interface InvPreinDetailService {
int update(InvPreinDetailEntity invPreinDetailEntity); int update(InvPreinDetailEntity invPreinDetailEntity);
int updateBack(String orderId);
} }

@ -8,6 +8,7 @@ import com.glxp.api.dao.basic.UdiRelevanceDao;
import com.glxp.api.dao.inv.InvInnerOrderPrintDao; import com.glxp.api.dao.inv.InvInnerOrderPrintDao;
import com.glxp.api.entity.basic.UdiProductEntity; import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity; import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inv.InnerOrderDetailEntity; import com.glxp.api.entity.inv.InnerOrderDetailEntity;
import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity;
import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; import com.glxp.api.entity.inv.InvInnerOrderPrintEntity;
@ -23,6 +24,7 @@ import com.glxp.api.service.auth.CustomerService;
import com.glxp.api.service.basic.UdiProductService; import com.glxp.api.service.basic.UdiProductService;
import com.glxp.api.service.basic.UdiRelevanceService; import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoOrderDetailBizService; import com.glxp.api.service.inout.IoOrderDetailBizService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inv.InnerOrderDetailService; import com.glxp.api.service.inv.InnerOrderDetailService;
import com.glxp.api.service.inv.InvInnerOrderPdfTempService; import com.glxp.api.service.inv.InvInnerOrderPdfTempService;
import com.glxp.api.service.inv.InvInnerOrderPrintService; import com.glxp.api.service.inv.InvInnerOrderPrintService;
@ -118,7 +120,7 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService
String udiCode = "#" + udiProductEntity.getNameCode() + "#" + obj.getProductDate() + "#" + obj.getExpireDate() + String udiCode = "#" + udiProductEntity.getNameCode() + "#" + obj.getProductDate() + "#" + obj.getExpireDate() +
"#" + obj.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode(); "#" + obj.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode();
udiCode = udiCode.replaceAll("#null",""); udiCode = udiCode.replaceAll("#null", "#");
innerOrderPrintEntity.setUdiCode(udiCode); innerOrderPrintEntity.setUdiCode(udiCode);
invInnerOrderPrintDao.insert(innerOrderPrintEntity); invInnerOrderPrintDao.insert(innerOrderPrintEntity);
} }
@ -244,6 +246,8 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService
return null; return null;
} }
@Resource
IoOrderService orderService;
//-----------------------------------------------------------业务单据打印-----------------------------// //-----------------------------------------------------------业务单据打印-----------------------------//
@Override @Override
@ -252,13 +256,16 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService
QueryWrapper<InvInnerOrderPrintEntity> ew = new QueryWrapper<>(); QueryWrapper<InvInnerOrderPrintEntity> ew = new QueryWrapper<>();
ew.eq("orderIdFk", orderIdFk); ew.eq("orderIdFk", orderIdFk);
invInnerOrderPrintDao.delete(ew); invInnerOrderPrintDao.delete(ew);
IoOrderEntity orderEntity = orderService.findByBillNo(orderIdFk);
List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList = ioOrderDetailBizService.findByOrderIdAndNameCode(orderIdFk, check); List<IoOrderDetailBizEntity> ioOrderDetailBizEntityList = ioOrderDetailBizService.findByOrderIdAndNameCode(orderIdFk, check);
if (ioOrderDetailBizEntityList.size() == 0) { if (ioOrderDetailBizEntityList.size() == 0) {
return false; return false;
} }
for (IoOrderDetailBizEntity obj : ioOrderDetailBizEntityList) { for (IoOrderDetailBizEntity obj : ioOrderDetailBizEntityList) {
//todo 暂时这样子,以后要过滤
if (check && obj.getNameCode().length() == 14) {
continue;
}
InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity(); InvInnerOrderPrintEntity innerOrderPrintEntity = new InvInnerOrderPrintEntity();
innerOrderPrintEntity.setOrderIdFk(obj.getOrderIdFk()); innerOrderPrintEntity.setOrderIdFk(obj.getOrderIdFk());
innerOrderPrintEntity.setProductId(obj.getBindRlFk() + ""); innerOrderPrintEntity.setProductId(obj.getBindRlFk() + "");
@ -282,10 +289,12 @@ public class InvInnerOrderPrintServiceImpl implements InvInnerOrderPrintService
String udiCode = "#" + obj.getNameCode() + "#" + obj.getProductDate() + "#" + obj.getExpireDate() + String udiCode = "#" + obj.getNameCode() + "#" + obj.getProductDate() + "#" + obj.getExpireDate() +
"#" + obj.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode(); "#" + obj.getBatchNo() + "#" + udiProductEntity.getSerialNo() + "#" + udiProductEntity.getWarehouseCode() + "#" + udiProductEntity.getDeptCode();
udiCode = udiCode.replaceAll("#null",""); udiCode = udiCode.replaceAll("#null", "#");
innerOrderPrintEntity.setUdiCode(udiCode); innerOrderPrintEntity.setUdiCode(udiCode);
invInnerOrderPrintDao.insert(innerOrderPrintEntity); invInnerOrderPrintDao.insert(innerOrderPrintEntity);
} }
orderEntity.setInCodeStatus(1);//
orderService.update(orderEntity);
return true; return true;
} }

@ -3,6 +3,7 @@ package com.glxp.api.service.inv.impl;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.dao.inv.InvPreinDetailDao; import com.glxp.api.dao.inv.InvPreinDetailDao;
import com.glxp.api.dao.inv.InvPreinOrderDao; import com.glxp.api.dao.inv.InvPreinOrderDao;
import com.glxp.api.entity.inv.InvPreProductDetailEntity; import com.glxp.api.entity.inv.InvPreProductDetailEntity;
@ -41,19 +42,34 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService {
} }
@Override @Override
public List<InvPreinDetailEntity> findByCode(String code) { public List<InvPreinDetailEntity> findUseByCode(String code) {
return invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code)); return invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code).eq("status", ConstantStatus.INVIN_IN));
} }
@Override @Override
public InvPreinDetailEntity findOneByCode(String code) { public InvPreinDetailEntity findUseOneByCode(String code) {
List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code).last("limit 1")); List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code)
.eq("status", ConstantStatus.INVIN_IN).last("limit 1"));
if (CollUtil.isNotEmpty(invPreinDetailEntities)) { if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
return invPreinDetailEntities.get(0); return invPreinDetailEntities.get(0);
} }
return null; return null;
} }
@Override
public List<InvPreinDetailEntity> findByCode(String code) {
return invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code));
}
//
// @Override
// public InvPreinDetailEntity findOneByCode(String code) {
// List<InvPreinDetailEntity> invPreinDetailEntities = invPreinDetailDao.selectList(new QueryWrapper<InvPreinDetailEntity>().eq("code", code).last("limit 1"));
// if (CollUtil.isNotEmpty(invPreinDetailEntities)) {
// return invPreinDetailEntities.get(0);
// }
// return null;
// }
@Override @Override
public int deleteByOrderId(String orderId) { public int deleteByOrderId(String orderId) {
return invPreinDetailDao.delete(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId)); return invPreinDetailDao.delete(new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId));
@ -81,8 +97,18 @@ public class InvPreinDetailServiceImpl implements InvPreinDetailService {
@Override @Override
public int update(InvPreinDetailEntity invPreinDetailEntity) { public int update(InvPreinDetailEntity invPreinDetailEntity) {
return invPreinDetailDao.updateById(invPreinDetailEntity); return invPreinDetailDao.updateById(invPreinDetailEntity);
} }
@Override
public int updateBack(String orderId) {
InvPreinDetailEntity invPreinDetailEntity = new InvPreinDetailEntity();
invPreinDetailEntity.setStatus(ConstantStatus.INVIN_BACK);
invPreinDetailDao.update(invPreinDetailEntity, new QueryWrapper<InvPreinDetailEntity>().eq("orderId", orderId).ne("status", ConstantStatus.INVIN_USE));
return 1;
}
} }

@ -4,7 +4,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms_glxp?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms_wmd?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: Glxp@6066 password: Glxp@6066
hikari: hikari:

@ -3,7 +3,7 @@ server:
spring: spring:
datasource: datasource:
driver-class-name: com.mysql.cj.jdbc.Driver driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true jdbc-url: jdbc:mysql://192.168.0.66:3364/udi_wms_glxp?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root username: root
password: Glxp@6066 password: Glxp@6066
hikari: hikari:

@ -175,7 +175,7 @@
<select id="getIdByCode" resultType="java.lang.Long"> <select id="getIdByCode" resultType="java.lang.Long">
select id select id
from auth_dept from auth_dept
where code = #{fromCorpId} where id = #{fromCorpId}
</select> </select>
<insert id="insertInvWarehouse" keyProperty="id" <insert id="insertInvWarehouse" keyProperty="id"
parameterType="com.glxp.api.entity.auth.DeptEntity"> parameterType="com.glxp.api.entity.auth.DeptEntity">

@ -2,9 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.basic.BasicBusTypeChangeDao"> <mapper namespace="com.glxp.api.dao.basic.BasicBusTypeChangeDao">
<select id="filterList" resultType="com.glxp.api.res.basic.BasicBusTypeChangeResponse"> <select id="filterList" resultType="com.glxp.api.res.basic.BasicBusTypeChangeResponse">
select bc.*, bu.name targetBusName select bc.*, bu.name targetName, bbc.originName targetBusName
from basic_bustype_change bc from basic_bustype_change bc
left join basic_bussiness_type bu on bc.targetAction = bu.action left join basic_bussiness_type bu on bc.targetAction = bu.action
left join basic_bustype_change bbc on bc.originAction = bbc.targetAction
<where> <where>
<if test="originAction != null and originAction != ''"> <if test="originAction != null and originAction != ''">
AND bc.originAction = #{originAction} AND bc.originAction = #{originAction}

@ -32,7 +32,12 @@
awA.name defaultInvName, awA.name defaultInvName,
awB.name invName, awB.name invName,
(select name from basic_bussiness_type where action = basic_bustype_pre.originAction) originName, (select name from basic_bussiness_type where action = basic_bustype_pre.originAction) originName,
(select name from basic_bussiness_type where action = basic_bustype_pre.action) targetName (select name
from basic_bussiness_type
where basic_bussiness_type.action = basic_bustype_pre.action) targetName,
(select basic_bustype_change.originName
from basic_bustype_change
where basic_bustype_change.originAction = basic_bustype_pre.targetBusAction) targetBusName
FROM basic_bustype_pre FROM basic_bustype_pre
left JOIN auth_warehouse awA on basic_bustype_pre.defaultInvCode = awA.code left JOIN auth_warehouse awA on basic_bustype_pre.defaultInvCode = awA.code
left JOIN auth_warehouse awB on basic_bustype_pre.invCode = awB.code left JOIN auth_warehouse awB on basic_bustype_pre.invCode = awB.code

@ -12,8 +12,9 @@
<if test="action != null and action != ''"> <if test="action != null and action != ''">
AND bu.action like concat('%', #{action}, '%') AND bu.action like concat('%', #{action}, '%')
</if> </if>
<if test="advanceType != null">
AND bu.advanceType = #{advanceType} <if test="inStock != null">
AND bu.inStock = #{inStock}
</if> </if>
<if test="enable != null"> <if test="enable != null">
AND bu.enable = #{enable} AND bu.enable = #{enable}
@ -33,6 +34,9 @@
<if test="secCheckEnable != null"> <if test="secCheckEnable != null">
AND bu.secCheckEnable = #{secCheckEnable} AND bu.secCheckEnable = #{secCheckEnable}
</if> </if>
<if test="busType != null">
AND bu.busType = #{busType}
</if>
<if test="preIn != null"> <if test="preIn != null">
AND bu.preIn = #{preIn} AND bu.preIn = #{preIn}
</if> </if>
@ -63,9 +67,11 @@
checkBalance, secCheckBalance, useDyCount, expireTip, updateTime, checkBalance, secCheckBalance, useDyCount, expireTip, updateTime,
defaultUnit, prefix, outToSpms, ullageFill, scanPreIn, vailInv, defaultUnit, prefix, outToSpms, ullageFill, scanPreIn, vailInv,
entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType, entrutSpms, codeFillCheck, defaultSubInv, defaultInv, orderVisibleType,
checkCopy, secCheckCopy, originAction, advanceType, changeEnable, checkCopy, secCheckCopy, originAction, changeEnable,
spUse, preIn, supplementAll, createUser, createTime, preInBack, vailDispatch, spUse, preIn, supplementAll, createUser, createTime, preInBack, vailDispatch,
vailGroupBuy) vailGroupBuy, busType, inStock, actionType
, thrCheckEnable, thrCheckWebNew, thrCheckPdaUn, thrCheckPdaEd, thrCheckUdims, thrCheckPc, thrCheckSp
, thrCheckChange, thrCheckBalance, thrCheckCopy, fillCodeRel,checkVailDate,checkCertExpire)
values (#{mainAction}, values (#{mainAction},
#{action}, #{action},
#{name}, #{name},
@ -111,13 +117,17 @@
#{checkCopy}, #{checkCopy},
#{secCheckCopy}, #{secCheckCopy},
#{originAction}, #{originAction},
#{advanceType},
#{changeEnable}, #{changeEnable},
#{spUse}, #{spUse},
#{preIn}, #{preIn},
#{supplementAll}, #{supplementAll},
#{createUser}, #{createUser},
#{createTime}, #{preInBack}, #{vailDispatch}, #{vailGroupBuy}) #{createTime}, #{preInBack}, #{vailDispatch}, #{vailGroupBuy}, #{busType}, #{inStock}, #{actionType}
, #{thrCheckEnable}, #{thrCheckWebNew}, #{thrCheckPdaUn}, #{thrCheckPdaEd}, #{thrCheckUdims},
#{thrCheckPc}
, #{thrCheckSp}, #{thrCheckChange}, #{thrCheckBalance}, #{thrCheckCopy}, #{fillCodeRel}
, #{checkVailDate}, #{checkExpire}, #{checkCertExpire}
)
</insert> </insert>
<select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity"> <select id="selectBusList" resultType="com.glxp.api.entity.basic.BasicBussinessTypeEntity">
@ -130,9 +140,6 @@
<if test="action != null and action != ''"> <if test="action != null and action != ''">
AND bu.action like concat('%', #{action}, '%') AND bu.action like concat('%', #{action}, '%')
</if> </if>
<if test="advanceType != null">
AND bu.advanceType = #{advanceType}
</if>
<if test="enable != null"> <if test="enable != null">
AND bu.enable = #{enable} AND bu.enable = #{enable}
</if> </if>
@ -154,6 +161,10 @@
<if test="preIn != null"> <if test="preIn != null">
AND bu.preIn = #{preIn} AND bu.preIn = #{preIn}
</if> </if>
<if test="busType != null">
AND bu.busType = #{busType}
</if>
<if test="actionList != null and actionList.size() != 0"> <if test="actionList != null and actionList.size() != 0">
AND bu.action in AND bu.action in
<foreach collection="actionList" index="index" item="item" separator="," open="(" close=")"> <foreach collection="actionList" index="index" item="item" separator="," open="(" close=")">
@ -209,6 +220,9 @@
<if test="userId != null"> <if test="userId != null">
AND auth_user_bustype.userId = #{userId} AND auth_user_bustype.userId = #{userId}
</if> </if>
<if test="busType != null">
AND busType = #{busType}
</if>
</where> </where>
group by basic_bussiness_type.action group by basic_bussiness_type.action
</select> </select>
@ -217,11 +231,15 @@
resultType="com.glxp.api.res.basic.BasicBussinessTypeResponse"> resultType="com.glxp.api.res.basic.BasicBussinessTypeResponse">
SELECT basic_bussiness_type.* SELECT basic_bussiness_type.*
FROM basic_bussiness_type FROM basic_bussiness_type
INNER JOIN auth_user_bustype ON basic_bussiness_type.action = auth_user_bustype.scAction left JOIN auth_user_bustype ON basic_bussiness_type.action = auth_user_bustype.scAction
<where> <where>
<if test="name != ''and name != null"> <if test="name != ''and name != null">
AND basic_bussiness_type.name LIKE concat('%', #{name}, '%') AND basic_bussiness_type.name LIKE concat('%', #{name}, '%')
</if> </if>
<if test="inStock != null">
AND basic_bussiness_type.inStock = #{inStock}
</if>
<if test="action != ''and action != null"> <if test="action != ''and action != null">
AND basic_bussiness_type.action = #{action} AND basic_bussiness_type.action = #{action}
</if> </if>
@ -237,6 +255,12 @@
<if test="userId != ''and userId != null"> <if test="userId != ''and userId != null">
AND auth_user_bustype.`userId` = #{userId} AND auth_user_bustype.`userId` = #{userId}
</if> </if>
<if test="spUse != null">
AND basic_bussiness_type.spUse = #{spUse}
</if>
<if test="busType != null">
AND busType = #{busType}
</if>
</where> </where>
group by basic_bussiness_type.action group by basic_bussiness_type.action
</select> </select>

@ -279,7 +279,7 @@
<if test="cplb != null">cplb=#{cplb},</if> <if test="cplb != null">cplb=#{cplb},</if>
<if test="flbm != null">flbm=#{flbm},</if> <if test="flbm != null">flbm=#{flbm},</if>
<if test="ggxh != null">ggxh=#{ggxh},</if> <if test="ggxh != null">ggxh=#{ggxh},</if>
<if test="qxlb != null">qxlb !==#{qxlb !=},</if> <if test="qxlb != null">qxlb=#{qxlb},</if>
<if test="tyshxydm != null">tyshxydm=#{tyshxydm},</if> <if test="tyshxydm != null">tyshxydm=#{tyshxydm},</if>
<if test="ylqxzcrbarmc != null">ylqxzcrbarmc=#{ylqxzcrbarmc},</if> <if test="ylqxzcrbarmc != null">ylqxzcrbarmc=#{ylqxzcrbarmc},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if> <if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
@ -375,6 +375,63 @@
where uuid = #{uuid} where uuid = #{uuid}
</update> </update>
<update id="updateUdiInfoById" parameterType="com.glxp.api.entity.basic.UdiProductEntity">
update basic_products
<trim prefix="set" suffixOverrides=",">
<if test="originUuid != null">originUuid=#{originUuid},</if>
<if test="nameCode != null">nameCode=#{nameCode},</if>
<if test="deviceRecordKey != null">deviceRecordKey=#{deviceRecordKey},</if>
<if test="packRatio != null">packRatio=#{packRatio},</if>
<if test="packLevel != null">packLevel=#{packLevel},</if>
<if test="packUnit != null">packUnit=#{packUnit},</if>
<if test="bhxjsl != null">bhxjsl=#{bhxjsl},</if>
<if test="bhzxxsbzsl != null">bhzxxsbzsl=#{bhzxxsbzsl},</if>
<if test="zxxsbzbhsydysl != null">zxxsbzbhsydysl=#{zxxsbzbhsydysl},</if>
<if test="bhxjcpbm != null">bhxjcpbm=#{bhxjcpbm},</if>
<if test="bzcj != null">bzcj=#{bzcj},</if>
<if test="cpmctymc != null">cpmctymc=#{cpmctymc},</if>
<if test="cplb != null">cplb=#{cplb},</if>
<if test="flbm != null">flbm=#{flbm},</if>
<if test="ggxh != null">ggxh=#{ggxh},</if>
<if test="qxlb != null">qxlb !==#{qxlb !=},</if>
<if test="tyshxydm != null">tyshxydm=#{tyshxydm},</if>
<if test="ylqxzcrbarmc != null">ylqxzcrbarmc=#{ylqxzcrbarmc},</if>
<if test="zczbhhzbapzbh != null">zczbhhzbapzbh=#{zczbhhzbapzbh},</if>
<if test="ylqxzcrbarywmc != null">ylqxzcrbarywmc=#{ylqxzcrbarywmc},</if>
<if test="sydycpbs != null">sydycpbs=#{sydycpbs},</if>
<if test="sjcpbm != null">sjcpbm=#{sjcpbm},</if>
<if test="versionNumber != null">versionNumber=#{versionNumber},</if>
<if test="diType != null">diType=#{diType},</if>
<if test="ybbm != null">ybbm=#{ybbm},</if>
<if test="sptm != null">sptm=#{sptm},</if>
<if test="manufactory != null">manufactory=#{manufactory},</if>
<if test="measname != null">measname=#{measname},</if>
<if test="productType != null">productType=#{productType},</if>
<if test="scbssfbhph != null">scbssfbhph=#{scbssfbhph},</if>
<if test="scbssfbhxlh != null">scbssfbhxlh=#{scbssfbhxlh},</if>
<if test="scbssfbhscrq != null">scbssfbhscrq=#{scbssfbhscrq},</if>
<if test="scbssfbhsxrq != null">scbssfbhsxrq=#{scbssfbhsxrq},</if>
<if test="cpms != null">cpms=#{cpms},</if>
<if test="allowNoBatch != null">allowNoBatch=#{allowNoBatch},</if>
<if test="allowNoExpire != null">allowNoExpire=#{allowNoExpire},</if>
<if test="allowNoProduct != null">allowNoProduct=#{allowNoProduct},</if>
<if test="spmc != null">spmc=#{spmc},</if>
<if test="cplx != null">cplx=#{cplx},</if>
<if test="hchzsb != null">hchzsb=#{hchzsb},</if>
<if test="cpdls != null">cpdls=#{cpdls},</if>
<if test="price != null">price=#{price},</if>
<if test="basicPrductRemak1 != null">basicPrductRemak1=#{basicPrductRemak1},</if>
<if test="basicPrductRemak2 != null">basicPrductRemak2=#{basicPrductRemak2},</if>
<if test="basicPrductRemak3 != null">basicPrductRemak3=#{basicPrductRemak3},</if>
<if test="basicPrductRemak4 != null">basicPrductRemak4=#{basicPrductRemak4},</if>
<if test="basicPrductRemak5 != null">basicPrductRemak5=#{basicPrductRemak5},</if>
<if test="basicPrductRemak6 != null">basicPrductRemak6=#{basicPrductRemak6},</if>
<if test="basicPrductRemak7 != null">basicPrductRemak7=#{basicPrductRemak7},</if>
<if test="basicPrductRemak8 != null">basicPrductRemak8=#{basicPrductRemak8},</if>
</trim>
where id = #{id}
</update>
<select id="batchSelectByUuid" resultType="com.glxp.api.entity.basic.UdiProductEntity"> <select id="batchSelectByUuid" resultType="com.glxp.api.entity.basic.UdiProductEntity">
select * select *
from basic_products where uuid in from basic_products where uuid in
@ -402,4 +459,56 @@
left join basic_udirel on basic_products.uuid = basic_udirel.uuid left join basic_udirel on basic_products.uuid = basic_udirel.uuid
where basic_udirel.id = #{relId} where basic_udirel.id = #{relId}
</select> </select>
<update id="updateUdiInfoNotAll" parameterType="com.glxp.api.req.basic.UdiInfoRequest">
UPDATE basic_products
<trim prefix="set" suffixOverrides=",">
<if test="packRatio != null">packRatio=#{packRatio},</if>
<if test="packLevel != null">packLevel=#{packLevel},</if>
<if test="bhxjsl != null">bhxjsl=#{bhxjsl},</if>
<if test="bhzxxsbzsl != null">bhzxxsbzsl=#{bhzxxsbzsl},</if>
<if test="zxxsbzbhsydysl != null">zxxsbzbhsydysl=#{zxxsbzbhsydysl},</if>
<if test="bhxjcpbm != null">bhxjcpbm=#{bhxjcpbm},</if>
<if test="bzcj != null">bzcj=#{bzcj},</if>
<if test="addType != null">addType=#{addType},</if>
<if test="deviceRecordKey != null">deviceRecordKey=#{deviceRecordKey},</if>
<if test="cpmctymc != null">cpmctymc=#{cpmctymc},</if>
<if test="cplb != null">cplb=#{cplb},</if>
<if test="flbm != null">flbm=#{flbm},</if>
<if test="ggxh != null">ggxh=#{ggxh},</if>
<if test="qxlb != null">qxlb=#{qxlb},</if>
<if test="tyshxydm != null">tyshxydm=#{tyshxydm},</if>
<if test="ylqxzcrbarmc != null">ylqxzcrbarmc=#{ylqxzcrbarmc},</if>
<if test="ylqxzcrbarywmc != null">ylqxzcrbarywmc=#{ylqxzcrbarywmc},</if>
<if test="uuid != null">uuid=#{uuid},</if>
<if test="sjcpbm != null">sjcpbm=#{sjcpbm},</if>
<if test="versionNumber != null">versionNumber=#{versionNumber},</if>
<if test="sptm != null">sptm=#{sptm},</if>
<if test="manufactory != null">manufactory=#{manufactory},</if>
<if test="ybbm != null">ybbm=#{ybbm},</if>
<if test="measname != null">measname=#{measname},</if>
<if test="diType != null">diType=#{diType},</if>
<if test="productType != null">productType=#{productType},</if>
<if test="scbssfbhph != null">scbssfbhph=#{scbssfbhph},</if>
<if test="scbssfbhxlh != null">scbssfbhxlh=#{scbssfbhxlh},</if>
<if test="scbssfbhscrq != null">scbssfbhscrq=#{scbssfbhscrq},</if>
<if test="scbssfbhsxrq != null">scbssfbhsxrq=#{scbssfbhsxrq},</if>
<if test="cpms != null">cpms=#{cpms},</if>
<if test="originUuid != null">originUuid=#{originUuid},</if>
<if test="spmc != null">spmc=#{spmc},</if>
<if test="cpdls != null">cpdls=#{cpdls},</if>
<if test="basicPrductRemak1 != null">basicPrductRemak1=#{basicPrductRemak1},</if>
<if test="basicPrductRemak2 != null">basicPrductRemak2=#{basicPrductRemak2},</if>
<if test="basicPrductRemak3 != null">basicPrductRemak3=#{basicPrductRemak3},</if>
<if test="basicPrductRemak4 != null">basicPrductRemak4=#{basicPrductRemak4},</if>
<if test="basicPrductRemak5 != null">basicPrductRemak5=#{basicPrductRemak5},</if>
<if test="basicPrductRemak6 != null">basicPrductRemak6=#{basicPrductRemak6},</if>
<if test="basicPrductRemak7 != null">basicPrductRemak7=#{basicPrductRemak7},</if>
<if test="basicPrductRemak8 != null">basicPrductRemak8=#{basicPrductRemak8},</if>
</trim>
WHERE uuid = #{uuid}
</update>
</mapper> </mapper>

@ -1,4 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inout.IoCodeLostMapper"> <mapper namespace="com.glxp.api.dao.inout.IoCodeLostMapper">
<select id="selectLost" parameterType="com.glxp.api.entity.inout.IoCodeLostEntity"
resultType="com.glxp.api.res.inout.IoCodeLostResponse">
select io_code_lost.*, basic_products.cpmctymc, basic_products.ggxh
from io_code_lost
LEFT JOIN basic_products on io_code_lost.nameCode = basic_products.nameCode
<where>
<if test="code != '' and code != null">
and code like concat('%', #{code}, '%')
</if>
<if test="cpmctymc != '' and cpmctymc != null">
and basic_products.cpmctymc like concat('%', #{cpmctymc}, '%')
</if>
<if test="ggxh != '' and ggxh != null">
and basic_products.ggxh like concat('%', #{ggxh}, '%')
</if>
<if test="batchNo != '' and batchNo != null">
and batchNo like concat('%', #{batchNo}, '%')
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND date_format(io_code_lost.createTime, '%Y-%m-%d') between date_format(#{startTime}, '%Y-%m-%d') and date_format(#{endTime}, '%Y-%m-%d')
</if>
</where>
</select>
</mapper> </mapper>

@ -22,4 +22,20 @@
</where> </where>
group by io_order_detail_biz.id group by io_order_detail_biz.id
</select> </select>
<select id="filterListInv" resultType="com.glxp.api.res.inout.IoOrderInvoiceResponse">
SELECT ic.*,
(select cpmctymc from basic_products where basic_products.uuid = bu.uuid) cpmctymc,
(select ggxh from basic_products where basic_products.uuid = bu.uuid) ggxh
FROM io_order_invoice ic
LEFT JOIN basic_udirel bu ON bu.id = ic.bindRlFk
LEFT JOIN basic_products bp ON bu.uuid = bp.uuid
LEFT JOIN io_order_detail_biz io ON bu.id = io.bindRlFk
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND ic.orderIdFk = #{orderIdFk}
</if>
</where>
GROUP BY ic.bindRlFk
</select>
</mapper> </mapper>

@ -22,4 +22,55 @@
</if> </if>
</where> </where>
</select> </select>
<select id="filterOrderList" resultType="com.glxp.api.res.inout.IoOrderDetailResultResponse">
SELECT a2.*,
a1.mainAction,
b1.NAME AS fromCorpName,
(SELECT NAME FROM basic_bussiness_type bus WHERE bus.action = a1.action) billTypeName
FROM io_order_detail_result a2
LEFT JOIN io_order a1 ON a1.billNo = a2.orderIdFk
LEFT JOIN basic_corp b1 ON b1.erpId = a1.fromCorp
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND a2.orderIdFk = #{orderIdFk}
</if>
<if test="nameCode != null and nameCode != ''">
AND a2.nameCode = #{nameCode}
</if>
<if test="spec != null and spec != ''">
AND a2.spec = #{spec}
</if>
<if test="fromCorp != null and fromCorp != ''">
AND a1.fromCorp = #{fromCorp}
</if>
<if test="fromCorpName != null and fromCorpName != ''">
AND b1.name = #{fromCorpName}
</if>
<if test="manufacturer != null and manufacturer != ''">
AND a2.manufacturer = #{manufacturer}
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND a2.certCode = #{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}
</if>
<if test="coName != null and coName != ''">
AND a2.coName = #{coName}
</if>
<if test="productName != null and productName != ''">
AND a2.coName like concat('%', #{productName}, '%')
</if>
<if test="actions != null and actions.size() != 0">
AND a1.`action` in
<foreach collection="actions" index="index" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</where>
</select>
</mapper> </mapper>

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inout.IoOrderInvoiceMapper">
<insert id="insertInvoice" parameterType="com.glxp.api.entity.inout.IoOrderInvoiceEntity">
INSERT INTO io_order_invoice(orderIdFk, bindRlFk, batchNo, productDate, expireDate)
values (#{orderIdFk},
#{bindRlFk},
#{batchNo},
#{productDate},
#{expireDate})
</insert>
</mapper>

@ -4,10 +4,21 @@
<select id="filterList" parameterType="com.glxp.api.req.inv.FilterInvPreinDetailRequest" <select id="filterList" parameterType="com.glxp.api.req.inv.FilterInvPreinDetailRequest"
resultType="com.glxp.api.res.inv.InvPreinDetailResponse"> resultType="com.glxp.api.res.inv.InvPreinDetailResponse">
select ic.*, select ic.*,
bp.cpmctymc productName bp.cpmctymc productName,
bp.ggxh,
bp.manufactory,
bp.zczbhhzbapzbh,
bp.measname,
inv_prein_order.auditTime,
inv_prein_order.billNo,
aw.name invName,
bc.name fromName
from inv_prein_detail ic from inv_prein_detail ic
inner join inv_prein_order on orderId = inv_prein_order.billNo
left join basic_udirel bu on bu.id = ic.relId left join basic_udirel bu on bu.id = ic.relId
left join basic_products bp on bu.uuid = bp.uuid left join basic_products bp on bu.uuid = bp.uuid
left join auth_warehouse aw on inv_prein_order.invCode = aw.code
left join basic_corp bc on inv_prein_order.fromCorp = bc.erpId
<where> <where>
<if test="orderId != null and orderId != ''"> <if test="orderId != null and orderId != ''">
AND ic.orderId = #{orderId} AND ic.orderId = #{orderId}
@ -15,6 +26,30 @@
<if test="code != null and code != ''"> <if test="code != null and code != ''">
and ic.code like concat('%', #{code}, '%') and ic.code like concat('%', #{code}, '%')
</if> </if>
<if test="batchNo != null and batchNo != ''">
AND ic.batchNo = #{batchNo}
</if>
<if test="nameCode != null and nameCode != ''">
AND ic.nameCode = #{nameCode}
</if>
<if test="invCode != null and invCode != ''">
AND inv_prein_order.invCode = #{invCode}
</if>
<if test="productName != null and productName != ''">
AND bp.cpmctymc = #{productName}
</if>
<if test="ggxh != null and ggxh != ''">
and bp.ggxh like concat('%', #{ggxh}, '%')
</if>
<if test="manufactory != null and manufactory != ''">
AND bp.manufactory = #{manufactory}
</if>
<if test="zczbhhzbapzbh != null and zczbhhzbapzbh != ''">
AND bp.zczbhhzbapzbh = #{zczbhhzbapzbh}
</if>
<if test="startAduditTime != null and startAduditTime != '' and endAduditTime != null and endAduditTime != ''">
AND date_format(inv_prein_order.auditTime, '%Y-%m-%d') between date_format(#{startAduditTime}, '%Y-%m-%d') and date_format(#{endAduditTime}, '%Y-%m-%d')
</if>
</where> </where>
group by ic.id group by ic.id
</select> </select>

@ -1,7 +1,12 @@
-- 字段新增 表名字段名字段类型修改方式1新增2修改3删除 # 字段新增 表名字段名字段类型修改方式1新增2修改3删除
CALL Pro_Temp_ColumnWork('io_order', 'fromReceiveBillNo', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order', 'fromReceiveBillNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'fromThrBillNo', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order', 'fromThrBillNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'syncStatus', 'tinyint ', 1); CALL Pro_Temp_ColumnWork('io_order', 'syncStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'busType', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'deliveryStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'inCodeStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_order', 'processStatus', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('thr_bustype_origin', 'thirdSysName', 'varchar(255) ', 3); CALL Pro_Temp_ColumnWork('thr_bustype_origin', 'thirdSysName', 'varchar(255) ', 3);
CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ', 3); CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ', 3);
@ -9,14 +14,79 @@ CALL Pro_Temp_ColumnWork('thr_system_bus_api', 'thirdBuyName', 'varchar(255) ',
CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'bindRlIds', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('io_order_detail_biz', 'bindRlIds', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1); CALL Pro_Temp_ColumnWork('auth_warehouse', 'advanceType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('auth_warehouse', 'spUse', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'relCode', 'varchar(255) ', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'relCode', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'lowStockNum', 'tinyint ', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'lowStockNum', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'overStockNum', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'recentDateTime', 'tinyint ', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'useExpireTime', 'int', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'useExpireTime', 'int', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'dispatch', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'dispatch', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_udirel', 'groupBuy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'isDateBy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_udirel', 'needCert', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailDispatch', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailDispatch', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailGroupBuy', 'tinyint', 1); CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'vailGroupBuy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'busType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'inStock', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'actionType', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckEnable', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckWebNew', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckPdaUn', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckPdaEd', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckUdims', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckPc', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckSp', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckChange', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckBalance', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'thrCheckCopy', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'fillCodeRel', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkVailDate', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkExpire', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bussiness_type', 'checkCertExpire', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'batchNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'productDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_delivery_detail', 'expireDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_arrival_detail', 'batchNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_arrival_detail', 'productDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_arrival_detail', 'expireDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_arrival_detail', 'arrivalCount', 'int ', 1);
CALL Pro_Temp_ColumnWork('pur_arrival', 'supId', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_returned_detail', 'batchNo', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_returned_detail', 'productDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_returned_detail', 'expireDate', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_delivery', 'supId', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('pur_returned', 'supId', 'varchar(255) ', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'targetBusAction', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'busBeforeTime', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'beforeTime', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'auditStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_pre', 'busAuditStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_change', 'auditStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_change', 'busAuditStatus', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_change', 'targetBusAction', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_change', 'beforeTime', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('basic_bustype_change', 'busBeforeTime', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('pur_order', 'emergency', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('pur_order', 'supId', 'varchar(255)', 1);
CALL Pro_Temp_ColumnWork('pur_order', 'arrivalTime', 'datetime', 1);
CALL Pro_Temp_ColumnWork('pur_order_detail', 'planCount', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'status', 'tinyint', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originCount', 'int', 1);
CALL Pro_Temp_ColumnWork('inv_prein_detail', 'originReCount', 'int', 1);
CALL Pro_Temp_ColumnWork('io_code_lost', 'nameCode', 'varchar(255)', 1);

Loading…
Cancel
Save