1.添加盘点单据相关实体类和接口
parent
c1a5abea65
commit
e57b30d9fc
@ -0,0 +1,88 @@
|
|||||||
|
package com.glxp.api.controller.inv;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
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.entity.inv.InvCountCodesEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountCodesRequest;
|
||||||
|
import com.glxp.api.res.PageSimpleResponse;
|
||||||
|
import com.glxp.api.service.inv.InvCountCodesService;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据码表
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
public class InvCountCodesController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InvCountCodesService invCountCodesService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询码表
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/inv/count/codes/filter")
|
||||||
|
public BaseResponse filterList(FilterInvCountCodesRequest codesRequest) {
|
||||||
|
List<InvCountCodesEntity> list = invCountCodesService.filterList(codesRequest);
|
||||||
|
PageInfo<InvCountCodesEntity> pageInfo = new PageInfo<>(list);
|
||||||
|
PageSimpleResponse<InvCountCodesEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
||||||
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
||||||
|
pageSimpleResponse.setList(list);
|
||||||
|
return ResultVOUtils.success(pageSimpleResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 移除条码
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/inv/count/codes/deleteCode")
|
||||||
|
public BaseResponse deleteCode(@RequestBody FilterInvCountCodesRequest codesRequest) {
|
||||||
|
if (null == codesRequest || StrUtil.isBlank(codesRequest.getOrderIdFk()) || StrUtil.isBlank(codesRequest.getRelId()) || StrUtil.isBlank(codesRequest.getCode())) {
|
||||||
|
return ResultVOUtils.success(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountCodesService.deleteCode(codesRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加条码
|
||||||
|
*
|
||||||
|
* @param invCountCodes
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/inv/count/codes/addCode")
|
||||||
|
public BaseResponse addCode(@RequestBody InvCountCodesEntity invCountCodes) {
|
||||||
|
if (null == invCountCodes || StrUtil.isBlank(invCountCodes.getCode())) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountCodesService.addCode(invCountCodes);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据此盘点单据号统计条码数量
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/inv/count/codes/getCountOrderCodesNum")
|
||||||
|
public BaseResponse getCountOrderCodesNum(String orderIdFk) {
|
||||||
|
if (StrUtil.isBlank(orderIdFk)) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
Long codesNum = invCountCodesService.getCountOrderCodesNum(orderIdFk);
|
||||||
|
return ResultVOUtils.success(codesNum);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,194 @@
|
|||||||
|
package com.glxp.api.controller.inv;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
||||||
|
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.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.inv.AddInvCountOrderSaveRequest;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderRequest;
|
||||||
|
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.inv.InvCountOrderResponse;
|
||||||
|
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 org.springframework.validation.BindingResult;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
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.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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单接口
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
public class InvCountOrderController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderService invCountOrderService;
|
||||||
|
@Resource
|
||||||
|
private SystemPDFTemplateService systemPDFTemplateService;
|
||||||
|
@Resource
|
||||||
|
private SystemPDFModuleService systemPDFModuleService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单列表
|
||||||
|
*
|
||||||
|
* @param filterInvCountOrderRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@GetMapping("/inv/count/order/filter")
|
||||||
|
public BaseResponse filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
|
||||||
|
List<InvCountOrderResponse> list = invCountOrderService.filterList(filterInvCountOrderRequest);
|
||||||
|
PageInfo<InvCountOrderResponse> pageInfo = new PageInfo<>(list);
|
||||||
|
PageSimpleResponse<InvCountOrderResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
||||||
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
||||||
|
pageSimpleResponse.setList(pageInfo.getList());
|
||||||
|
return ResultVOUtils.success(pageSimpleResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除盘点单据
|
||||||
|
*
|
||||||
|
* @param deleteRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/inv/count/order/delete")
|
||||||
|
public BaseResponse delete(@RequestBody DeleteRequest deleteRequest) {
|
||||||
|
invCountOrderService.deleteOrder(deleteRequest.getId());
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 网页新增盘点单据
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/inv/count/order/saveCountOrder")
|
||||||
|
public BaseResponse saveCountOrder(@RequestBody InvCountOrderEntity invCountOrder, BindingResult bindingResult) {
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (null == invCountOrder) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountOrderService.saveCountOrder(invCountOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 提交审核
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@GetMapping("/inv/count/order/submitAudit")
|
||||||
|
public BaseResponse submitAudit(String id) {
|
||||||
|
if (StrUtil.isBlank(id)) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountOrderService.submitAudit(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新盘点单据状态
|
||||||
|
*
|
||||||
|
* @param filterInvCountOrderRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/invCount/order/updateCountOrderStatus")
|
||||||
|
public BaseResponse updateCountOrderStatus(@RequestBody FilterInvCountOrderRequest filterInvCountOrderRequest) {
|
||||||
|
if (null == filterInvCountOrderRequest || StrUtil.isBlank(filterInvCountOrderRequest.getId()) || null == filterInvCountOrderRequest.getStatus()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountOrderService.updateCountOrderStatus(filterInvCountOrderRequest.getId(), filterInvCountOrderRequest.getStatus());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 校验模板文件
|
||||||
|
*
|
||||||
|
* @param inspectionPDFTemplateRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/invCount/order/verifyTemplateFile")
|
||||||
|
public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) {
|
||||||
|
if (null == inspectionPDFTemplateRequest) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!");
|
||||||
|
}
|
||||||
|
//查询模板文件是否存在
|
||||||
|
FilterPdfModuleRequest systemPDFModuleRequest = new FilterPdfModuleRequest();
|
||||||
|
systemPDFModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId());
|
||||||
|
SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(systemPDFModuleRequest);
|
||||||
|
if (null == systemPDFModule) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误");
|
||||||
|
}
|
||||||
|
|
||||||
|
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId()));
|
||||||
|
if (null == systemPDFTemplateEntity) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误");
|
||||||
|
}
|
||||||
|
return ResultVOUtils.success(systemPDFModule.getTemplateId());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 打印模板单号标签
|
||||||
|
*
|
||||||
|
* @param invCountOrderPrintRequest
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/invCount/order/printOrder")
|
||||||
|
public void printOrder(@RequestBody InvCountOrderPrintRequest invCountOrderPrintRequest, HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(invCountOrderPrintRequest.getTemplateId());
|
||||||
|
//打印单号标签
|
||||||
|
Map<String, Object> data = new HashMap<>(1);
|
||||||
|
data.put("orderId", invCountOrderPrintRequest.getOrderId());
|
||||||
|
Map<String, List<Map<String, Object>>> printData = new HashMap<>(1);
|
||||||
|
printData.put("data", Arrays.asList(data));
|
||||||
|
JasperUtils.jasperReport(request, response, JSONUtil.toJsonStr(printData), systemPDFTemplateEntity.getPath(), "pdf");
|
||||||
|
}
|
||||||
|
|
||||||
|
//------------------------------------------------------手持终端接口---------------------------------------------------------------
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持终端新增盘点单据接口
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AuthRuleAnnotation("")
|
||||||
|
@PostMapping("/invCount/order/saveCountOrderForPDA")
|
||||||
|
public BaseResponse saveCountOrderForPDA(@RequestBody @Valid AddInvCountOrderSaveRequest addInvCountOrderSaveRequest, BindingResult bindingResult) {
|
||||||
|
if (bindingResult.hasErrors()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
||||||
|
}
|
||||||
|
return invCountOrderService.saveCountOrderForPDA(addInvCountOrderSaveRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,75 @@
|
|||||||
|
package com.glxp.api.controller.inv;
|
||||||
|
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.github.pagehelper.PageInfo;
|
||||||
|
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.entity.inv.InvCountOrderDetailEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest;
|
||||||
|
import com.glxp.api.res.PageSimpleResponse;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderDetailResponse;
|
||||||
|
import com.glxp.api.service.inv.InvCountOrderDetailService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
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 java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单详情接口
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@RestController
|
||||||
|
public class InvCountOrderDetailController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderDetailService invCountOrderDetailService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据详情
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@GetMapping("/inv/count/order/detail/filter")
|
||||||
|
public BaseResponse filterList(FilterInvCountOrderDetailRequest detailRequest) {
|
||||||
|
List<InvCountOrderDetailResponse> list = invCountOrderDetailService.filterCountDetail(detailRequest);
|
||||||
|
PageInfo<InvCountOrderDetailResponse> pageInfo = new PageInfo<>(list);
|
||||||
|
PageSimpleResponse<InvCountOrderDetailResponse> pageSimpleResponse = new PageSimpleResponse<>();
|
||||||
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
||||||
|
pageSimpleResponse.setList(pageInfo.getList());
|
||||||
|
return ResultVOUtils.success(pageSimpleResponse);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除盘点单据详情
|
||||||
|
*
|
||||||
|
* @param detailRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/inv/count/order/detail/deleteOrderDetail")
|
||||||
|
public BaseResponse deleteOrderDetail(@RequestBody FilterInvCountOrderDetailRequest detailRequest) {
|
||||||
|
if (null == detailRequest || null == detailRequest.getId()) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountOrderDetailService.deleteOrderDetail(detailRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加产品详情
|
||||||
|
*
|
||||||
|
* @param invCountOrderDetail
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@PostMapping("/inv/count/order/detail/addCountOrderDetail")
|
||||||
|
public BaseResponse addCountOrderDetail(@RequestBody InvCountOrderDetailEntity invCountOrderDetail) {
|
||||||
|
if (null == invCountOrderDetail || StrUtil.isBlank(invCountOrderDetail.getOrderIdFk()) || StrUtil.isBlank(invCountOrderDetail.getRelId())) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL);
|
||||||
|
}
|
||||||
|
return invCountOrderDetailService.addCountOrderDetail(invCountOrderDetail);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,79 @@
|
|||||||
|
package com.glxp.api.dao.inv;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.glxp.api.entity.inv.InvCountCodesEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountCodesRequest;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据码表Dao
|
||||||
|
*/
|
||||||
|
public interface InvCountCodesDao extends BaseMapper<InvCountCodesEntity> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单号删除盘点单据码详情
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
*/
|
||||||
|
void deleteByOrderId(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据码详情
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountCodesEntity> filterList(FilterInvCountCodesRequest codesRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单据ID统计条码数量
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long countByOrderIdFk(@Param("orderIdFk") String orderIdFk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单据号统计条码数量
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long countByOrderId(@Param("orderIdFk") String orderIdFk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据条码和盘点单号统计数量
|
||||||
|
*
|
||||||
|
* @param code
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long selectCountByCodeAndOrderId(@Param("code") String code, @Param("orderIdFk") String orderIdFk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 清空盘点单据相关字段
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
*/
|
||||||
|
void resetCountFiledValue(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单号和产品ID查询码表
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @param productId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountCodesEntity> selectByOrderIdAndProductId(@Param("orderIdFk") String orderIdFk, @Param("productId") String productId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据码详情集合
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<String> selectCodes(FilterInvCountCodesRequest codesRequest);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.glxp.api.dao.inv;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderResponse;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据表Dao
|
||||||
|
*/
|
||||||
|
public interface InvCountOrderDao extends BaseMapper<InvCountOrderEntity> {
|
||||||
|
|
||||||
|
/***
|
||||||
|
* 查询盘点单据数据
|
||||||
|
* @param filterInvCountOrderRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据id查询盘点单号
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
String selectOrderIdById(@Param("id") String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据仓库和货位码统计盘点单数量
|
||||||
|
*
|
||||||
|
* @param deptCode 部门编码
|
||||||
|
* @param invCode 仓库编码
|
||||||
|
* @param invSpaceCode 货位编码
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Integer countBySpaceCode(@Param("deptCode") String deptCode, @Param("invCode") String invCode, @Param("invSpaceCode") String invSpaceCode);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单号更新单据信息
|
||||||
|
*
|
||||||
|
* @param invCountOrder
|
||||||
|
*/
|
||||||
|
void updateByOrderId(InvCountOrderEntity invCountOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单据号查询盘点单据信息
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
InvCountOrderEntity selectByOrderId(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单据号删除单据
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
*/
|
||||||
|
void deleteByOrderId(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,86 @@
|
|||||||
|
package com.glxp.api.dao.inv;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderDetailEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderDetailResponse;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据详情Dao
|
||||||
|
*/
|
||||||
|
public interface InvCountOrderDetailDao extends BaseMapper<InvCountOrderDetailEntity> {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单号删除单据详情
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
*/
|
||||||
|
void deleteByOrderId(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据详情
|
||||||
|
*
|
||||||
|
* @param detailRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderDetailEntity> filterList(FilterInvCountOrderDetailRequest detailRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单据ID统计单据详情数量
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long countByOrderIdFk(@Param("orderIdFk") String orderIdFk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据详情
|
||||||
|
*
|
||||||
|
* @param detailRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderDetailResponse> filterCountDetail(FilterInvCountOrderDetailRequest detailRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据产品ID和盘点单号删除条码
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @param productId
|
||||||
|
*/
|
||||||
|
void deleteByOrderIdAndProductId(@Param("orderIdFk") String orderIdFk, @Param("productId") String productId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据单据号和产品DI查询单据详情
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @param nameCode
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
InvCountOrderDetailEntity selectOrderDetail(@Param("orderIdFk") String orderIdFk, @Param("nameCode") String nameCode, @Param("batchNo") String batchNo, @Param("produceDate") String produceDate, @Param("expireDate") String expireDate);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询此盘点单的单据详情
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderDetailEntity> selectByOrderId(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 置空盘点相关字段值
|
||||||
|
*
|
||||||
|
* @param orderId
|
||||||
|
*/
|
||||||
|
void resetCountFiledValue(@Param("orderId") String orderId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量更新盘点单据详情
|
||||||
|
*
|
||||||
|
* @param list
|
||||||
|
*/
|
||||||
|
int updateBatch(List<InvCountOrderDetailEntity> list);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
package com.glxp.api.req.inv;
|
||||||
|
|
||||||
|
import com.glxp.api.entity.inv.InvCountCodesEntity;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.NotEmpty;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持终端盘点单据保存接口参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class AddInvCountOrderSaveRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单号
|
||||||
|
*/
|
||||||
|
@NotBlank(message = "盘点单号为空")
|
||||||
|
private String orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 条码
|
||||||
|
*/
|
||||||
|
@NotEmpty(message = "盘点产品不能为空")
|
||||||
|
private List<InvCountCodesEntity> countCodeList;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,37 @@
|
|||||||
|
package com.glxp.api.req.inv;
|
||||||
|
|
||||||
|
import com.glxp.api.util.page.ListPageRequest;
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据码详情查询参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class FilterInvCountCodesRequest extends ListPageRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单号
|
||||||
|
*/
|
||||||
|
private String orderIdFk;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 产品ID
|
||||||
|
*/
|
||||||
|
private String relId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批次号
|
||||||
|
*/
|
||||||
|
private String batchNo;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 码
|
||||||
|
*/
|
||||||
|
private String code;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 状态
|
||||||
|
*/
|
||||||
|
private Integer status;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,21 @@
|
|||||||
|
package com.glxp.api.req.inv;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据打印参数
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class InvCountOrderPrintRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单号
|
||||||
|
*/
|
||||||
|
private String orderId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 模板ID
|
||||||
|
*/
|
||||||
|
private String templateId;
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
package com.glxp.api.service.inv;
|
||||||
|
|
||||||
|
import com.glxp.api.common.res.BaseResponse;
|
||||||
|
import com.glxp.api.entity.inv.InvCountCodesEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountCodesRequest;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据码Service
|
||||||
|
*/
|
||||||
|
public interface InvCountCodesService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据码详情
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountCodesEntity> filterList(FilterInvCountCodesRequest codesRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据移除条码
|
||||||
|
*
|
||||||
|
* @param codesRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse deleteCode(FilterInvCountCodesRequest codesRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加条码
|
||||||
|
*
|
||||||
|
* @param invCountCodes
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse addCode(InvCountCodesEntity invCountCodes);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据盘点单号统计条码数量
|
||||||
|
*
|
||||||
|
* @param orderIdFk
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
Long getCountOrderCodesNum(String orderIdFk);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,40 @@
|
|||||||
|
package com.glxp.api.service.inv;
|
||||||
|
|
||||||
|
import com.glxp.api.common.res.BaseResponse;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderDetailEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderDetailResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据详情Service
|
||||||
|
*/
|
||||||
|
public interface InvCountOrderDetailService {
|
||||||
|
|
||||||
|
List<InvCountOrderDetailEntity> filterList(FilterInvCountOrderDetailRequest detailRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单据详情
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderDetailResponse> filterCountDetail(FilterInvCountOrderDetailRequest detailRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除盘点单据详情
|
||||||
|
*
|
||||||
|
* @param detailRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse deleteOrderDetail(FilterInvCountOrderDetailRequest detailRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加单据详情
|
||||||
|
*
|
||||||
|
* @param invCountOrderDetail
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse addCountOrderDetail(InvCountOrderDetailEntity invCountOrderDetail);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
package com.glxp.api.service.inv;
|
||||||
|
|
||||||
|
import com.glxp.api.common.res.BaseResponse;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderEntity;
|
||||||
|
import com.glxp.api.req.inv.AddInvCountOrderSaveRequest;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderResponse;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据Service
|
||||||
|
*/
|
||||||
|
public interface InvCountOrderService {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询盘点单列表
|
||||||
|
*
|
||||||
|
* @param filterInvCountOrderRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除盘点单
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
*/
|
||||||
|
void deleteOrder(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 新增盘点单
|
||||||
|
*
|
||||||
|
* @param invCountOrder
|
||||||
|
*/
|
||||||
|
BaseResponse saveCountOrder(InvCountOrderEntity invCountOrder);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 盘点单据提交审核
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse submitAudit(String id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新盘点单据状态
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @param status
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse updateCountOrderStatus(String id, Integer status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 手持终端保存盘点单据
|
||||||
|
*
|
||||||
|
* @param addInvCountOrderSaveRequest
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
BaseResponse saveCountOrderForPDA(AddInvCountOrderSaveRequest addInvCountOrderSaveRequest);
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,81 @@
|
|||||||
|
package com.glxp.api.service.inv.impl;
|
||||||
|
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
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.dao.inv.InvCountOrderDao;
|
||||||
|
import com.glxp.api.dao.inv.InvCountOrderDetailDao;
|
||||||
|
import com.glxp.api.dao.inv.InvProductDao;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderDetailEntity;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderEntity;
|
||||||
|
import com.glxp.api.entity.inv.InvProductEntity;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderDetailRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderDetailResponse;
|
||||||
|
import com.glxp.api.service.inv.InvCountOrderDetailService;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class InvCountOrderDetailServiceImpl implements InvCountOrderDetailService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderDetailDao invCountOrderDetailDao;
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderDao invCountOrderDao;
|
||||||
|
@Resource
|
||||||
|
private InvProductDao invProductDao;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InvCountOrderDetailEntity> filterList(FilterInvCountOrderDetailRequest detailRequest) {
|
||||||
|
if (null == detailRequest) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (null != detailRequest.getPage() && null != detailRequest.getLimit()) {
|
||||||
|
PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit());
|
||||||
|
}
|
||||||
|
return invCountOrderDetailDao.filterList(detailRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InvCountOrderDetailResponse> filterCountDetail(FilterInvCountOrderDetailRequest detailRequest) {
|
||||||
|
if (null == detailRequest) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (null != detailRequest.getPage() && null != detailRequest.getLimit()) {
|
||||||
|
PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit());
|
||||||
|
}
|
||||||
|
return invCountOrderDetailDao.filterCountDetail(detailRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse deleteOrderDetail(FilterInvCountOrderDetailRequest detailRequest) {
|
||||||
|
InvCountOrderDetailEntity invCountOrderDetail = invCountOrderDetailDao.selectById(detailRequest.getId());
|
||||||
|
if (null == invCountOrderDetail) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_NOT);
|
||||||
|
}
|
||||||
|
//删除盘点单据详情
|
||||||
|
invCountOrderDetailDao.deleteById(detailRequest.getId());
|
||||||
|
//删除盘点单据详情的条码数据
|
||||||
|
invCountOrderDetailDao.deleteByOrderIdAndProductId(invCountOrderDetail.getOrderIdFk(), invCountOrderDetail.getRelId());
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse addCountOrderDetail(InvCountOrderDetailEntity invCountOrderDetail) {
|
||||||
|
//查询单据信息
|
||||||
|
InvCountOrderEntity invCountOrder = invCountOrderDao.selectByOrderId(invCountOrderDetail.getOrderIdFk());
|
||||||
|
InvProductEntity invProductEntity = invProductDao.selectProductInfo(invCountOrderDetail.getRelId(), invCountOrderDetail.getBatchNo(), invCountOrder.getDeptCode(), invCountOrder.getInvCode(), invCountOrder.getInvSpaceCode());
|
||||||
|
invCountOrderDetail.setInvNum(invProductEntity.getInCount() - invProductEntity.getOutCount());
|
||||||
|
invCountOrderDetail.setCountNum(0);
|
||||||
|
invCountOrderDetailDao.insert(invCountOrderDetail);
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,233 @@
|
|||||||
|
package com.glxp.api.service.inv.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
|
import cn.hutool.core.thread.ThreadUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
|
import com.github.pagehelper.PageHelper;
|
||||||
|
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.Constant;
|
||||||
|
import com.glxp.api.dao.basic.BasicBusTypeChangeDao;
|
||||||
|
import com.glxp.api.dao.basic.BasicBussinessTypeDao;
|
||||||
|
import com.glxp.api.dao.basic.BasicCorpDao;
|
||||||
|
import com.glxp.api.dao.inout.IoCodeDao;
|
||||||
|
import com.glxp.api.dao.inout.IoCodeTempDao;
|
||||||
|
import com.glxp.api.dao.inout.IoOrderDao;
|
||||||
|
import com.glxp.api.dao.inv.InvCountCodesDao;
|
||||||
|
import com.glxp.api.dao.inv.InvCountOrderDao;
|
||||||
|
import com.glxp.api.dao.inv.InvCountOrderDetailDao;
|
||||||
|
import com.glxp.api.dao.inv.InvProductDetailDao;
|
||||||
|
import com.glxp.api.entity.auth.AuthAdmin;
|
||||||
|
import com.glxp.api.entity.inv.InvCountCodesEntity;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderDetailEntity;
|
||||||
|
import com.glxp.api.entity.inv.InvCountOrderEntity;
|
||||||
|
import com.glxp.api.req.inv.AddInvCountOrderSaveRequest;
|
||||||
|
import com.glxp.api.req.inv.FilterInvCountOrderRequest;
|
||||||
|
import com.glxp.api.res.inv.InvCountOrderResponse;
|
||||||
|
import com.glxp.api.service.auth.CustomerService;
|
||||||
|
import com.glxp.api.service.basic.CompanyProductsRelService;
|
||||||
|
import com.glxp.api.service.inv.InvCountCodesService;
|
||||||
|
import com.glxp.api.service.inv.InvCountOrderService;
|
||||||
|
import com.glxp.api.util.GennerOrderUtils;
|
||||||
|
import com.glxp.api.util.OrderNoTypeBean;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Slf4j
|
||||||
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class InvCountOrderServiceImpl implements InvCountOrderService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderDao invCountOrderDao;
|
||||||
|
@Resource
|
||||||
|
private InvCountOrderDetailDao invCountOrderDetailDao;
|
||||||
|
@Resource
|
||||||
|
private InvCountCodesDao invCountCodesDao;
|
||||||
|
@Resource
|
||||||
|
private GennerOrderUtils gennerOrderUtils;
|
||||||
|
@Resource
|
||||||
|
private CustomerService customerService;
|
||||||
|
@Resource
|
||||||
|
private InvProductDetailDao invProductDetailDao;
|
||||||
|
@Resource
|
||||||
|
private BasicBusTypeChangeDao busTypeChangeDao;
|
||||||
|
@Resource
|
||||||
|
private BasicBussinessTypeDao bussinessTypeDao;
|
||||||
|
@Resource
|
||||||
|
private BasicCorpDao corpDao;
|
||||||
|
@Resource
|
||||||
|
private IoOrderDao orderDao;
|
||||||
|
@Resource
|
||||||
|
private IoCodeTempDao codesTempDao;
|
||||||
|
@Resource
|
||||||
|
private InvCountCodesService invCountCodesService;
|
||||||
|
@Resource
|
||||||
|
private IoCodeDao codesDao;
|
||||||
|
@Resource
|
||||||
|
private CompanyProductsRelService companyProductsRelService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<InvCountOrderResponse> filterList(FilterInvCountOrderRequest filterInvCountOrderRequest) {
|
||||||
|
if (null == filterInvCountOrderRequest) {
|
||||||
|
return Collections.emptyList();
|
||||||
|
}
|
||||||
|
if (null != filterInvCountOrderRequest.getPage() && null != filterInvCountOrderRequest.getLimit()) {
|
||||||
|
PageHelper.offsetPage((filterInvCountOrderRequest.getPage() - 1) * filterInvCountOrderRequest.getLimit(), filterInvCountOrderRequest.getLimit());
|
||||||
|
}
|
||||||
|
return invCountOrderDao.filterList(filterInvCountOrderRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteOrder(String id) {
|
||||||
|
String orderId = invCountOrderDao.selectOrderIdById(id);
|
||||||
|
log.info("开始删除盘点单据,盘点单号: {}", orderId);
|
||||||
|
invCountOrderDao.deleteByOrderId(orderId);
|
||||||
|
if (invCountOrderDetailDao.countByOrderIdFk(orderId) > 0) {
|
||||||
|
invCountOrderDetailDao.deleteByOrderId(orderId);
|
||||||
|
}
|
||||||
|
if (invCountCodesDao.countByOrderIdFk(orderId) > 0) {
|
||||||
|
invCountCodesDao.deleteByOrderId(orderId);
|
||||||
|
}
|
||||||
|
log.info("盘点单据删除完成");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse saveCountOrder(InvCountOrderEntity invCountOrder) {
|
||||||
|
//TODO 确认一下盘点单据的部门是由前端选入还是后端获取
|
||||||
|
if (invCountOrder.getCountType() == 0 || invCountOrder.getCountType() == 2) {
|
||||||
|
//整库盘点
|
||||||
|
if (StrUtil.isBlank(invCountOrder.getInvCode())) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请选择仓库信息!");
|
||||||
|
}
|
||||||
|
} else if (invCountOrder.getCountType() == 1) {
|
||||||
|
//货位盘点
|
||||||
|
if (StrUtil.isBlank(invCountOrder.getInvCode()) || StrUtil.isBlank(invCountOrder.getInvCode()) || StrUtil.isBlank(invCountOrder.getInvSpaceCode())) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请选择仓库和货位信息!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//封装相关数据
|
||||||
|
//未提交
|
||||||
|
invCountOrder.setStatus(0);
|
||||||
|
|
||||||
|
if (StrUtil.isBlank(invCountOrder.getOrderId())) {
|
||||||
|
//生成单据号
|
||||||
|
String orderId = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.COUNT_ORDER, "yyyyMMdd"));
|
||||||
|
//盘点单号
|
||||||
|
invCountOrder.setOrderId(orderId);
|
||||||
|
AuthAdmin user = customerService.getUserBean();
|
||||||
|
invCountOrder.setCreateUser(user.getUserName());
|
||||||
|
invCountOrder.setCreateTime(new Date());
|
||||||
|
invCountOrder.setUpdateTime(new Date());
|
||||||
|
invCountOrderDao.insert(invCountOrder);
|
||||||
|
} else {
|
||||||
|
InvCountOrderEntity oldData = invCountOrderDao.selectByOrderId(invCountOrder.getOrderId());
|
||||||
|
BeanUtil.copyProperties(invCountOrder, oldData, "id", "createTime", "createUser");
|
||||||
|
oldData.setUpdateTime(new Date());
|
||||||
|
invCountOrderDao.updateByOrderId(oldData);
|
||||||
|
}
|
||||||
|
return ResultVOUtils.success(invCountOrder);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse submitAudit(String id) {
|
||||||
|
InvCountOrderEntity invCountOrder = invCountOrderDao.selectById(Integer.valueOf(id));
|
||||||
|
if (null == invCountOrder) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "单据不存在");
|
||||||
|
}
|
||||||
|
if (invCountOrder.getStatus() != 0) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "单据已提交,请勿重复提交");
|
||||||
|
}
|
||||||
|
//查询单据详情和码表是否存在,如果无单据详情和条码,不允许提交
|
||||||
|
Long detailCount = invCountOrderDetailDao.countByOrderIdFk(invCountOrder.getOrderId());
|
||||||
|
if (detailCount == 0) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "请先选择盘点产品");
|
||||||
|
}
|
||||||
|
|
||||||
|
Long codesCount = invCountCodesDao.countByOrderIdFk(invCountOrder.getOrderId());
|
||||||
|
if (codesCount == 0) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.DATA_ERROR, "请扫描需要盘点的产品");
|
||||||
|
}
|
||||||
|
//更新状态
|
||||||
|
invCountOrder.setStatus(1);
|
||||||
|
invCountOrder.setUpdateTime(new Date());
|
||||||
|
//查询单据详情,计算盘点盈亏状态
|
||||||
|
List<InvCountOrderDetailEntity> detailList = invCountOrderDetailDao.selectByOrderId(invCountOrder.getOrderId());
|
||||||
|
for (InvCountOrderDetailEntity invCountOrderDetail : detailList) {
|
||||||
|
int diff = invCountOrderDetail.getInvNum() - invCountOrderDetail.getCountNum();
|
||||||
|
if (diff > 0) {
|
||||||
|
invCountOrderDetail.setLossNum(Math.abs(diff));
|
||||||
|
//盘亏
|
||||||
|
invCountOrderDetail.setStatus(0);
|
||||||
|
} else if (diff < 0) {
|
||||||
|
invCountOrderDetail.setProfitNum(Math.abs(diff));
|
||||||
|
//盘盈
|
||||||
|
invCountOrderDetail.setStatus(1);
|
||||||
|
} else {
|
||||||
|
//平衡
|
||||||
|
invCountOrderDetail.setStatus(2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//更新单据信息
|
||||||
|
invCountOrderDao.updateById(invCountOrder);
|
||||||
|
//更新单据详情
|
||||||
|
invCountOrderDetailDao.updateBatch(detailList);
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse updateCountOrderStatus(String id, Integer status) {
|
||||||
|
InvCountOrderEntity invCountOrder = invCountOrderDao.selectById(Integer.valueOf(id));
|
||||||
|
invCountOrder.setStatus(status);
|
||||||
|
invCountOrder.setAuditUser(customerService.getUserBean().getUserName());
|
||||||
|
invCountOrder.setAuditTime(new Date());
|
||||||
|
invCountOrder.setUpdateTime(new Date());
|
||||||
|
if (status == 0) {
|
||||||
|
//审核不通过
|
||||||
|
//查询盘点单据详情,清空盘盈/盘亏数值
|
||||||
|
invCountOrderDetailDao.resetCountFiledValue(invCountOrder.getOrderId());
|
||||||
|
} else {
|
||||||
|
//审核通过
|
||||||
|
//根据单据详情生成相关单据
|
||||||
|
log.info("单据审核通过,开始生成扫码单据");
|
||||||
|
ThreadUtil.execAsync(() -> {
|
||||||
|
countOrderTransfer(invCountOrder);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
invCountOrderDao.updateById(invCountOrder);
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
|
||||||
|
//TODO 盘点单据转单逻辑,待完善
|
||||||
|
private void countOrderTransfer(InvCountOrderEntity invCountOrder) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BaseResponse saveCountOrderForPDA(AddInvCountOrderSaveRequest addInvCountOrderSaveRequest) {
|
||||||
|
InvCountOrderEntity invCountOrder = invCountOrderDao.selectByOrderId(addInvCountOrderSaveRequest.getOrderId());
|
||||||
|
if (null == invCountOrder) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此单据不存在");
|
||||||
|
}
|
||||||
|
if (invCountOrder.getStatus() != 0) {
|
||||||
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此单据不可编辑");
|
||||||
|
}
|
||||||
|
//解析条码,修改单据详情,修改单据状态为待审核
|
||||||
|
invCountOrder.setStatus(1);
|
||||||
|
invCountOrder.setUpdateTime(new Date());
|
||||||
|
List<InvCountCodesEntity> countCodeList = addInvCountOrderSaveRequest.getCountCodeList();
|
||||||
|
for (InvCountCodesEntity invCountCodes : countCodeList) {
|
||||||
|
invCountCodesService.addCode(invCountCodes);
|
||||||
|
}
|
||||||
|
submitAudit(invCountOrder.getId().toString());
|
||||||
|
return ResultVOUtils.success();
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,79 @@
|
|||||||
|
<?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.inv.InvCountCodesDao">
|
||||||
|
<delete id="deleteByOrderId">
|
||||||
|
delete
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="filterList" resultType="com.glxp.api.entity.inv.InvCountCodesEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_codes
|
||||||
|
<where>
|
||||||
|
<if test="orderIdFk != null and orderIdFk != ''">
|
||||||
|
AND orderIdFk = #{orderIdFk}
|
||||||
|
</if>
|
||||||
|
<if test="relId != null and relId != ''">
|
||||||
|
AND relId = #{relId}
|
||||||
|
</if>
|
||||||
|
<if test="code != null and code != ''">
|
||||||
|
AND code like concat('%', #{code}, '%')
|
||||||
|
</if>
|
||||||
|
<if test="status != null">
|
||||||
|
AND status = #{status}
|
||||||
|
</if>
|
||||||
|
<if test="batchNo != null and batchNo != ''">
|
||||||
|
AND batchNo = #{batchNo}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countByOrderIdFk" resultType="java.lang.Long">
|
||||||
|
select count(*)
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countByOrderId" resultType="java.lang.Long">
|
||||||
|
select sum(count)
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCountByCodeAndOrderId" resultType="java.lang.Long">
|
||||||
|
select count(*)
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
and code = #{code}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="resetCountFiledValue">
|
||||||
|
update inv_count_codes
|
||||||
|
set status = null
|
||||||
|
where orderIdFk = #{orderId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="selectByOrderIdAndProductId" resultType="com.glxp.api.entity.inv.InvCountCodesEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
and relId = #{productId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectCodes" resultType="java.lang.String">
|
||||||
|
select code
|
||||||
|
from inv_count_codes
|
||||||
|
<where>
|
||||||
|
<if test="orderIdFk != null and orderIdFk != ''">
|
||||||
|
AND orderIdFk = #{orderIdFk}
|
||||||
|
</if>
|
||||||
|
<if test="relId != null and relId != ''">
|
||||||
|
AND relId = #{relId
|
||||||
|
</if>
|
||||||
|
<if test="batchNo != null and batchNo != ''">
|
||||||
|
AND batchNo = #{batchNo}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
</mapper>
|
@ -0,0 +1,96 @@
|
|||||||
|
<?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.inv.InvCountOrderDao">
|
||||||
|
<select id="filterList" resultType="com.glxp.api.res.inv.InvCountOrderResponse">
|
||||||
|
select co.id,
|
||||||
|
co.orderId,
|
||||||
|
co.deptCode,
|
||||||
|
co.invCode,
|
||||||
|
co.invSpaceCode,
|
||||||
|
co.invSpaceCode,
|
||||||
|
co.createUser,
|
||||||
|
co.createTime,
|
||||||
|
co.updateTime,
|
||||||
|
co.auditUser,
|
||||||
|
co.auditTime,
|
||||||
|
co.status,
|
||||||
|
co.remark,
|
||||||
|
co.inOrderIds,
|
||||||
|
co.outOrderIds,
|
||||||
|
co.countType,
|
||||||
|
(select `name` from auth_dept where code = co.deptCode) deptName,
|
||||||
|
(select `name` from auth_warehouse where code = co.invCode) invName,
|
||||||
|
(select `name` from auth_space where code = co.invSpaceCode) invSpaceName
|
||||||
|
from inv_count_order co
|
||||||
|
<where>
|
||||||
|
<if test="invCode != null and invCode != ''">
|
||||||
|
AND co.invCode = #{invCode}
|
||||||
|
</if>
|
||||||
|
<if test="invSpaceCode != null and invSpaceCode != ''">
|
||||||
|
AND co.invSpaceCode = #{invSpaceCode}
|
||||||
|
</if>
|
||||||
|
<if test="invSpaceCode != null and invSpaceCode != ''">
|
||||||
|
AND co.invSpaceCode = #{invSpaceCode}
|
||||||
|
</if>
|
||||||
|
<if test="status != null">
|
||||||
|
AND co.status = #{status}
|
||||||
|
</if>
|
||||||
|
<if test="orderId != null and orderId != ''">
|
||||||
|
AND co.orderId like concat('%', #{orderId}, '%')
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
order by co.updateTime desc
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectOrderIdById" resultType="java.lang.String">
|
||||||
|
select orderId
|
||||||
|
from inv_count_order
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countBySpaceCode" resultType="java.lang.Integer">
|
||||||
|
select count(*)
|
||||||
|
from inv_count_order
|
||||||
|
<where>
|
||||||
|
<if test="deptCode != null and deptCode != ''">
|
||||||
|
AND deptCode = #{deptCode}
|
||||||
|
</if>
|
||||||
|
<if test="invCode != null and invCode != ''">
|
||||||
|
AND invCode = #{invCode}
|
||||||
|
</if>
|
||||||
|
<if test="invSpaceCode != null and invSpaceCode != ''">
|
||||||
|
AND invSpaceCode = #{invSpaceCode}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="updateByOrderId">
|
||||||
|
update inv_count_order
|
||||||
|
set deptCode = #{deptCode,jdbcType=VARCHAR},
|
||||||
|
invCode = #{invCode,jdbcType=VARCHAR},
|
||||||
|
invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR},
|
||||||
|
`createUser` = #{createUser,jdbcType=VARCHAR},
|
||||||
|
createTime = #{createTime,jdbcType=TIMESTAMP},
|
||||||
|
updateTime = #{updateTime,jdbcType=TIMESTAMP},
|
||||||
|
auditUser = #{auditUser,jdbcType=VARCHAR},
|
||||||
|
auditTime = #{auditTime,jdbcType=TIMESTAMP},
|
||||||
|
`status` = #{status,jdbcType=BOOLEAN},
|
||||||
|
remark = #{remark,jdbcType=VARCHAR},
|
||||||
|
inOrderIds = #{inOrderIds,jdbcType=VARCHAR},
|
||||||
|
outOrderIds = #{outOrderIds,jdbcType=VARCHAR},
|
||||||
|
countType = #{countType,jdbcType=INTEGER}
|
||||||
|
where orderId = #{orderId}
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<select id="selectByOrderId" resultType="com.glxp.api.entity.inv.InvCountOrderEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_order
|
||||||
|
where orderId = #{orderId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteByOrderId">
|
||||||
|
delete
|
||||||
|
from inv_count_order
|
||||||
|
where orderId = #{orderId}
|
||||||
|
</delete>
|
||||||
|
</mapper>
|
@ -0,0 +1,150 @@
|
|||||||
|
<?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.inv.InvCountOrderDetailDao">
|
||||||
|
<delete id="deleteByOrderId">
|
||||||
|
delete
|
||||||
|
from inv_count_order_detail
|
||||||
|
where orderIdFk = #{orderId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="filterList" resultType="com.glxp.api.entity.inv.InvCountOrderDetailEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_order_detail
|
||||||
|
<where>
|
||||||
|
<if test="orderIdFk != null and orderIdFk != ''">
|
||||||
|
AND orderIdFk = #{orderIdFk}
|
||||||
|
</if>
|
||||||
|
<if test="status != null">
|
||||||
|
AND status = #{status}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="countByOrderIdFk" resultType="java.lang.Long">
|
||||||
|
select count(*)
|
||||||
|
from inv_count_order_detail
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="filterCountDetail" resultType="com.glxp.api.res.inv.InvCountOrderDetailResponse">
|
||||||
|
select od.*, bp.cpmctymc productName, bp.ggxh, bp.ylqxzcrbarmc, bp.zczbhhzbapzbh
|
||||||
|
from inv_count_order_detail od
|
||||||
|
left join basic_udirel bu on od.relId = bu.id
|
||||||
|
left join basic_products bp on bu.uuid = bp.uuid
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
group by od.id
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteByOrderIdAndProductId">
|
||||||
|
delete
|
||||||
|
from inv_count_codes
|
||||||
|
where orderIdFk = #{orderIdFk}
|
||||||
|
and productId = #{productId}
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<select id="selectOrderDetail" resultType="com.glxp.api.entity.inv.InvCountOrderDetailEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_order_detail
|
||||||
|
<where>
|
||||||
|
<if test="nameCode != null and nameCode != ''">
|
||||||
|
AND nameCode = #{nameCode}
|
||||||
|
</if>
|
||||||
|
<if test="orderIdFk != null and orderIdFk != ''">
|
||||||
|
AND orderIdFk = #{orderIdFk}
|
||||||
|
</if>
|
||||||
|
<if test="batchNo != null and batchNo != ''">
|
||||||
|
AND batchNo = #{batchNo}
|
||||||
|
</if>
|
||||||
|
<if test="produceDate != null and produceDate != ''">
|
||||||
|
AND produceDate = #{produceDate}
|
||||||
|
</if>
|
||||||
|
<if test="expireDate != null and expireDate != ''">
|
||||||
|
AND expireDate = #{expireDate}
|
||||||
|
</if>
|
||||||
|
</where>
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByOrderId" resultType="com.glxp.api.entity.inv.InvCountOrderDetailEntity">
|
||||||
|
select *
|
||||||
|
from inv_count_order_detail
|
||||||
|
where orderIdFk = #{orderId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="resetCountFiledValue">
|
||||||
|
update inv_count_order_detail
|
||||||
|
set profitNum = null,
|
||||||
|
lossNum = null,
|
||||||
|
status = null
|
||||||
|
where orderIdFk = #{orderId}
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<update id="updateBatch" parameterType="java.util.List">
|
||||||
|
update inv_count_order_detail
|
||||||
|
<trim prefix="set" suffixOverrides=",">
|
||||||
|
<trim prefix="orderIdFk = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.orderIdFk,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="relId = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.relId,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="nameCode = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.nameCode,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="batchNo = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.batchNo,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="produceDate = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.produceDate,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="expireDate = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.expireDate,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="serialNo = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.serialNo,jdbcType=VARCHAR}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="countNum = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.countNum,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="invNum = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.invNum,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="profitNum = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.profitNum,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="lossNum = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.lossNum,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
<trim prefix="`status` = case" suffix="end,">
|
||||||
|
<foreach collection="list" index="index" item="item">
|
||||||
|
when id = #{item.id,jdbcType=INTEGER} then #{item.status,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</trim>
|
||||||
|
</trim>
|
||||||
|
where id in
|
||||||
|
<foreach close=")" collection="list" item="item" open="(" separator=", ">
|
||||||
|
#{item.id,jdbcType=INTEGER}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
</mapper>
|
Loading…
Reference in New Issue