ReelNumModifyController.java 2.6 KB
package com.myproject.webapp.controller.component;

import com.google.common.base.Strings;
import com.myproject.bean.CodeBean;
import com.myproject.bean.update.Barcode;
import com.myproject.bean.update.StoragePos;
import com.myproject.exception.ValidateException;
import com.myproject.manager.IBarcodeManager;
import com.myproject.manager.IStoragePosManager;
import com.myproject.webapp.controller.storage.BaseController;
import com.myproject.webapp.controller.webService.DataCache;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;

/**
 * Created by kangmor on 2016/4/24.
 */
@Controller
public class ReelNumModifyController extends BaseController {

    @Autowired
    private IBarcodeManager barcodeManager;

    @Autowired
    private DataCache dataCache;

    @Autowired
    private IStoragePosManager storagePosManager;

    @RequestMapping("/component/ReelNumModify.html")
    public String reelNumModify(HttpServletRequest request) {
        return "component/reelNumModify";
    }

    /**
     * AJAX 提交修改料盘数量
     */
    @RequestMapping(value = "/service/store/modifyReelNum")
    @ResponseBody
    public String modifyReelNum(HttpServletRequest request) {
        String barcode = request.getParameter("code");
        String num = request.getParameter("num");
        if(Strings.isNullOrEmpty(num)){
            return "数量不能为空";
        }
        try{
            int amount = Integer.valueOf(num);
            Barcode br = dataCache.resolveOneValideBarcode(barcode);
            if(br != null){
                log.info("更新条码["+br.getBarcode()+"]的数量["+br.getAmount()+"]为:"+amount);
                br.setAmount(amount);
                barcodeManager.save(br);
                StoragePos pos = storagePosManager.getByBarcode(br.getBarcode());
                if(pos != null){
                    Barcode barcodeInPos = pos.getBarcode();
                    barcodeInPos.setAmount(amount);
                    storagePosManager.save(pos);
                    log.info("更新库位["+pos.getPosName()+"]中条码数量为:" + amount);
                }
            }
//            else{
//                throw new ValidateException(codeBean.getError());
//            }

        }catch (ValidateException ve){
            return ve.getMessage();
        }catch (Exception e){
            return e.getMessage();
        }
        return "";
    }
}