CircleController.java 4.19 KB
package com.huaheng.cycle.mobile;

import com.alibaba.fastjson.JSONException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.huaheng.common.constant.QuantityConstant;
import com.huaheng.common.core.web.domain.AjaxResult;
import com.huaheng.common.support.Convert;
import com.huaheng.common.utils.DataUtils;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.common.utils.security.ShiroUtils;
import com.huaheng.cycle.api.domain.CycleCountDetailChild;
import com.huaheng.cycle.cycle.service.CycleCountDetailChildService;
import com.huaheng.cycle.cycle.service.CycleCountDetailService;
import com.huaheng.framework.aspectj.lang.annotation.Log;
import com.huaheng.framework.aspectj.lang.constant.BusinessType;
import com.huaheng.framework.web.domain.AjaxResult;
import com.huaheng.mobile.receipt.MaterialInfo;
import com.huaheng.pc.config.container.domain.Container;
import com.huaheng.pc.config.container.service.ContainerService;
import com.huaheng.pc.config.location.domain.Location;
import com.huaheng.pc.config.location.service.LocationService;
import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetailChild;
import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailChildService;
import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
import com.huaheng.pc.inventory.cycleCountHeader.domain.CycleCountHeader;
import com.huaheng.pc.inventory.cycleCountHeader.mapper.CycleCountHeaderMapper;
import com.huaheng.pc.inventory.cycleCountHeader.service.CycleCountHeaderService;
import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
import com.huaheng.pc.inventory.inventoryHeader.domain.InventoryHeader;
import com.huaheng.pc.inventory.inventoryHeader.service.InventoryHeaderService;
import com.huaheng.pc.inventory.inventoryTransaction.domain.InventoryTransaction;
import com.huaheng.pc.inventory.inventoryTransaction.service.InventoryTransactionService;
import com.huaheng.pc.report.excelReport.mapper.ExcelReportMapper;
import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
import com.huaheng.pc.task.taskHeader.service.TransferTaskService;
import com.huaheng.pc.task.taskHeader.service.WorkTaskService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 *
 * @author Enzo Cotter
 * @date 2019/12/15
 */
@CrossOrigin
@RestController
@RequestMapping("/mobile")
@Api(tags = {"手机立体库库存相关"}, value = "手机立体库库存相关MobileInventoryController")
public class CircleController {

    @Resource
    private CycleCountDetailService cycleCountDetailService;
    @Resource
    private CycleCountDetailChildService cycleCountDetailChildService;

    /**
     * 移动端实盘登记
     * @return
     */
    @ResponseBody
    @PostMapping("/confirmGapQty")
    public AjaxResult confirmGapQty(@RequestBody List<MaterialInfo> materialInfos) {
        for(MaterialInfo materialInfo : materialInfos) {
            int detailId = materialInfo.getBillDetailId();
            BigDecimal qty = new BigDecimal(materialInfo.getQty());
            LambdaQueryWrapper<CycleCountDetailChild> cycleCountDetailChildLambdaQueryWrapper = Wrappers.lambdaQuery();
            cycleCountDetailChildLambdaQueryWrapper.eq(CycleCountDetailChild::getCycleCountDetailId, detailId)
                    .eq(CycleCountDetailChild::getMaterialCode, materialInfo.getMaterialCode());
            CycleCountDetailChild cycleCountDetailChild = cycleCountDetailChildService.getOne(cycleCountDetailChildLambdaQueryWrapper);
            AjaxResult ajaxResult = cycleCountDetailService.confirmGapQty(cycleCountDetailChild.getId(), qty);
            if(ajaxResult.hasErr()) {
                return AjaxResult.error("盘点失败");
            }
        }
        return AjaxResult.success("盘点成功");
    }

}