diff --git a/src/main/java/com/glxp/api/constant/ConstantStatus.java b/src/main/java/com/glxp/api/constant/ConstantStatus.java index 517bf383..e2edb7cd 100644 --- a/src/main/java/com/glxp/api/constant/ConstantStatus.java +++ b/src/main/java/com/glxp/api/constant/ConstantStatus.java @@ -10,86 +10,91 @@ public class ConstantStatus { /** * 等待提交(草稿) */ - public static final Integer ORDER_STATUS_TEMP_SAVE = 1; + public static final int ORDER_STATUS_TEMP_SAVE = 1; /** * 已提交待处理 */ - public static final Integer ORDER_STATUS_PROCESS = 2; + public static final int ORDER_STATUS_PROCESS = 2; + + /** + * 已提交校验正在处理 + */ + public static final int ORDER_STATUS_CHECK_PROCESS = 12; /** * 处理成功待校验 */ - public static final Integer ORDER_STATUS_CHECK = 3; + public static final int ORDER_STATUS_CHECK = 3; /** * 处理异常 */ - public static final Integer ORDER_STATS_ERROR = 4; + public static final int ORDER_STATS_ERROR = 4; /** * 待核对 */ - public static final Integer ORDER_STATUS_CHECK_SUCCESS = 5; + public static final int ORDER_STATUS_CHECK_SUCCESS = 5; /** * 校验失败 */ - public static final Integer ORDER_STATUS_CHECK_FAIL = 6; + public static final int ORDER_STATUS_CHECK_FAIL = 6; /** * 待审核 */ - public static final Integer ORDER_STATUS_CHECK_REW = 10; + public static final int ORDER_STATUS_CHECK_REW = 10; /** * 审核通过 */ - public static final Integer ORDER_STATUS_AUDITED = 7; + public static final int ORDER_STATUS_AUDITED = 7; /** * 审核拒绝 */ - public static final Integer ORDER_STATUS_AUDITED_REFUSED = 8; + public static final int ORDER_STATUS_AUDITED_REFUSED = 8; /** * 已提交正在处理 */ - public static final Integer ORDER_STATUS_PROCESSING = 9; + public static final int ORDER_STATUS_PROCESSING = 9; /** * 业务单已提交待配货 */ - public static final Integer ORDER_STATUS_ALLOCATE = 11; + public static final int ORDER_STATUS_ALLOCATE = 11; - public static final Integer ORDER_DELIVERY_STATUS_UN = 1; - public static final Integer ORDER_DELIVERY_STATUS_ED = 2; + public static final int ORDER_DELIVERY_STATUS_UN = 1; + public static final int ORDER_DELIVERY_STATUS_ED = 2; /** * 单据创建类型 2.新增扫码单据,1、新增业务单据,3、正常单据处理,4:带配货页面 */ - public static final Integer ORDER_TYPE_BIZ = 1; - public static final Integer ORDER_TYPE_SCAN = 2; - public static final Integer ORDER_TYPE_NORMAL = 3; - public static final Integer ORDER_TYPE_WAIT = 4; + public static final int ORDER_TYPE_BIZ = 1; + public static final int ORDER_TYPE_SCAN = 2; + public static final int ORDER_TYPE_NORMAL = 3; + public static final int ORDER_TYPE_WAIT = 4; /** * 供应商自助平台单据类型 */ - 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 int BUS_TYPE_NORMAL = 1; //正常出入库单据(入账) + public static final int BUS_TYPE_DELIVERY = 2; //送货出入库单据 + public static final int BUS_TYPE_ARRIVAL = 3; //到货出库单据类型 + public static final int BUS_TYPE_RETURNED = 4; //退货单单据类型 + public static final int 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 int ACTION_TYPE_NORMAL = 1; //带票 + public static final int ACTION_TYPE_PREIN = 2; //预验收 + public static final int ACTION_TYPE_ADVANCE = 3; //寄售 public static final int ORDER_SPUSE_NO = 0; //不允许供应商使用 @@ -97,41 +102,41 @@ public class ConstantStatus { public static final int ORDER_SPUSE_EDIT = 2; //允许供应商编辑 - public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据 -// public static final Integer ORDER_STATUS_RECEIVEED = 7; + public static final int ORDER_STATUS_ADDITIONAL = 5; //补录单据 +// public static final int ORDER_STATUS_RECEIVEED = 7; //订单处理状态 - public static final Integer ORDER_DEAL_DRAFT = 1; //草稿 - 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 int ORDER_DEAL_DRAFT = 1; //草稿 + public static final int ORDER_DEAL_POST = 2; //已提交,待交接 + public static final int ORDER_DEAL_REW = 4; //交接中,待审核 + public static final int ORDER_DEAL_CHECK = 3; //已审核 //ERP校验状态 - public static final Integer ORDER_CHECK_SUCCESS = 2; //校验成功 - public static final Integer ORDER_CHECK_FAIL = 1; //校验失败 - public static final Integer ORDER_CHECK_UN = 0; //未校验 + public static final int ORDER_CHECK_SUCCESS = 2; //校验成功 + public static final int ORDER_CHECK_FAIL = 1; //校验失败 + public static final int ORDER_CHECK_UN = 0; //未校验 //ERP订单上传状态 - public static final Integer ORDER_EXPORT_UN = 0; //未导出 - public static final Integer ORDER_EXPORT_ED = 1; //已导出 - public static final Integer ORDER_EXPORT_FAIL = 2; //导出失败 + public static final int ORDER_EXPORT_UN = 0; //未导出 + public static final int ORDER_EXPORT_ED = 1; //已导出 + public static final int ORDER_EXPORT_FAIL = 2; //导出失败 //ERP订单签字状态 - public static final Integer ORDER_SIGN_UN = 0; //未签字 - public static final Integer ORDER_SIGN_ED = 1; //已签字 - public static final Integer ORDER_SIGN_FAIL = 2; //签字失败 + public static final int ORDER_SIGN_UN = 0; //未签字 + public static final int ORDER_SIGN_ED = 1; //已签字 + public static final int ORDER_SIGN_FAIL = 2; //签字失败 //UDI产品信息表字段类型 - public static final Integer PRODUCT_TYPE_UDI = 0; - public static final Integer PRODUCT_TYPE_THIRD = 1; + public static final int PRODUCT_TYPE_UDI = 0; + public static final int PRODUCT_TYPE_THIRD = 1; //DI类型 - public static final Integer DI_TYPE_MAIN = 1;//主标识 - public static final Integer DI_TYPE_SYDY = 2;//使用单元 - public static final Integer DI_TYPE_BTBS = 3;//本体标识 - public static final Integer DI_TYPE_BZBS = 4;//包装标识 + public static final int DI_TYPE_MAIN = 1;//主标识 + public static final int DI_TYPE_SYDY = 2;//使用单元 + public static final int DI_TYPE_BTBS = 3;//本体标识 + public static final int DI_TYPE_BZBS = 4;//包装标识 //业务单据状态 @@ -174,8 +179,8 @@ public class ConstantStatus { //采购类型 - public static final Integer PRUCHASE_ADVANCE = 1; //预入库 - public static final Integer PRUCHASE_COMMON = 2; //普通采购 + public static final int PRUCHASE_ADVANCE = 1; //预入库 + public static final int PRUCHASE_COMMON = 2; //普通采购 //往来单位类型 @@ -297,5 +302,4 @@ public class ConstantStatus { public static final int SCAN_ALL_PI = 3; //有业务单拣货(有无三期) - } diff --git a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java index 3cabb78d..f63903b0 100644 --- a/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/basic/BasicOrderPrintController.java @@ -80,8 +80,7 @@ public class BasicOrderPrintController { public BaseResponse inspectionStockOrderPDFFromTemplateFile(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest) { - - String name=getStatusName(filterOrderPrintRequest.getStatus()); + String name = getStatusName(filterOrderPrintRequest.getStatus()); SysPdfTemplateRelevanceCodeEntity sysPdfTemplateRelevanceCodeEntity = systemPDFTemplateRelevanceCodeService.selectNameAndAction(name, filterOrderPrintRequest.getAction()); if (sysPdfTemplateRelevanceCodeEntity != null) { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(sysPdfTemplateRelevanceCodeEntity.getTemplateId() + ""); @@ -101,7 +100,7 @@ public class BasicOrderPrintController { @PostMapping("/udiwms/pdf/template/order/file") public void printSupCertProduction(@RequestBody FilterOrderPrintRequest filterOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterOrderPrintRequest.getTemplateId()); - String name=getStatusName(filterOrderPrintRequest.getStatus()); + String name = getStatusName(filterOrderPrintRequest.getStatus()); SysPdfTemplateRelevanceCodeEntity sysPdfTemplateRelevanceCodeEntity = systemPDFTemplateRelevanceCodeService.selectNameAndAction(name, filterOrderPrintRequest.getAction()); //打印单号标签 Map data = new HashMap<>(1); @@ -203,20 +202,20 @@ public class BasicOrderPrintController { data.put("data", list); String param = JSON.toJSONString(data); - JasperUtils.jasperReport(request, response, param, filePath+"pdf/template/"+FileUtils.getLastFileName(systemPDFTemplateEntity.getPath()), "pdf"); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + FileUtils.getLastFileName(systemPDFTemplateEntity.getPath()), "pdf"); } - public String getStatusName(Integer type){ - String name=""; - if(type==3){ - name="ScanCodeVerification"; - }else if(type==5){ - name="ScanCodeCheck"; - }else if(type==10){ - name="ScanCode"; - }else if(type==7){ - name="ScanCodeAlready"; + public String getStatusName(Integer type) { + String name = ""; + if (type == 3) { + name = "ScanCodeVerification"; + } else if (type == 5) { + name = "ScanCodeCheck"; + } else if (type == 10) { + name = "ScanCode"; + } else if (type == 7) { + name = "ScanCodeAlready"; } return name; } @@ -228,7 +227,7 @@ public class BasicOrderPrintController { @RequestBody FilterOrderPrintRequest filterOrderPrintRequest) throws Exception { //查询模板文件是否存在 - SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(filterOrderPrintRequest.getLabelId()+""); + SysPdfTemplateRelevanceStatemenEntity sysPdfTemplateRelevanceStatemenEntity = systemPDFModuleService.selectByStatemenId(filterOrderPrintRequest.getLabelId() + ""); if (null == sysPdfTemplateRelevanceStatemenEntity) { return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); } @@ -273,7 +272,10 @@ public class BasicOrderPrintController { Map bizData = new HashMap<>(); bizData.put("index", i); bizData.put("nameCode", obj.getNameCode() == null ? ' ' : obj.getNameCode()); - bizData.put("udiCode", udiProductEntity.getUuid() == null ? ' ' : udiProductEntity.getUuid()); + String udiCode = "#" + obj.getNameCode() + "#" + obj.getProduceDate() + "#" + obj.getExpireDate() + + "#" + obj.getBatchNo() + "#" + obj.getSerialNo() + "#" + obj.getWarehouseCode() + "#" + obj.getDeptCode(); + udiCode = udiCode.replaceAll("#null", "#"); + bizData.put("udiCode", udiCode); bizData.put("cpmctymc", udiProductEntity.getCpmctymc() == null ? ' ' : udiProductEntity.getCpmctymc()); bizData.put("ggxh", udiProductEntity.getGgxh() == null ? ' ' : udiProductEntity.getGgxh()); bizData.put("batchNo", obj.getBatchNo() == null ? ' ' : obj.getBatchNo()); diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index 8559a64e..668a8925 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -19,6 +19,7 @@ import com.glxp.api.req.auth.FilterInvBusUserRequest; import com.glxp.api.req.basic.BasicEntrustRecRequest; import com.glxp.api.req.inout.*; import com.glxp.api.req.system.DeleteRequest; +import com.glxp.api.req.udims.PostUdimsOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inout.IoOrderDetailBizResponse; import com.glxp.api.res.inout.IoOrderDetailCodeResponse; @@ -28,6 +29,7 @@ import com.glxp.api.service.auth.InvBusUserService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; +import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -43,9 +45,12 @@ import java.util.Arrays; import java.util.Date; import java.util.List; +import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_CHECK_PROCESS; + @Slf4j @RestController +@Api("单据相关") public class IoOrderController extends BaseController { @Resource @@ -180,6 +185,11 @@ public class IoOrderController extends BaseController { @Log(title = "单据管理", businessType = BusinessType.UPDATE) public BaseResponse submitBiz(@RequestBody AddOrderRequest addOrderRequest) { + IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); + BaseResponse tempResponse = checkSubmitEnable(orderEntity); + if (tempResponse != null) + return tempResponse; + //校验单据是否已完成 List orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); @@ -207,7 +217,6 @@ public class IoOrderController extends BaseController { } } - IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); ioAddInoutService.dealBusProcess(orderEntity, addOrderRequest.getFromVailPi()); return ResultVOUtils.success("提交成功!"); } @@ -217,6 +226,10 @@ public class IoOrderController extends BaseController { @PostMapping("warehouse/inout/submitCodes") @Log(title = "单据管理", businessType = BusinessType.UPDATE) public BaseResponse submitCodes(@RequestBody AddOrderRequest addOrderRequest) { + IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); + BaseResponse tempResponse = checkSubmitEnable(orderEntity); + if (tempResponse != null) + return tempResponse; //校验单据是否已完成 List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); @@ -224,7 +237,6 @@ public class IoOrderController extends BaseController { if (CollUtil.isEmpty(orderDetailCodeEntities)) { return ResultVOUtils.error(500, "单据未扫码或扫码校验无法通过,提交失败,请检查后重新提交!"); } - IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); ioAddInoutService.dealProcess(orderEntity); //不需要手动校验,则走正常单据校验处理流程 @@ -271,6 +283,11 @@ public class IoOrderController extends BaseController { @Log(title = "单据管理", businessType = BusinessType.UPDATE) public BaseResponse submitOrderWeb(@RequestBody AddOrderRequest addOrderRequest) { + IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); + BaseResponse tempResponse = checkSubmitEnable(orderEntity); + if (tempResponse != null) + return tempResponse; + //校验单据是否已完成 List orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); @@ -292,7 +309,6 @@ public class IoOrderController extends BaseController { return ResultVOUtils.error(500, errMsg); } saveOrderWeb(addOrderRequest); - IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); orderEntity.setStatus(ConstantStatus.ORDER_STATUS_CHECK); orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); orderService.update(orderEntity); @@ -301,7 +317,6 @@ public class IoOrderController extends BaseController { return ResultVOUtils.error(500, "单据校验提交失败,请先录入业务单据!"); } } else { - IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); ioAddInoutService.dealProcess(orderEntity); checkInoutService.check(addOrderRequest.getBillNo()); return ResultVOUtils.success("提交成功!"); @@ -310,6 +325,17 @@ public class IoOrderController extends BaseController { return ResultVOUtils.success("提交成功!"); } + public BaseResponse checkSubmitEnable(IoOrderEntity orderEntity) { + if (orderEntity.getStatus() == ORDER_STATUS_CHECK_PROCESS || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_PROCESS + || orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_PROCESSING) { + return ResultVOUtils.error(500, "提交失败,单据正在处理,请稍后刷新查看!"); + } + if (orderEntity.getStatus() != 1 && orderEntity.getStatus() != 3 && orderEntity.getStatus() != 4 && orderEntity.getStatus() != 6) { + return ResultVOUtils.error(500, "提交失败,单据已提交,请稍后刷新查看!"); + } + return null; + } + //带配货-立即提交 @AuthRuleAnnotation("") @PostMapping("warehouse/inout/waitAllocate/submitOrderWeb") @@ -318,6 +344,10 @@ public class IoOrderController extends BaseController { //校验单据是否已完成 IoOrderEntity orderEntity = orderService.findByBillNo(addOrderRequest.getBillNo()); + BaseResponse tempResponse = checkSubmitEnable(orderEntity); + if (tempResponse != null) + return tempResponse; + List orderDetailBizEntities = orderDetailBizService.findByOrderId(addOrderRequest.getBillNo()); List orderDetailCodeEntities = orderDetailCodeService.findByOrderId(addOrderRequest.getBillNo()); @@ -638,5 +668,15 @@ public class IoOrderController extends BaseController { return ResultVOUtils.success(); } + // --------------------------------------------------------UDI_MS平台-------------------------------------------------------------------------------------- + + @ApiOperation("udims上传单据") + @PostMapping("/warehouse/inout/postOrdersUdims") + public BaseResponse postOrdersUdims(@RequestBody PostUdimsOrderRequest orderRequest) { + + ioAddInoutService.creatOrderByUdims(orderRequest); + + return ResultVOUtils.success(); + } } diff --git a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java index 28380a50..66a0a627 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvInnerOrderPrintController.java @@ -10,11 +10,10 @@ import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.entity.inout.IoOrderEntity; import com.glxp.api.entity.inv.InnerOrderEntity; -import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; import com.glxp.api.entity.inv.InvInnerOrderPdfTempEntity; +import com.glxp.api.entity.inv.InvInnerOrderPrintEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceLabelEntity; import com.glxp.api.entity.system.SysPdfTemplateRelevanceStatemenEntity; -import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.req.inout.InspectionPDFTemplateRequest; import com.glxp.api.req.inv.*; @@ -42,7 +41,10 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; @RestController public class InvInnerOrderPrintController { @@ -280,8 +282,8 @@ public class InvInnerOrderPrintController { } - Map map=new HashMap<>(); - map.put("data",printEntities); + Map map = new HashMap<>(); + map.put("data", printEntities); String param = JSON.toJSONString(map); JasperUtils.jasperReport(request, response, param, filePath + "/pdf/template/" + FileUtils.getLastFileName(systemPDFTemplateEntity.getPath()), "pdf"); diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java index 95686f2a..2580bf71 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeEntity.java @@ -137,7 +137,7 @@ public class IoCodeEntity implements Serializable { private Date createTime; @TableField(exist = false) - private int status; //条码校验状态 + private Integer status; //条码校验状态 @TableField(exist = false) private int scanCount; @@ -148,6 +148,7 @@ public class IoCodeEntity implements Serializable { return 0; return count; } + @JsonIgnore public int getMyReCount() { if (reCount == null) { diff --git a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java index be79eea9..a1e36018 100644 --- a/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java +++ b/src/main/java/com/glxp/api/entity/inout/IoCodeTempEntity.java @@ -136,7 +136,7 @@ public class IoCodeTempEntity { private Date createTime; @TableField(exist = false) - private int status; //条码校验状态 + private Integer status; //条码校验状态 @TableField(exist = false) private String mySupId; //更新供应商 diff --git a/src/main/java/com/glxp/api/req/auth/PCLoginRequest.java b/src/main/java/com/glxp/api/req/auth/PCLoginRequest.java index dd63ab7a..910d2014 100644 --- a/src/main/java/com/glxp/api/req/auth/PCLoginRequest.java +++ b/src/main/java/com/glxp/api/req/auth/PCLoginRequest.java @@ -13,7 +13,6 @@ public class PCLoginRequest { @NotEmpty(message = "密码不能为空") private String password; - @NotEmpty(message = "机器码不能为空") private String machineInfo; } diff --git a/src/main/java/com/glxp/api/req/udims/PostUdimsOrderDetailRequest.java b/src/main/java/com/glxp/api/req/udims/PostUdimsOrderDetailRequest.java new file mode 100644 index 00000000..01badbde --- /dev/null +++ b/src/main/java/com/glxp/api/req/udims/PostUdimsOrderDetailRequest.java @@ -0,0 +1,36 @@ +package com.glxp.api.req.udims; + +import lombok.Data; + +import java.math.BigDecimal; +import java.time.LocalDate; + +/** + * udims单据上传,单据详情参数 + */ +@Data +public class PostUdimsOrderDetailRequest { + + //uuid + private String uuidFk; + + //批次号 + private String batchNo; + + //价格 + private BigDecimal price; + + //销售发票号(第一票) + private String firstSalesInvNo; + + //销售发票号(第二票) + private String secSalesInvNo; + + //销售清单号(第二票) + private String secSalesListNo; + + //开票日期 + private LocalDate invoiceDate; + + +} diff --git a/src/main/java/com/glxp/api/req/udims/PostUdimsOrderRequest.java b/src/main/java/com/glxp/api/req/udims/PostUdimsOrderRequest.java new file mode 100644 index 00000000..23190b88 --- /dev/null +++ b/src/main/java/com/glxp/api/req/udims/PostUdimsOrderRequest.java @@ -0,0 +1,61 @@ +package com.glxp.api.req.udims; + +import lombok.Data; + +import java.util.List; + +@Data +public class PostUdimsOrderRequest { + + List orderBeans; + private String customerId; + + + @Data + public static class OrderBean { + private String orderId; + private String corpOrderId; + private String action; + private String actDate; + private String actor; + private String mainAction; + private String fromCorpId; + private String fromCorp; + private String remark; + private String invStorageCode; + private String deptCode; + private List orderDetails; + private List codes; + + @Data + public static class CodeBean { + private String action; + private String mainAction; + private String code; + private String corpOrderId; + private String actor; + private String actDate; + private String fromCorpId; + private String fromCorp; + private String orderId; + private String batchNo; + private String produceDate; + private String expireDate; + private String serialNo; + private Integer count; + private String packageLevel; + private String warehouseCode; + + private String customerId; + private String nameCode; + private String supId;//供应商ID + private String invStorageCode; + private String invWarehouseCode; + private String relId; + private Integer status; + private String locStorageCode; + } + } + + +} diff --git a/src/main/java/com/glxp/api/service/basic/BasicBackUpdateProductService.java b/src/main/java/com/glxp/api/service/basic/BasicBackUpdateProductService.java index cbf58134..b279b8b3 100644 --- a/src/main/java/com/glxp/api/service/basic/BasicBackUpdateProductService.java +++ b/src/main/java/com/glxp/api/service/basic/BasicBackUpdateProductService.java @@ -242,6 +242,7 @@ public class BasicBackUpdateProductService { udiRelevanceEntity1.setThirdId(thrProductsEntity.getCode()); udiRelevanceEntity1.setUpdateTime(new Date()); udiRelevanceEntity1.setModifyTime(new Date()); + udiRelevanceEntity1.setId(gennerOrderUtils.getRelId()); udiRelevanceService.insertUdiRelevanceignore(udiRelevanceEntity1); } } diff --git a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java index 4e256710..f3f4faaa 100644 --- a/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoAddInoutService.java @@ -22,6 +22,7 @@ import com.glxp.api.entity.system.SystemParamConfigEntity; import com.glxp.api.req.basic.FilterCompanyProductRelevanceRequest; import com.glxp.api.entity.inout.PdaCodeEntity; import com.glxp.api.req.inout.PostOrderRequest; +import com.glxp.api.req.udims.PostUdimsOrderRequest; import com.glxp.api.res.basic.UdiRelevanceResponse; import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.IBasicBussinessTypeService; @@ -38,6 +39,7 @@ import com.glxp.api.util.udi.UdiCalCountUtil; import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; @@ -697,4 +699,101 @@ public class IoAddInoutService { } + + //duims上传单据 + @Transactional + public void creatOrderByUdims(PostUdimsOrderRequest postOrderRequest) { + List postOrders = postOrderRequest.getOrderBeans(); + if (postOrders != null && postOrders.size() > 0) { + for (int i = 0; i < postOrders.size(); i++) { + PostUdimsOrderRequest.OrderBean postOrder = postOrders.get(i); + //创建单据 + IoOrderEntity orderEntity = orderService.findByBillNo(postOrder.getOrderId()); + if (orderEntity != null) { + //已包含业务单据校验 +// orderEntity.setUpdateUser(postOrderRequest.getUserId() + ""); + orderEntity.setUpdateTime(new Date()); + orderService.update(orderEntity); + List pdaCodeEntities = postOrder.getCodes(); + if (pdaCodeEntities != null && pdaCodeEntities.size() > 0) { + PostUdimsOrderRequest.OrderBean.CodeBean pdaCodeEntity = pdaCodeEntities.get(0); + //写入条码 + List ioCodeEnttities = new ArrayList<>(); + for (int index = 0; index < pdaCodeEntities.size(); index++) { + IoCodeTempEntity codeEnttity = new IoCodeTempEntity(); + BeanUtils.copyProperties(pdaCodeEntities.get(index), codeEnttity); + codeEnttity.setAction(orderEntity.getAction()); + codeEnttity.setMainAction(orderEntity.getMainAction()); + codeEnttity.setDeptCode(orderEntity.getDeptCode()); + codeEnttity.setOrderId(orderEntity.getBillNo()); + codeEnttity.setInvCode(orderEntity.getInvCode()); + codeEnttity.setReCount(codeEnttity.getCount() * udiCalCountUtil.getActCount(codeEnttity.getNameCode())); + codeEnttity.setUpdateTime(new Date()); + codeEnttity.setCreateTime(DateUtil.parseDate(pdaCodeEntity.getActDate())); + ioCodeEnttities.add(codeEnttity); + } + codeTempService.insertBatch(ioCodeEnttities); + dealProcess(orderEntity); + if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) { + ioCheckInoutService.check(orderEntity.getBillNo()); + } + } + } else { + //创建新单据 + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(postOrder.getAction()); + String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd")); + IoOrderEntity orderSaveRequest = new IoOrderEntity(); + orderSaveRequest.setBillNo(orderNo); + orderSaveRequest.setMainAction(postOrder.getMainAction()); + orderSaveRequest.setAction(postOrder.getAction()); + orderSaveRequest.setCorpOrderId(postOrder.getCorpOrderId()); + orderSaveRequest.setFromCorp(postOrder.getFromCorp()); + orderSaveRequest.setCustomerId(postOrderRequest.getCustomerId()); + orderSaveRequest.setDeptCode(postOrder.getDeptCode()); + orderSaveRequest.setInvCode(postOrder.getInvStorageCode()); + orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_PROCESS); + orderSaveRequest.setDealStatus(ConstantStatus.ORDER_DEAL_POST); +// orderSaveRequest.setCreateUser(postOrderRequest.getUserId() + ""); +// orderSaveRequest.setUpdateUser(postOrderRequest.getUserId() + ""); + orderSaveRequest.setUpdateTime(new Date()); + orderSaveRequest.setBusType(bussinessTypeEntity.getBusType()); + orderSaveRequest.setOrderType(ConstantStatus.ORDER_TYPE_SCAN); + orderSaveRequest.setFromType(ConstantStatus.FROM_UDIMS); + List pdaCodeEntities = postOrder.getCodes(); + if (pdaCodeEntities != null && pdaCodeEntities.size() > 0) { + PostUdimsOrderRequest.OrderBean.CodeBean pdaCodeEntity = pdaCodeEntities.get(0); + if (pdaCodeEntity.getActDate() != null) { + orderSaveRequest.setCreateTime(DateUtil.parseDate(pdaCodeEntity.getActDate())); + } + //写入条码 + List ioCodeEnttities = new ArrayList<>(); + for (int index = 0; index < pdaCodeEntities.size(); index++) { + IoCodeTempEntity codeEnttity = new IoCodeTempEntity(); + BeanUtils.copyProperties(pdaCodeEntities.get(index), codeEnttity); + codeEnttity.setAction(orderSaveRequest.getAction()); + codeEnttity.setMainAction(orderSaveRequest.getMainAction()); + codeEnttity.setDeptCode(orderSaveRequest.getDeptCode()); + codeEnttity.setOrderId(orderSaveRequest.getBillNo()); + codeEnttity.setInvCode(orderSaveRequest.getInvCode()); + codeEnttity.setReCount(codeEnttity.getCount() * udiCalCountUtil.getActCount(codeEnttity.getNameCode())); + codeEnttity.setUpdateTime(new Date()); + codeEnttity.setCreateTime(DateUtil.parseDate(pdaCodeEntity.getActDate())); + ioCodeEnttities.add(codeEnttity); + } + codeTempService.insertBatch(ioCodeEnttities); + } + orderService.insertOrder(orderSaveRequest); + dealProcess(orderSaveRequest); + if (!ioCheckInoutService.checkManual(orderEntity.getBillNo())) { + ioCheckInoutService.check(orderEntity.getBillNo()); + } + } + + + } + } + + } + + } diff --git a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java index 9a5dfe02..b1d54d82 100644 --- a/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java +++ b/src/main/java/com/glxp/api/service/inout/IoCheckInoutService.java @@ -1,5 +1,6 @@ package com.glxp.api.service.inout; +import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.UUID; import cn.hutool.core.thread.ThreadUtil; @@ -42,6 +43,8 @@ import javax.annotation.Resource; import java.io.IOException; import java.util.*; +import static com.glxp.api.constant.ConstantStatus.ORDER_STATUS_CHECK_PROCESS; + /** * 校验出入库服务 */ @@ -127,6 +130,11 @@ public class IoCheckInoutService { //过滤非未校验或校验异常 if (orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK && orderEntity.getStatus() != ConstantStatus.ORDER_STATUS_CHECK_FAIL) return; + + orderEntity.setStatus(ORDER_STATUS_CHECK_PROCESS); + orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_POST); + orderService.update(orderEntity); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction()); if (!bussinessTypeEntity.isCheckEnable()) { unCheckFirstFinish(orderEntity); diff --git a/src/main/java/com/glxp/api/vo/inv/InvWarehouseTreeVo.java b/src/main/java/com/glxp/api/vo/inv/InvWarehouseTreeVo.java index aa26b3c7..2068c2cd 100644 --- a/src/main/java/com/glxp/api/vo/inv/InvWarehouseTreeVo.java +++ b/src/main/java/com/glxp/api/vo/inv/InvWarehouseTreeVo.java @@ -9,6 +9,9 @@ import java.util.List; @Data public class InvWarehouseTreeVo extends InvWarehouseEntity { + private String deptCode; + + private String deptName; List bussinessTypeList = new ArrayList<>(); diff --git a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml index 24e7335a..9d1e4a52 100644 --- a/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml +++ b/src/main/resources/mybatis/mapper/auth/InvWarehouseDao.xml @@ -401,10 +401,11 @@