对比新文件 |
| | |
| | | package com.gk.firework.Controller; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.gk.firework.Controller.Base.BaseController; |
| | | import com.gk.firework.Domain.*; |
| | | import com.gk.firework.Domain.Log.JsonParams; |
| | | import com.gk.firework.Domain.Utils.FilterObject; |
| | | import com.gk.firework.Domain.Utils.Msg; |
| | | import com.gk.firework.Domain.Utils.StringUtils; |
| | | import com.gk.firework.Domain.Vo.DirectionDetail; |
| | | import com.gk.firework.Domain.Vo.FireworkDeal; |
| | | import com.gk.firework.Domain.Vo.ProductVo; |
| | | import com.gk.firework.Service.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.text.DateFormat; |
| | | import java.text.ParseException; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.*; |
| | | |
| | | import static com.gk.firework.Domain.Enum.ErrorCode.*; |
| | | import static com.gk.firework.Domain.Enum.ErrorCode.ERROR_10003; |
| | | |
| | | /** |
| | | * @author : jingjy |
| | | * @date : 2021/4/1 10:21 |
| | | */ |
| | | @Api(tags = "出库接口") |
| | | @RestController |
| | | @RequestMapping("/delivery") |
| | | public class DeliveryController extends BaseController { |
| | | @Autowired |
| | | private DeliveryOrderService deliveryOrderService; |
| | | @Autowired |
| | | private DeliveryDetailService deliveryDetailService; |
| | | @Autowired |
| | | private UserService userService; |
| | | @Autowired |
| | | private StockService stockService; |
| | | @Autowired |
| | | private ProductService productService; |
| | | @Autowired |
| | | private ProductLocusService productLocusService; |
| | | @Autowired |
| | | private WarnContentService warnContentService; |
| | | |
| | | /** |
| | | * @param jsonArray 接收json数组格式为:[{"id":"用户ID","rfids":"出库流向码,以逗号进行拼接","time":"出库时间","type":"1或者2;1:正常出库;2:退货出库"}] |
| | | * @return msg |
| | | */ |
| | | @ApiOperation(value = "出库",notes = "接收json数组格式为:[{\"id\":\"用户ID\",\"rfids\":\"出库流向码,以逗号进行拼接\",\"time\":\"出库时间\",\"type\":\"1或者2;1:正常出库;2:退货出库\"}]") |
| | | @PostMapping("/out") |
| | | @JsonParams |
| | | public Msg deliveryStock(@RequestBody JSONArray jsonArray){ |
| | | Msg msg = new Msg(true); |
| | | if (jsonArray.isEmpty()){ |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()+":未收到出库信息!"); |
| | | return msg; |
| | | } |
| | | |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | String userId = jsonObject.getString("id"); |
| | | String directionCodeStr = jsonObject.getString("rfids"); |
| | | String datetime = jsonObject.getString("time"); |
| | | String type = jsonObject.getString("type"); |
| | | String cert = jsonObject.getString("cert"); |
| | | Date date; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | date = dateFormat.parse(datetime); |
| | | } catch (ParseException e) { |
| | | msg.setCode(ERROR_10003.getCode()); |
| | | msg.setMessage(ERROR_10003.getMsg()+":日期类型错误!"); |
| | | return msg; |
| | | } |
| | | |
| | | if (StringUtils.isBlank(directionCodeStr)){ |
| | | msg.setCode(ERROR_10001.getCode()); |
| | | msg.setMessage(ERROR_10001.getMsg()+":流向码不能为空"); |
| | | return msg; |
| | | } |
| | | |
| | | boolean isUser = userService.checkUserById(userId); |
| | | if (!isUser){ |
| | | msg.setCode(ERROR_50001.getCode()); |
| | | msg.setMessage(ERROR_50001.getMsg()+":未找到相关用户信息,不能出库!"); |
| | | return msg; |
| | | } |
| | | UserInfo userInfo = userService.getById(userId); |
| | | |
| | | List<String> directionCodes = StringUtils.toList(directionCodeStr); |
| | | |
| | | //判断是否存在同时间同操作人出库记录 |
| | | boolean exist = deliveryOrderService.isOrderExist(datetime,userInfo); |
| | | if (exist){ |
| | | continue; |
| | | } |
| | | |
| | | //出库单创建 |
| | | DeliveryOrderInfo deliveryOrderInfo; |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | deliveryOrderInfo = deliveryOrderService.generateDeliveryOrder(type,date,userInfo,cert,auth); |
| | | List<DeliveryDetailInfo>deliveryDetailInfos = deliveryDetailService.generateDeliveryDetail(deliveryOrderInfo,userInfo,directionCodes); |
| | | |
| | | deliveryOrderService.save(deliveryOrderInfo); |
| | | deliveryDetailService.saveBatch(deliveryDetailInfos); |
| | | //扣库存 |
| | | stockService.deliveryByDetail(date,deliveryDetailInfos,userInfo); |
| | | } |
| | | return msg; |
| | | } |
| | | |
| | | @ApiOperation(value = "快速出库",response = Msg.class) |
| | | @PostMapping("/deliveryQuick") |
| | | @JsonParams |
| | | public Msg deliveryQuick(@RequestBody JSONArray jsonArray){ |
| | | Msg msg = new Msg(true); |
| | | if (jsonArray.size() > 0) |
| | | { |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | String userId = jsonObject.getString("id"); |
| | | String directionCodeFirst = jsonObject.getString("rfidfirst"); |
| | | String directionCodeLast = jsonObject.getString("rfidlast"); |
| | | String datetime = jsonObject.getString("time"); |
| | | String transport = jsonObject.getString("cert"); |
| | | //type 1.常规出库; 2.退货出库 |
| | | String type = "1"; |
| | | Date date; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | date = dateFormat.parse(datetime); |
| | | } catch (ParseException e) { |
| | | return new Msg(ERROR_10003,"出库日期类型错误"); |
| | | } |
| | | if (!(FireworkDeal.is22Characters(directionCodeFirst) && FireworkDeal.is22Characters(directionCodeLast))){ |
| | | return new Msg(ERROR_10004,"流向码首尾不符合规则,无法快速出库"); |
| | | } |
| | | boolean isUser = userService.checkUserById(userId); |
| | | if (!isUser){ |
| | | return new Msg(ERROR_50001,"未找到相关用户信息,不能出库"); |
| | | } |
| | | UserInfo userInfo = userService.getById(userId); |
| | | //判断是否存在同时间同操作人入库记录 |
| | | boolean exist = deliveryOrderService.isOrderExist(datetime,userInfo); |
| | | if (exist){ continue; } |
| | | |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | DeliveryOrderInfo orderInfo = deliveryOrderService.generateDeliveryOrder(type,date,userInfo,transport, auth); |
| | | List<DeliveryDetailInfo>detailInfos = new ArrayList<>(); |
| | | List<ProductLocusInfo>locusInfos = new ArrayList<>(); |
| | | List<ProductVo> productVos = new ArrayList<>(); |
| | | DirectionDetail detailFirst = FireworkDeal.dealDirectionCode(directionCodeFirst); |
| | | DirectionDetail detailLast = FireworkDeal.dealDirectionCode(directionCodeLast); |
| | | if (!detailFirst.getItemCode().equals(detailLast.getItemCode())){ |
| | | return new Msg(ERROR_10004,"首尾商品编码不一致,无法快速出库"); |
| | | } |
| | | if (Integer.parseInt(detailFirst.getSerialNo()) > Integer.parseInt(detailLast.getSerialNo())){ |
| | | return new Msg(ERROR_10004,"首位商品序号大于末位,无法快速出库"); |
| | | } |
| | | ProductVo productVo = productService.selectVoByDirection(directionCodeFirst); |
| | | if (productVo == null){ |
| | | return new Msg(ERROR_50001,"未找到相关产品信息,不能出库"); |
| | | } |
| | | |
| | | Integer firstNo = Integer.parseInt(detailFirst.getSerialNo()); |
| | | Integer lastNo = Integer.parseInt(detailLast.getSerialNo()); |
| | | int perBoxNum = Integer.parseInt(detailFirst.getBoxNo()); |
| | | int boxNum = ((lastNo-firstNo)/perBoxNum)+1; |
| | | int totalNum = 0; |
| | | |
| | | for (int j=1;j<= boxNum;j++){ |
| | | String dire = detailFirst.getItemCode()+detailFirst.getDateCode()+ String.format("%05d", firstNo)+String.format("%03d", perBoxNum); |
| | | DeliveryDetailInfo detailInfo = new DeliveryDetailInfo(); |
| | | detailInfo.setDeliverycode(orderInfo.getOrdercode()); |
| | | detailInfo.setDirectioncode(dire); |
| | | detailInfo.setItemcode(productVo.getItemCode()); |
| | | detailInfo.setItemname(productVo.getName()); |
| | | detailInfo.setCreateat(new Date()); |
| | | detailInfo.setCreateby(userInfo.getUsername()); |
| | | detailInfo.setNum(perBoxNum); |
| | | detailInfos.add(detailInfo); |
| | | ProductLocusInfo productLocusInfo = new ProductLocusInfo(dire,new Date(),date, userInfo.getCompany(), |
| | | null,ProductLocusInfo.DELIVERY_STATUS,productVo.getBoxNumber().toString()); |
| | | locusInfos.add(productLocusInfo); |
| | | firstNo+=perBoxNum; |
| | | totalNum += perBoxNum; |
| | | } |
| | | |
| | | FireworkDeal.getProductVos(directionCodeFirst,detailFirst,detailLast,productVos,productVo); |
| | | orderInfo.setBoxnum(totalNum); |
| | | deliveryOrderService.save(orderInfo); |
| | | deliveryDetailService.saveBatch(detailInfos); |
| | | productLocusService.insertBatch(locusInfos); |
| | | stockService.deliveryByDetail(date,detailInfos,userInfo); |
| | | } |
| | | } |
| | | return msg; |
| | | } |
| | | |
| | | /** |
| | | * 退货出库 |
| | | */ |
| | | @PostMapping("/entryReturn") |
| | | @ApiOperation(value = "退货出库", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "filter.code", type = "JSONObject", |
| | | value = " JSONObject{\"datetime\":\"时间\",\"data\":[{\"directionCode\":\"流向码\"},{\"directionCode\":\"流向码\"}]}"), |
| | | }) |
| | | @JsonParams |
| | | public Msg getProductListByCodes(@RequestBody JSONObject object) { |
| | | JSONArray jsonArray = object.getJSONArray("data"); |
| | | String datetime = object.getString("datetime"); |
| | | Date date; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | date = dateFormat.parse(datetime); |
| | | } catch (ParseException e) { |
| | | return new Msg(ERROR_10003,"日期类型错误!"); |
| | | } |
| | | //生成出库单号,类型,退货出库 |
| | | DeliveryOrderInfo deliveryOrderInfo; |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | |
| | | deliveryOrderInfo = deliveryOrderService.generateDeliveryOrder(FireworkDeal.OTHER_DELIVERY,date,userInfo, null, auth); |
| | | List<DeliveryDetailInfo>deliveryDetailInfos = new ArrayList<>(); |
| | | List<StockInfo>stockInfos = new ArrayList<>(); |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | // 遍历 jsonArray 数组,把每一个对象转成 json 对象 |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | String directionCode = jsonObject.getString("directionCode"); |
| | | DirectionDetail directionDetail = FireworkDeal.dealDirectionCode(directionCode); |
| | | ProductInfo productInfo = productService.selectByDirection(directionDetail.getItemCode()); |
| | | |
| | | // 生成出库详情,库存OWNER设置为空 |
| | | DeliveryDetailInfo deliveryDetailInfo = new DeliveryDetailInfo(); |
| | | deliveryDetailInfo.setDirectioncode(directionCode); |
| | | deliveryDetailInfo.setDeliverycode(deliveryOrderInfo.getOrdercode()); |
| | | deliveryDetailInfo.setItemcode(directionDetail.getItemCode()); |
| | | deliveryDetailInfo.setItemname(productInfo.getName()); |
| | | deliveryDetailInfo.setCreateat(new Date()); |
| | | deliveryDetailInfo.setCreateby(getUser().getUsername()); |
| | | deliveryDetailInfos.add(deliveryDetailInfo); |
| | | StockInfo stockInfo = stockService.selectStockByDirection(directionCode); |
| | | if (stockInfo == null){ |
| | | return new Msg(ERROR_50001,"库存信息未找到"); |
| | | } |
| | | stockInfo.setOwner(""); |
| | | stockInfo.setModifiedby(userInfo.getUsername()); |
| | | stockInfo.setModifieddate(date); |
| | | stockInfos.add(stockInfo); |
| | | } |
| | | |
| | | deliveryOrderService.save(deliveryOrderInfo); |
| | | deliveryDetailService.saveBatch(deliveryDetailInfos); |
| | | stockService.updateStocks(stockInfos,userInfo); |
| | | return success(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description: 出库查询 |
| | | * @date 2021/4/15 12:05 |
| | | */ |
| | | @PostMapping("/outbound-query") |
| | | @ApiOperation(value = "出库查询", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true), |
| | | @ApiImplicitParam(name = "pageSize", value = "页大小", required = true), |
| | | @ApiImplicitParam(name = "filter.province", value = "省"), |
| | | @ApiImplicitParam(name = "filter.city", value = "市"), |
| | | @ApiImplicitParam(name = "filter.district", value = "区"), |
| | | @ApiImplicitParam(name = "filter.street", value = "街道"), |
| | | @ApiImplicitParam(name = "filter.committee", value = "委员会"), |
| | | @ApiImplicitParam(name = "filter.starttime", value = "开始时间"), |
| | | @ApiImplicitParam(name = "filter.endtime", value = "结束时间"), |
| | | @ApiImplicitParam(name = "filter.transportcert", value = "运输证号码"), |
| | | @ApiImplicitParam(name = "filter.enterprisename", value = "入库企业名称"), |
| | | @ApiImplicitParam(name = "filter.safetysupervision", value = "安全监管分类"), |
| | | @ApiImplicitParam(name = "filter.code", value = "单号"), |
| | | }) |
| | | Object getOutboundInfo(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = deliveryOrderService.selectPage(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(), getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | @PostMapping("/stock/outbound-query") |
| | | @ApiOperation(value = "出库查询", httpMethod = "POST") |
| | | Object getStockOutboundInfo(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = deliveryOrderService.selectStockPage(new Page<>(pageIndex, pageSize), jsonFilter.getFilter(), getUser()); |
| | | return success(page); |
| | | } |
| | | |
| | | /** |
| | | * @Description: 出库导出 |
| | | * @date 2021/4/19 17:24 |
| | | */ |
| | | /** |
| | | * @Description: 出库查询 |
| | | * @date 2021/4/15 12:05 |
| | | */ |
| | | @PostMapping("/export/outbound") |
| | | @ApiOperation(value = "出库查询", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true), |
| | | @ApiImplicitParam(name = "pageSize", value = "页大小", required = true), |
| | | @ApiImplicitParam(name = "filter.province", value = "省"), |
| | | @ApiImplicitParam(name = "filter.city", value = "市"), |
| | | @ApiImplicitParam(name = "filter.district", value = "区"), |
| | | @ApiImplicitParam(name = "filter.street", value = "街道"), |
| | | @ApiImplicitParam(name = "filter.committee", value = "委员会"), |
| | | @ApiImplicitParam(name = "filter.starttime", value = "开始时间"), |
| | | @ApiImplicitParam(name = "filter.endtime", value = "结束时间"), |
| | | @ApiImplicitParam(name = "filter.transportcert", value = "运输证号码"), |
| | | @ApiImplicitParam(name = "filter.enterprisename", value = "入库企业名称"), |
| | | }) |
| | | Object exportOutbound(@RequestBody FilterObject jsonFilter) { |
| | | List<DeliveryOrderInfo> list = deliveryOrderService.selectExportList(jsonFilter.getFilter(), getUser()); |
| | | return success(list); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @Description: 根据{出库单号}查询出库明细 |
| | | * @date 2021/4/15 12:05 |
| | | */ |
| | | @PostMapping("/outbound-detail") |
| | | @ApiOperation(value = "出库单明细", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "pageIndex", value = "当前页码", required = true), |
| | | @ApiImplicitParam(name = "pageSize", value = "页大小", required = true), |
| | | @ApiImplicitParam(name = "filter.code", value = "入库单号code"), |
| | | }) |
| | | Object getOutboundDetail(@RequestBody FilterObject jsonFilter) { |
| | | Integer pageIndex = jsonFilter.getPageIndex(); |
| | | Integer pageSize = jsonFilter.getPageSize(); |
| | | IPage page = deliveryDetailService.selectDetailPage(new Page<>(pageIndex, pageSize), jsonFilter.getFilter()); |
| | | return success(page); |
| | | } |
| | | |
| | | /** |
| | | * @Description: 根据{出库单code}查询出库明细并导出 |
| | | * @date 2021/4/15 11:09 |
| | | */ |
| | | @GetMapping("/export/outbound-detail") |
| | | @ApiOperation(value = "出库单明细导出", httpMethod = "POST") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "code", value = "出库单号code"), |
| | | }) |
| | | Object getOutboundDetail(@RequestParam String code) { |
| | | List<Map> detailExport = deliveryDetailService.selectDetailExport(code); |
| | | return success(detailExport); |
| | | } |
| | | |
| | | @GetMapping("/cert") |
| | | @ApiOperation(value = "根据运输证查询出库明细", httpMethod = "GET") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "cert", value = "运输证号"), |
| | | }) |
| | | Msg getDeliveryDetailByCert(@RequestParam String cert){ |
| | | if (StringUtils.isBlank(cert)){ |
| | | return new Msg(ERROR_10001.getCode(),ERROR_10001.getMsg()); |
| | | } |
| | | Map<String,List>map = new HashMap<>(); |
| | | List<DeliveryOrderInfo> deliveryOrderInfos = deliveryOrderService.getDeliveryOrderByCert(cert); |
| | | if (deliveryOrderInfos == null || deliveryOrderInfos.size() == 0){ |
| | | return new Msg(ERROR_50001.getCode(),ERROR_50001.getMsg()+":没有找到对应的出库记录!"); |
| | | } |
| | | List<DeliveryDetailInfo>deliveryDetailInfoList = new ArrayList<>(); |
| | | for (DeliveryOrderInfo deliveryOrderInfo : deliveryOrderInfos){ |
| | | List<DeliveryDetailInfo>deliveryDetailInfos = deliveryDetailService.getDetailByCode(deliveryOrderInfo.getOrdercode()); |
| | | deliveryDetailInfoList.addAll(deliveryDetailInfos); |
| | | } |
| | | List<ProductVo>productVos = deliveryOrderService.getProductVosByCert(cert); |
| | | map.put("detail",deliveryDetailInfoList); |
| | | map.put("product",productVos); |
| | | |
| | | return success(map); |
| | | } |
| | | |
| | | @ApiOperation(value = "批量退库") |
| | | @PostMapping("/returnBatch") |
| | | @JsonParams |
| | | public List<Msg> returnBatch(@RequestBody JSONArray array) { |
| | | List<Msg>msgList = new ArrayList<>(); |
| | | if (array.size() < 1) { |
| | | return null; |
| | | } |
| | | for (int j = 0; j < array.size(); j++) { |
| | | // 遍历 jsonArray 数组,把每一个对象转成 json 对象 |
| | | JSONObject object = array.getJSONObject(j); |
| | | JSONArray jsonArray = object.getJSONArray("data"); |
| | | String datetime = object.getString("datetime"); |
| | | Date date; |
| | | DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | try { |
| | | date = dateFormat.parse(datetime); |
| | | } catch (ParseException e) { |
| | | msgList.add(new Msg(ERROR_10003, "日期类型错误!")); |
| | | continue; |
| | | } |
| | | //生成出库单号,类型,退货出库 |
| | | DeliveryOrderInfo deliveryOrderInfo; |
| | | UserInfo userInfo = userService.getById(getUser().getId()); |
| | | String auth = getAuth(); |
| | | auth = StringUtils.isBlank(auth) ? "NOAUTH" : auth; |
| | | |
| | | deliveryOrderInfo = deliveryOrderService.generateDeliveryOrder(FireworkDeal.OTHER_DELIVERY, date, userInfo, null, auth); |
| | | List<DeliveryDetailInfo> deliveryDetailInfos = new ArrayList<>(); |
| | | List<StockInfo> stockInfos = new ArrayList<>(); |
| | | StringBuilder stringBuilder = new StringBuilder(); |
| | | boolean flag = false; |
| | | for (int i = 0; i < jsonArray.size(); i++) { |
| | | // 遍历 jsonArray 数组,把每一个对象转成 json 对象 |
| | | JSONObject jsonObject = jsonArray.getJSONObject(i); |
| | | String directionCode = jsonObject.getString("directionCode"); |
| | | DirectionDetail directionDetail = FireworkDeal.dealDirectionCode(directionCode); |
| | | ProductInfo productInfo = productService.selectByDirection(directionDetail.getItemCode()); |
| | | |
| | | // 生成出库详情,库存OWNER设置为空 |
| | | DeliveryDetailInfo deliveryDetailInfo = new DeliveryDetailInfo(); |
| | | deliveryDetailInfo.setDirectioncode(directionCode); |
| | | deliveryDetailInfo.setDeliverycode(deliveryOrderInfo.getOrdercode()); |
| | | deliveryDetailInfo.setItemcode(directionDetail.getItemCode()); |
| | | deliveryDetailInfo.setItemname(productInfo.getName()); |
| | | deliveryDetailInfo.setCreateat(new Date()); |
| | | deliveryDetailInfo.setCreateby(getUser().getUsername()); |
| | | deliveryDetailInfos.add(deliveryDetailInfo); |
| | | StockInfo stockInfo = stockService.selectStockByDirection(directionCode); |
| | | if (stockInfo == null) { |
| | | stringBuilder.append(directionCode).append("库存信息未找到"); |
| | | flag = true; |
| | | continue; |
| | | } |
| | | stockInfo.setOwner(""); |
| | | stockInfos.add(stockInfo); |
| | | } |
| | | if (flag){ |
| | | msgList.add(new Msg(ERROR_50001,stringBuilder.toString())); |
| | | continue; |
| | | } |
| | | |
| | | deliveryOrderService.save(deliveryOrderInfo); |
| | | deliveryDetailService.saveBatch(deliveryDetailInfos); |
| | | stockService.updateStocks(stockInfos, getUser()); |
| | | msgList.add(new Msg(SUCCESS)); |
| | | } |
| | | return msgList; |
| | | } |
| | | |
| | | } |