diff --git a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java index f3f29f429..9e7cac837 100644 --- a/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java +++ b/src/main/java/com/glxp/api/controller/auth/InvWarehouseController.java @@ -569,17 +569,15 @@ public class InvWarehouseController extends BaseController { @AuthRuleAnnotation("") @GetMapping("/udiwms/bussinessType/joinFilter") - public BaseResponse filterJoinBussinessType(BussinessTypeFilterRequest bussinessTypeFilterRequest, + public BaseResponse filterJoinBussinessType(FilterBussinessTypeRequest bussinessTypeFilterRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (StrUtil.isNotEmpty(bussinessTypeFilterRequest.getIds())) { - List idList = new ArrayList<>(Arrays.asList(bussinessTypeFilterRequest.getIds().split(","))); - bussinessTypeFilterRequest.setActionList(idList); - } - return null; + List list = basicBussinessTypeService.filterList(bussinessTypeFilterRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); } @AuthRuleAnnotation("") diff --git a/src/main/java/com/glxp/api/controller/inv/InvCountOrderController.java b/src/main/java/com/glxp/api/controller/inv/InvCountOrderController.java index 99e7aca62..da8278ca7 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvCountOrderController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvCountOrderController.java @@ -1,7 +1,10 @@ package com.glxp.api.controller.inv; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.serializer.SerializerFeature; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; @@ -9,22 +12,29 @@ import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; +import com.glxp.api.controller.BaseController; import com.glxp.api.entity.inv.InvCountOrderEntity; 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.inout.SystemPDFModuleRequest; +import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest; import com.glxp.api.req.inv.FilterInvCountOrderRequest; import com.glxp.api.req.inv.FilterInvCountOrderSaveRequest; import com.glxp.api.req.inv.InvCountOrderPrintRequest; import com.glxp.api.req.system.DeleteRequest; import com.glxp.api.req.system.FilterPdfModuleRequest; import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inout.ReceiveDetailResponse; +import com.glxp.api.res.inv.InvCountOrderDetailResponse; import com.glxp.api.res.inv.InvCountOrderResponse; +import com.glxp.api.service.inv.InvCountOrderDetailService; import com.glxp.api.service.inv.InvCountOrderService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateService; import com.glxp.api.util.JasperUtils; +import com.glxp.api.util.MsDateUtil; +import org.springframework.beans.factory.annotation.Value; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -35,19 +45,21 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 盘点单接口 */ @RestController -public class InvCountOrderController { +public class InvCountOrderController extends BaseController { + @Value("${file_path}") + private String filePath; @Resource private InvCountOrderService invCountOrderService; + @Resource + private InvCountOrderDetailService invCountOrderDetailService; + @Resource private SystemPDFTemplateService systemPDFTemplateService; @Resource @@ -104,16 +116,15 @@ public class InvCountOrderController { /** * 提交审核 * - * @param id * @return */ @Log(title = "提交审核") - @GetMapping("/invCount/order/submitAudit") - public BaseResponse submitAudit(String id) { - if (StrUtil.isBlank(id)) { + @PostMapping("/invCount/order/submitAudit") + public BaseResponse submitAudit(@RequestBody InvCountOrderEntity invCountOrderEntity) { + if (StrUtil.isBlank(invCountOrderEntity.getOrderId())) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - return invCountOrderService.submitAudit(id); + return invCountOrderService.submitAudit(invCountOrderEntity.getOrderId()); } /** @@ -159,7 +170,7 @@ public class InvCountOrderController { } /** - * 打印模板单号标签 + * 盘点单据打印 * * @param invCountOrderPrintRequest * @param request @@ -170,12 +181,47 @@ public class InvCountOrderController { @PostMapping("/invCount/order/printOrder") public void printOrder(@RequestBody InvCountOrderPrintRequest invCountOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(invCountOrderPrintRequest.getTemplateId()); - //打印单号标签 + InvCountOrderResponse invCountOrderEntity = invCountOrderService.selectJoinByOrderId(invCountOrderPrintRequest.getOrderId()); + FilterInvCountOrderDetailRequest filterInvCountOrderDetailRequest = new FilterInvCountOrderDetailRequest(); + filterInvCountOrderDetailRequest.setOrderIdFk(invCountOrderEntity.getOrderId()); + List invCountOrderDetailResponses = invCountOrderDetailService.filterCountDetail(filterInvCountOrderDetailRequest); Map data = new HashMap<>(1); - data.put("orderId", invCountOrderPrintRequest.getOrderId()); - Map>> printData = new HashMap<>(1); - printData.put("data", Arrays.asList(data)); - JasperUtils.jasperReport(request, response, JSONUtil.toJsonStr(printData), systemPDFTemplateEntity.getPath(), "pdf"); + List list = new ArrayList<>(); + if (CollUtil.isNotEmpty(invCountOrderDetailResponses)) { + for (InvCountOrderDetailResponse obj : invCountOrderDetailResponses) { + Map supData = new HashMap<>(); + supData.put("billNo", invCountOrderEntity.getOrderId()); + supData.put("deptName", invCountOrderEntity.getDeptName()); + supData.put("deptCode", invCountOrderEntity.getDeptCode()); + supData.put("invName", invCountOrderEntity.getInvStorageName()); + supData.put("invCode", invCountOrderEntity.getInvStorageCode()); + supData.put("invSpaceName", invCountOrderEntity.getInvSpaceName()); + supData.put("invSpaceCode", invCountOrderEntity.getInvWarehouseCode()); + supData.put("createUserName", invCountOrderEntity.getCreateUserName()); + supData.put("auditUserName", invCountOrderEntity.getAuditUserName()); + supData.put("billDate", MsDateUtil.formatDate(invCountOrderEntity.getCreateTime(), "yyyy-MM-dd")); + supData.put("auditTime", MsDateUtil.formatDate(invCountOrderEntity.getAuditTime(), "yyyy-MM-dd")); + + supData.put("countNum", obj.getCountNum()); + supData.put("invNum", obj.getInvNum()); + supData.put("profitNum", obj.getProfitNum()); + supData.put("lossNum", obj.getLossNum()); + supData.put("status", obj.getStatus()); + supData.put("productName", obj.getProductName()); + supData.put("ggxh", obj.getGgxh()); + supData.put("measname", obj.getMeasname() == null ? "" : obj.getMeasname()); + supData.put("nameCode", obj.getNameCode()); +// supData.put("price", obj.getPrice() == null ? "" : obj.getPrice()); +// supData.put("supName", obj.getSupName()); + supData.put("ylqxzcrbarmc", obj.getYlqxzcrbarmc()); + supData.put("zczbhhzbapzbh", obj.getZczbhhzbapzbh()); + list.add(supData); + } + } + data.put("data", list); + String param = JSONObject.toJSONString(data, SerializerFeature.WriteMapNullValue); + JasperUtils.jasperReport(request, response, param, filePath + "pdf/template/" + systemPDFTemplateEntity.getPath(), "pdf"); + } //------------------------------------------------------手持终端接口--------------------------------------------------------------- diff --git a/src/main/java/com/glxp/api/controller/inv/InvCountOrderDetailController.java b/src/main/java/com/glxp/api/controller/inv/InvCountOrderDetailController.java index 364885eae..47f09ee93 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvCountOrderDetailController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvCountOrderDetailController.java @@ -1,5 +1,6 @@ package com.glxp.api.controller.inv; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.Log; @@ -8,6 +9,7 @@ import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.entity.inv.InvCountOrderDetailEntity; +import com.glxp.api.req.inv.AddInvCountOrderSaveRequest; import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.inv.InvCountOrderDetailResponse; @@ -77,4 +79,35 @@ public class InvCountOrderDetailController { return invCountOrderDetailService.addCountOrderDetail(invCountOrderDetail); } + /** + * 更新盘点详情 + * + * @param invCountOrderDetail + * @return + */ + @Log(title = "更新盘点详情", businessType = BusinessType.INSERT) + @PostMapping("/invCount/order/detail/updateCountOrderDetail") + public BaseResponse updateCountOrderDetail(@RequestBody InvCountOrderDetailEntity invCountOrderDetail) { + if (null == invCountOrderDetail || StrUtil.isBlank(invCountOrderDetail.getOrderIdFk()) || StrUtil.isBlank(invCountOrderDetail.getProductId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + invCountOrderDetailService.updateById(invCountOrderDetail); + return ResultVOUtils.success("修改成功!"); + } + + + /** + * 批量添加盘点单据详情 + * + * @param addInvCountOrderSaveRequest + * @return + */ + @PostMapping("/inv/count/order/detail/batchAddDetail") + public BaseResponse batchAddDetail(@RequestBody AddInvCountOrderSaveRequest addInvCountOrderSaveRequest) { + if (null == addInvCountOrderSaveRequest || CollUtil.isEmpty(addInvCountOrderSaveRequest.getCountOrderDetailList())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return invCountOrderDetailService.batchAddDetail(addInvCountOrderSaveRequest.getOrderId(), addInvCountOrderSaveRequest.getCountOrderDetailList()); + } + } diff --git a/src/main/java/com/glxp/api/controller/inv/InvCountSettingController.java b/src/main/java/com/glxp/api/controller/inv/InvCountSettingController.java index 5e6e43ece..143ca9226 100644 --- a/src/main/java/com/glxp/api/controller/inv/InvCountSettingController.java +++ b/src/main/java/com/glxp/api/controller/inv/InvCountSettingController.java @@ -79,11 +79,12 @@ public class InvCountSettingController { @Log(title = "判断是否可以新增盘点设置") @GetMapping("/invCount/setting/verifyAdd") public BaseResponse verifyAdd() { - boolean verify = invCountSettingService.verifyAdd(); - if (verify) { - return ResultVOUtils.success(); - } - return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "已经存在盘点设置,无法添加"); +// boolean verify = invCountSettingService.verifyAdd(); +// if (verify) { +// return ResultVOUtils.success(); +// } + return ResultVOUtils.success(); +// return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "已经存在盘点设置,无法添加"); } } diff --git a/src/main/java/com/glxp/api/dao/inv/InvCountOrderMapper.java b/src/main/java/com/glxp/api/dao/inv/InvCountOrderMapper.java index afe039cb0..381ccdd94 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvCountOrderMapper.java +++ b/src/main/java/com/glxp/api/dao/inv/InvCountOrderMapper.java @@ -36,7 +36,7 @@ public interface InvCountOrderMapper extends BaseMapper { * @param invSpaceCode 货位号 * @return */ - Integer countBySpaceCode(@Param("invStorageCode") String invStorageCode, @Param("invWarehouseCode") String invWarehouseCode, @Param("invSpaceCode") String invSpaceCode); + Integer countBySpaceCode(@Param("invStorageCode") String invStorageCode, @Param("invSpaceCode") String invSpaceCode); /** * 根据盘点单号更新单据信息 diff --git a/src/main/java/com/glxp/api/dao/inv/InvCountSettingMapper.java b/src/main/java/com/glxp/api/dao/inv/InvCountSettingMapper.java index 7a6bdb6e8..a582cef7c 100644 --- a/src/main/java/com/glxp/api/dao/inv/InvCountSettingMapper.java +++ b/src/main/java/com/glxp/api/dao/inv/InvCountSettingMapper.java @@ -3,6 +3,7 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inv.InvCountSettingEntity; import com.glxp.api.req.inv.FilterInvCountSettingRequest; +import com.glxp.api.res.inv.InvCountSettingResponse; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -11,7 +12,7 @@ import java.util.List; public interface InvCountSettingMapper extends BaseMapper { - List filterList(FilterInvCountSettingRequest settingRequest); + List filterList(FilterInvCountSettingRequest settingRequest); /** * 统计盘点设置的条目数量 diff --git a/src/main/java/com/glxp/api/entity/inv/InvCountCodesEntity.java b/src/main/java/com/glxp/api/entity/inv/InvCountCodesEntity.java index cc70383d8..fd4a38dfd 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvCountCodesEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvCountCodesEntity.java @@ -6,16 +6,18 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * 盘点单据码表 - */ -@ApiModel(value="com-glxp-api-entity-inv-InvCountCodes") + * 盘点单据码表 + */ +@ApiModel(value = "com-glxp-api-entity-inv-InvCountCodes") @Data @Builder @AllArgsConstructor @@ -25,51 +27,77 @@ public class InvCountCodesEntity implements Serializable { /** * id */ - @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="id") + @TableId(value = "id", type = IdType.AUTO) + @ApiModelProperty(value = "id") private Integer id; /** * 盘点单ID */ @TableField(value = "orderIdFk") - @ApiModelProperty(value="盘点单ID") + @ApiModelProperty(value = "盘点单ID") private String orderIdFk; /** * 产品ID */ @TableField(value = "productId") - @ApiModelProperty(value="产品ID") + @ApiModelProperty(value = "产品ID") private String productId; /** * 码 */ @TableField(value = "code") - @ApiModelProperty(value="码") + @ApiModelProperty(value = "码") private String code; /** * 条码状态(多码或少码) 0:少 1:多 */ @TableField(value = "`status`") - @ApiModelProperty(value="条码状态(多码或少码) 0:少 1:多") + @ApiModelProperty(value = "条码状态(多码或少码) 0:少 1:多") private Boolean status; /** * 批次号 */ @TableField(value = "batchNo") - @ApiModelProperty(value="批次号") + @ApiModelProperty(value = "批次号") private String batchNo; /** * 扫码数量 */ @TableField(value = "`count`") - @ApiModelProperty(value="扫码数量") + @ApiModelProperty(value = "扫码数量") private Integer count; + + @TableField(value = "nameCode") + @ApiModelProperty(value = "产品DI") + private String nameCode; + + /** + * 生产日期 + */ + @TableField(value = "produceDate") + @ApiModelProperty(value = "生产日期") + private String produceDate; + /** + * 失效日期 + */ + @TableField(value = "expireDate") + @ApiModelProperty(value = "失效日期") + private String expireDate; + + /** + * 序列号 + */ + @TableField(value = "serialNo") + @ApiModelProperty(value = "序列号") + private String serialNo; + + private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/entity/inv/InvCountOrderEntity.java b/src/main/java/com/glxp/api/entity/inv/InvCountOrderEntity.java index 6db39c8ad..6d233e404 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvCountOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvCountOrderEntity.java @@ -6,17 +6,19 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; import java.util.Date; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * 盘点单据表 - */ -@ApiModel(value="com-glxp-api-entity-inv-InvCountOrder") + * 盘点单据表 + */ +@ApiModel(value = "com-glxp-api-entity-inv-InvCountOrder") @Data @Builder @AllArgsConstructor @@ -27,105 +29,105 @@ public class InvCountOrderEntity implements Serializable { * id */ @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="id") + @ApiModelProperty(value = "id") private Integer id; /** * 盘点单号 */ @TableField(value = "orderId") - @ApiModelProperty(value="盘点单号") + @ApiModelProperty(value = "盘点单号") private String orderId; /** - * 仓库号 + * 仓库编码 */ @TableField(value = "invStorageCode") - @ApiModelProperty(value="仓库号") + @ApiModelProperty(value = "仓库编码") private String invStorageCode; /** - * 分库号 + * 货位编码 */ @TableField(value = "invWarehouseCode") - @ApiModelProperty(value="分库号") + @ApiModelProperty(value = "货位编码") private String invWarehouseCode; /** - * 货位号 + * 部门编码 */ - @TableField(value = "invSpaceCode") - @ApiModelProperty(value="货位号") - private String invSpaceCode; + @TableField(value = "deptCode") + @ApiModelProperty(value = "部门编码") + private String deptCode; /** * 盘点用户ID */ @TableField(value = "`createUser`") - @ApiModelProperty(value="盘点用户ID") + @ApiModelProperty(value = "盘点用户ID") private String createUser; /** * 创建时间 */ @TableField(value = "createTime") - @ApiModelProperty(value="创建时间") + @ApiModelProperty(value = "创建时间") private Date createTime; /** * 更新时间 */ @TableField(value = "updateTime") - @ApiModelProperty(value="更新时间") + @ApiModelProperty(value = "更新时间") private Date updateTime; /** * 审核用户ID */ @TableField(value = "auditUser") - @ApiModelProperty(value="审核用户ID") + @ApiModelProperty(value = "审核用户ID") private String auditUser; /** * 审核时间 */ @TableField(value = "auditTime") - @ApiModelProperty(value="审核时间") + @ApiModelProperty(value = "审核时间") private Date auditTime; /** * 状态 */ @TableField(value = "`status`") - @ApiModelProperty(value="状态") + @ApiModelProperty(value = "状态") private Integer status; /** * 备注字段 */ @TableField(value = "remark") - @ApiModelProperty(value="备注字段") + @ApiModelProperty(value = "备注字段") private String remark; /** * 入库扫码单据号,多个使用 , 隔开 */ @TableField(value = "inOrderIds") - @ApiModelProperty(value="入库扫码单据号,多个使用 , 隔开") + @ApiModelProperty(value = "入库扫码单据号,多个使用 , 隔开") private String inOrderIds; /** * 出库扫码单据号,多个使用 , 隔开 */ @TableField(value = "outOrderIds") - @ApiModelProperty(value="出库扫码单据号,多个使用 , 隔开") + @ApiModelProperty(value = "出库扫码单据号,多个使用 , 隔开") private String outOrderIds; /** * 盘点类型,0:整库盘点 1:按货位盘点 2:部分盘点 */ @TableField(value = "countType") - @ApiModelProperty(value="盘点类型,0:整库盘点 1:按货位盘点 2:部分盘点") + @ApiModelProperty(value = "盘点类型,0:整库盘点 1:按货位盘点 2:部分盘点") private Integer countType; private static final long serialVersionUID = 1L; diff --git a/src/main/java/com/glxp/api/entity/inv/InvCountSettingEntity.java b/src/main/java/com/glxp/api/entity/inv/InvCountSettingEntity.java index bdee6f21e..38b433045 100644 --- a/src/main/java/com/glxp/api/entity/inv/InvCountSettingEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/InvCountSettingEntity.java @@ -6,16 +6,18 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; + import java.io.Serializable; + import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; /** - * 盘点设置表 - */ -@ApiModel(value="com-glxp-api-entity-inv-InvCountSetting") + * 盘点设置表 + */ +@ApiModel(value = "com-glxp-api-entity-inv-InvCountSetting") @Data @Builder @AllArgsConstructor @@ -26,22 +28,46 @@ public class InvCountSettingEntity implements Serializable { * ID */ @TableId(value = "id", type = IdType.INPUT) - @ApiModelProperty(value="ID") + @ApiModelProperty(value = "ID") private Integer id; /** * 盘点入库转单类型 */ @TableField(value = "inAction") - @ApiModelProperty(value="盘点入库转单类型") + @ApiModelProperty(value = "盘点入库转单类型") private String inAction; /** * 盘点出库转单类型 */ @TableField(value = "outAction") - @ApiModelProperty(value="盘点出库转单类型") + @ApiModelProperty(value = "盘点出库转单类型") private String outAction; + /** + * 盘点仓库 + */ + @TableField(value = "invStorageCode") + @ApiModelProperty(value = "盘点仓库") + private String invStorageCode; + /** + * 盘点货位 + */ + @TableField(value = "invWarehouseCode") + @ApiModelProperty(value = "盘点货位") + private String invWarehouseCode; + /** + * 盘盈入库往来单位 + */ + @TableField(value = "inFromCorp") + @ApiModelProperty(value = "盘盈入库往来单位") + private String inFromCorp; + /** + * 盘亏出库往来单位 + */ + @TableField(value = "outFromCorp") + @ApiModelProperty(value = "盘亏出库往来单位") + private String outFromCorp; private static final long serialVersionUID = 1L; } diff --git a/src/main/java/com/glxp/api/req/inv/AddInvCountOrderSaveRequest.java b/src/main/java/com/glxp/api/req/inv/AddInvCountOrderSaveRequest.java new file mode 100644 index 000000000..030aba786 --- /dev/null +++ b/src/main/java/com/glxp/api/req/inv/AddInvCountOrderSaveRequest.java @@ -0,0 +1,12 @@ +package com.glxp.api.req.inv; + +import com.glxp.api.entity.inv.InvCountOrderDetailEntity; +import lombok.Data; + +import java.util.List; +@Data +public class AddInvCountOrderSaveRequest { + + private List countOrderDetailList; + private String orderId; +} diff --git a/src/main/java/com/glxp/api/res/inv/InvCountOrderDetailResponse.java b/src/main/java/com/glxp/api/res/inv/InvCountOrderDetailResponse.java index 75a662671..4e292a749 100644 --- a/src/main/java/com/glxp/api/res/inv/InvCountOrderDetailResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvCountOrderDetailResponse.java @@ -29,4 +29,6 @@ public class InvCountOrderDetailResponse extends InvCountOrderDetailEntity { */ private String ylqxzcrbarmc; + private String measname; + } diff --git a/src/main/java/com/glxp/api/res/inv/InvCountOrderResponse.java b/src/main/java/com/glxp/api/res/inv/InvCountOrderResponse.java index 3a32e8eff..9205db1a0 100644 --- a/src/main/java/com/glxp/api/res/inv/InvCountOrderResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvCountOrderResponse.java @@ -26,4 +26,10 @@ public class InvCountOrderResponse extends InvCountOrderEntity { */ private String invSpaceName; + private String deptName; + + + private String createUserName; + private String auditUserName; + } diff --git a/src/main/java/com/glxp/api/res/inv/InvCountSettingResponse.java b/src/main/java/com/glxp/api/res/inv/InvCountSettingResponse.java index 1441667be..de83df6fc 100644 --- a/src/main/java/com/glxp/api/res/inv/InvCountSettingResponse.java +++ b/src/main/java/com/glxp/api/res/inv/InvCountSettingResponse.java @@ -19,4 +19,13 @@ public class InvCountSettingResponse extends InvCountSettingEntity { */ private String outBusTypeName; + + private String inFromCorpName; + + private String outFromCorpName; + + private String invName; + + private String spaceName; + } diff --git a/src/main/java/com/glxp/api/service/inv/InvCountCodesService.java b/src/main/java/com/glxp/api/service/inv/InvCountCodesService.java index e854615f4..8b645c592 100644 --- a/src/main/java/com/glxp/api/service/inv/InvCountCodesService.java +++ b/src/main/java/com/glxp/api/service/inv/InvCountCodesService.java @@ -99,6 +99,9 @@ public class InvCountCodesService extends ServiceImpl { @@ -74,4 +78,15 @@ public class InvCountOrderDetailService extends ServiceImpl countOrderDetailList) { + InvCountOrderEntity invCountOrder = invCountOrderDao.selectByOrderId(orderId); + invCountOrder.setUpdateTime(new Date()); + invCountOrderDetailDao.deleteByOrderId(orderId); + if (CollUtil.isNotEmpty(countOrderDetailList)) { + invCountOrderDetailDao.insertBatch(countOrderDetailList); + } + return ResultVOUtils.success(); + } + } diff --git a/src/main/java/com/glxp/api/service/inv/InvCountOrderService.java b/src/main/java/com/glxp/api/service/inv/InvCountOrderService.java index daf84df1a..63a0bf7db 100644 --- a/src/main/java/com/glxp/api/service/inv/InvCountOrderService.java +++ b/src/main/java/com/glxp/api/service/inv/InvCountOrderService.java @@ -35,12 +35,17 @@ import com.glxp.api.res.inv.InvCountOrderResponse; import com.glxp.api.service.auth.CustomerService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.basic.UdiRelevanceService; +import com.glxp.api.service.inout.IoAddInoutService; +import com.glxp.api.service.inout.IoCheckInoutService; +import com.glxp.api.service.inout.IoOrderService; import com.glxp.api.util.CustomUtil; import com.glxp.api.util.GennerOrderUtils; import com.glxp.api.util.IntUtil; import com.glxp.api.util.OrderNoTypeBean; import com.glxp.api.util.udi.FilterUdiUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.ibatis.annotations.Param; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -73,7 +78,7 @@ public class InvCountOrderService extends ServiceImpl filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) { if (null == filterInvCountOrderRequest) { @@ -101,6 +112,16 @@ public class InvCountOrderService extends ServiceImpl orderResponses = invCountOrderDao.selectList(filterInvCountOrderRequest); + if (CollUtil.isNotEmpty(orderResponses)) + return orderResponses.get(0); + return null; + } + + public void deleteOrder(String id) { String orderId = invCountOrderDao.selectOrderIdById(id); log.info("开始删除盘点单据,盘点单号: {}", orderId); @@ -118,12 +139,12 @@ public class InvCountOrderService extends ServiceImpl detailList = invCountOrderDetailDao.selectByOrderId(invCountOrder.getOrderId()); for (InvCountOrderDetailEntity invCountOrderDetail : detailList) { - int diff = invCountOrderDetail.getInvNum() - invCountOrderDetail.getCountNum(); + int diff = IntUtil.value(invCountOrderDetail.getInvNum()) - IntUtil.value(invCountOrderDetail.getCountNum()); if (diff > 0) { invCountOrderDetail.setLossNum(Math.abs(diff)); //盘亏 @@ -212,10 +233,6 @@ public class InvCountOrderService extends ServiceImpl { -// -// }); - countTransferOrder(invCountOrder); } invCountOrderDao.updateById(invCountOrder); @@ -246,7 +263,7 @@ public class InvCountOrderService extends ServiceImpl list = invCountSettingDao.filterList(null); + List list = invCountSettingDao.selectList(null); if (CollUtil.isEmpty(list)) { log.error("未配置盘点单据设置参数,无法转单"); return; @@ -277,7 +294,7 @@ public class InvCountOrderService extends ServiceImpl list = invCountSettingDao.filterList(null); - if (CollUtil.isEmpty(list)) { + InvCountSettingEntity invCountSettingEntity = invCountSettingService.findByInvSpace(invCountOrder.getInvStorageCode(), invCountOrder.getInvWarehouseCode()); + if (invCountSettingEntity == null) { log.error("未配置盘点单据设置参数,无法转单"); return; } - InvCountSettingEntity invCountSettingEntity = list.get(0); - List orderDetailList = invCountOrderDetailDao.selectByOrderId(invCountOrder.getOrderId()); List lossCodesList = new ArrayList<>(); List profitCodesList = new ArrayList<>(); @@ -504,8 +519,14 @@ public class InvCountOrderService extends ServiceImpl list = invCountSettingDao.filterList(settingRequest); + List list = invCountSettingDao.filterList(settingRequest); if (CollUtil.isNotEmpty(list)) { - List result = new ArrayList<>(list.size()); - for (InvCountSettingEntity invCountSettingEntity : list) { - InvCountSettingResponse response = new InvCountSettingResponse(); - BeanUtil.copyProperties(invCountSettingEntity, response); + for (InvCountSettingResponse invCountSettingEntity : list) { //查询单据类型名称 - response.setInBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getInAction())); - response.setOutBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getOutAction())); - result.add(response); + invCountSettingEntity.setInBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getInAction())); + invCountSettingEntity.setOutBusTypeName(bussinessTypeDao.selectNameByAction(invCountSettingEntity.getOutAction())); } - return result; } - return Collections.emptyList(); + return list; } @@ -55,13 +49,15 @@ public class InvCountSettingService extends ServiceImpl invCountSettingEntities = invCountSettingDao.selectList(new QueryWrapper() + .eq("invStorageCode", invCode) + .eq(StrUtil.isNotEmpty(spaceCode), "invWarehouseCode", spaceCode)); + if (CollUtil.isNotEmpty(invCountSettingEntities)) { + return invCountSettingEntities.get(0); + } else + return null; + } + /** * 判断是否已经存在盘点设置 * * @return */ - public boolean existSetting() { - Long count = invCountSettingDao.countSetting(); - if (count == null || count < 1) { - //未配置设置 - return false; - } - return true; + public boolean existSetting(InvCountSettingEntity invCountSettingEntity, Integer ignoreId) { + return invCountSettingDao.exists(new QueryWrapper() + .eq("invStorageCode", invCountSettingEntity.getInvStorageCode()) + .eq(invCountSettingEntity.getInvWarehouseCode() != null, "invWarehouseCode", invCountSettingEntity.getInvWarehouseCode()) + .ne(ignoreId != null, "id", ignoreId) + ); } } diff --git a/src/main/java/com/glxp/api/service/sync/HeartService.java b/src/main/java/com/glxp/api/service/sync/HeartService.java index 4e8b8d1a9..f8331f394 100644 --- a/src/main/java/com/glxp/api/service/sync/HeartService.java +++ b/src/main/java/com/glxp/api/service/sync/HeartService.java @@ -1,6 +1,7 @@ package com.glxp.api.service.sync; import cn.hutool.core.bean.BeanUtil; +import com.glxp.api.res.inv.InnerOrderPrintResponse; import org.springframework.beans.BeanUtils; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollectionUtil; @@ -1757,10 +1758,18 @@ public class HeartService { basicHospTypeDao.replaceBatch(hospTypeList); } if (CollectionUtil.isNotEmpty(udiRelevanceList)) { - udiRelevanceDao.replaceBatch(udiRelevanceList); + List> splits = CustomUtil.splitList(udiRelevanceList, 500); + splits.forEach(items -> { + udiRelevanceDao.replaceBatch(items); + }); } if (CollectionUtil.isNotEmpty(productsList)) { - basicProductsDao.replaceBatch(productsList); + + List> splits = CustomUtil.splitList(productsList, 500); + splits.forEach(items -> { + basicProductsDao.replaceBatch(items); + }); +// basicProductsDao.replaceBatchs(productsList, 1000); } if (CollectionUtil.isNotEmpty(relevanceList)) { relevanceDao.replaceBatch(relevanceList); diff --git a/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java b/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java index c9717b9d2..344221a45 100644 --- a/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java +++ b/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java @@ -209,8 +209,8 @@ public class FilterUdiUtils { public static String transGlxpNoSerStr(List udiRelevanceResponses, InvCountOrderDetailEntity invCountOrderDetail) { UdiRelevanceResponse udiRelevanceResponse = getMinDi(udiRelevanceResponses); - String udiCode = "#" + udiRelevanceResponse.getNameCode() + "#" + invCountOrderDetail.getProduceDate() + "#" + invCountOrderDetail.getExpireDate() + - "#" + invCountOrderDetail.getBatchNo() + "#" + "#" + "#"; + String udiCode = "#" + udiRelevanceResponse.getNameCode() + "#" + StrUtil.trimToEmpty(invCountOrderDetail.getProduceDate()) + "#" + StrUtil.trimToEmpty(invCountOrderDetail.getExpireDate()) + + "#" + StrUtil.trimToEmpty(invCountOrderDetail.getBatchNo()) + "#" + "#" + "#"; return udiCode; } diff --git a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml index 11f3593e1..699c3f0d5 100644 --- a/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml +++ b/src/main/resources/mybatis/mapper/basic/BasicBussinessTypeDao.xml @@ -230,6 +230,9 @@ AND basic_bussiness_type.editType = #{editType} + + AND basic_bussiness_type.mainAction = #{mainAction} + group by basic_bussiness_type.action diff --git a/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailMapper.xml b/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailMapper.xml index 6bc69d741..2c07c8703 100644 --- a/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/InvCountOrderDetailMapper.xml @@ -45,13 +45,12 @@ diff --git a/src/main/resources/mybatis/mapper/inv/InvCountOrderMapper.xml b/src/main/resources/mybatis/mapper/inv/InvCountOrderMapper.xml index 6aea5d0a7..47607f3a7 100644 --- a/src/main/resources/mybatis/mapper/inv/InvCountOrderMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/InvCountOrderMapper.xml @@ -8,7 +8,7 @@ - + @@ -22,7 +22,7 @@ - id, orderId, invStorageCode, invWarehouseCode, invSpaceCode, `createUser`, createTime, + id, orderId, invStorageCode, invWarehouseCode, deptCode, `createUser`, createTime, updateTime, auditUser, auditTime, `status`, remark, inOrderIds, outOrderIds, countType @@ -32,7 +32,7 @@ co.orderId, co.invStorageCode, co.invWarehouseCode, - co.invSpaceCode, + co.deptCode, co.createUser, co.createTime, co.updateTime, @@ -43,17 +43,23 @@ co.inOrderIds, co.outOrderIds, co.countType, - ws.name as invStorageName, - sp.name as invSpaceName + ws.name as invStorageName, + sp.name as invSpaceName, + ad.name as deptName, + au1.employeeName as createUserName, + au2.employeeName as auditUserName from inv_count_order co - left join auth_warehouse ws on co.invWarehouseCode = ws.code - left join auth_space sp on co.invSpaceCode = sp.code + left join auth_warehouse ws on co.invStorageCode = ws.code + left join auth_space sp on co.invWarehouseCode = sp.code + left join auth_dept ad on co.deptCode = sp.code + left join auth_user au1 on au1.userName = co.createUser + left join auth_user au2 on au2.userName = co.auditUser AND co.invStorageCode = #{invCode} - AND co.invSpaceCode = #{invSpaceCode} + AND co.invWarehouseCode = #{invSpaceCode} AND co.status = #{status} @@ -79,11 +85,8 @@ AND invStorageCode = #{invStorageCode} - - AND invWarehouseCode = #{invWarehouseCode} - - AND invSpaceCode = #{invSpaceCode} + AND invWarehouseCode = #{invSpaceCode} @@ -92,7 +95,7 @@ update inv_count_order set invStorageCode = #{invStorageCode,jdbcType=VARCHAR}, invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, - invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, + deptCode = #{deptCode,jdbcType=VARCHAR}, `createUser` = #{createUser,jdbcType=VARCHAR}, createTime = #{createTime,jdbcType=TIMESTAMP}, updateTime = #{updateTime,jdbcType=TIMESTAMP}, diff --git a/src/main/resources/mybatis/mapper/inv/InvCountSettingMapper.xml b/src/main/resources/mybatis/mapper/inv/InvCountSettingMapper.xml index 210135406..877a20577 100644 --- a/src/main/resources/mybatis/mapper/inv/InvCountSettingMapper.xml +++ b/src/main/resources/mybatis/mapper/inv/InvCountSettingMapper.xml @@ -1,26 +1,20 @@ - - - - - - - - - - id, inAction, outAction - - - - + select ics.*, + aw.name invName, + sts.name spaceName, + bc1.name inFromCorpName, + bc2.name outFromCorpName + from inv_count_setting ics + left join auth_warehouse aw on ics.invStorageCode = aw.code + left join auth_space sts on ics.invWarehouseCode = sts.code + left join basic_corp bc1 on ics.inFromCorp = bc1.erpId + left join basic_corp bc2 on ics.outFromCorp = bc2.erpId - AND id = #{id} + AND ics.id = #{id} diff --git a/src/main/resources/mybatis/mapper/inv/invProductDao.xml b/src/main/resources/mybatis/mapper/inv/invProductDao.xml index 7083332a6..1cb7dea84 100644 --- a/src/main/resources/mybatis/mapper/inv/invProductDao.xml +++ b/src/main/resources/mybatis/mapper/inv/invProductDao.xml @@ -297,7 +297,7 @@