| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.Cools; |
| | | import com.core.common.DateUtils; |
| | | import com.core.common.R; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.LocDetl; |
| | | import com.zy.asrs.entity.LocNormal; |
| | | import com.zy.asrs.entity.param.LocNormalStockOutParam; |
| | | import com.zy.asrs.entity.param.StockOutParam; |
| | | import com.zy.asrs.service.LocNormalService; |
| | | import com.zy.asrs.service.OutStockService; |
| | | import com.zy.asrs.service.WorkService; |
| | | import com.zy.common.service.erp.ErpService; |
| | | import com.zy.common.service.erp.entity.OutStockBillEntry; |
| | | import com.zy.common.web.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import net.bytebuddy.implementation.bytecode.Throw; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Slf4j |
| | | @RestController |
| | | public class OutStockController extends BaseController { |
| | | |
| | |
| | | private OutStockService outStockService; |
| | | @Autowired |
| | | private WorkService workService; |
| | | @Autowired |
| | | private LocNormalService locNormalService; |
| | | @Autowired |
| | | private ErpService erpService; |
| | | |
| | | /** |
| | | * |
| | |
| | | } |
| | | |
| | | /** |
| | | * 检索符合通知单的库存物料 |
| | | * 检索符合通知单的立库库存物料 |
| | | * @param fbillNo |
| | | * @return |
| | | */ |
| | |
| | | outStockService.startupFullTakeStore(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | |
| | | /** |
| | | * 检索符合通知单的平仓库存物料 |
| | | * @param fbillNo |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/outStock/query/locNormalList") |
| | | @ManagerAuth |
| | | public R queryMatWithLocNormal(String fbillNo) { |
| | | List<LocNormal> list = locNormalService.queryLocNorlMatnr(fbillNo); |
| | | return R.ok(list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 平仓对接erp出库 |
| | | * @param |
| | | * @return |
| | | */ |
| | | @RequestMapping(value = "/outStock/locNormal") |
| | | @ManagerAuth |
| | | public R outStockLocNormal(@RequestBody LocNormalStockOutParam param) { |
| | | Long modiUser = getUserId(); |
| | | Date modiTime = new Date(); |
| | | for (LocNormal locNormals:param.getList()) { |
| | | // erp中间表更新数据 |
| | | Integer FInterI = outStockService.queryOutStockFInterID(param.getSupplier()); // 获取出库单主表主键 |
| | | if (!erpService.incrementCPakOut(FInterI, locNormals.getMatnr(), locNormals.getAnfme().doubleValue(), param.getSupplier())) { |
| | | log.info("更新ERP成品出库数据[matnr={0}]失败", locNormals.getMatnr(), param.getSupplier()); |
| | | } |
| | | LocNormal locNormal = locNormalService.selectOne(new EntityWrapper<LocNormal>().eq("id", locNormals.getId())); |
| | | if (!Cools.isEmpty(locNormal)) { |
| | | if (locNormal.getAnfme().compareTo(locNormals.getAnfme()) == 1) { |
| | | LocNormal logLocNormal = new LocNormal(); |
| | | logLocNormal.setAnfme(locNormals.getAnfme()); |
| | | logLocNormal.setMatnr(locNormal.getMatnr()); |
| | | logLocNormal.setMaktx(locNormal.getMaktx()); |
| | | logLocNormal.setLgnum(locNormal.getLgnum()); |
| | | logLocNormal.setType(locNormal.getType()); |
| | | logLocNormal.setMnemonic(locNormal.getMnemonic()); |
| | | logLocNormal.setSupplier(locNormal.getSupplier()); |
| | | logLocNormal.setWarehouse(locNormal.getWarehouse()); |
| | | logLocNormal.setWarehouseName(locNormal.getWarehouseName()); |
| | | logLocNormal.setBrand(locNormal.getBrand()); |
| | | logLocNormal.setAltme(locNormal.getAltme()); |
| | | logLocNormal.setBname(locNormal.getBname()); |
| | | logLocNormal.setMemo(locNormal.getMemo()); |
| | | logLocNormal.setState("2"); |
| | | // 生成出库记录 |
| | | locNormalService.insert(logLocNormal); |
| | | // 更新原先平仓记录 |
| | | locNormalService.updateLocNormal(locNormal.getMatnr(), locNormal.getAnfme().subtract(locNormals.getAnfme()), modiUser, modiTime, locNormal.getId()); |
| | | } else { |
| | | // 把对应物料平仓库存出库 |
| | | locNormalService.outLocNormal(locNormals.getMatnr(), modiUser, modiTime, locNormals.getId()); |
| | | } |
| | | } |
| | | |
| | | } |
| | | return R.ok("平仓出库成功"); |
| | | } |
| | | } |