guoyuji
2024-09-24 2f9b500fb9f81fb4d74d7156097f72bae7f6b0cb
north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -10,12 +10,14 @@
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
import com.example.erp.mapper.mm.FinishedOperateLogMapper;
import com.example.erp.mapper.sd.OrderDetailMapper;
import com.example.erp.mapper.sd.OrderMapper;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -44,6 +46,8 @@
    OrderMapper orderMapper;
    @Autowired
    SysErrorService sysErrorService;
    @Autowired
    LogService logService;
    public Map<String, Object> defaultDateFinishedGoodsInventory(Integer pageNum, Integer pageSize, FinishedGoodsInventory finishedGoodsInventory) {
        Integer offset = (pageNum - 1) * pageSize;
@@ -88,6 +92,12 @@
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            log.setFunction("addSelectWarehousing入库");
            logService.saveLog(log);
            //获取对象集合循环进行新增修改
            List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
@@ -176,6 +186,12 @@
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            log.setFunction("addDeliveryDetail出库");
            logService.saveLog(log);
            //获取对象集合循环进行新增修改
            List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
            if (!orderDetaillist.isEmpty()){
@@ -267,6 +283,12 @@
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            log.setFunction("updateFinishedGoodsInventoryAllocate调拨");
            logService.saveLog(log);
            //获取对象集合循环进行新增修改
            List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
            if (!orderDetaillist.isEmpty()){
@@ -361,6 +383,12 @@
            if (object.get("operateType") != null) {
                operateType = object.get("operateType").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            log.setFunction("updateFinishedGoodsInventoryTakeOut领出");
            logService.saveLog(log);
            //获取对象集合循环进行新增修改
            List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
            if (!orderDetaillist.isEmpty()){
@@ -494,6 +522,10 @@
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            //获取对象集合循环进行新增修改
            List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
            if (!finishedOperateLogslist.isEmpty()){
@@ -503,15 +535,18 @@
                        finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"已审核");
                        //审核修改库存数量
                        finishedGoodsInventoryMapper.updateInventoryInventoryOut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
                        log.setFunction("updateFinishedGoodsInventoryToExamine审核");
                    } else if (Objects.equals(type, "反审")) {
                        //审核修改领出记录
                        finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"未审核");
                        //审核修改库存数量
                        finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
                        log.setFunction("updateFinishedGoodsInventoryToExamine反审");
                    }
                }
            }
            logService.saveLog(log);
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -540,6 +575,12 @@
            if (object.get("userId") != null) {
                userId = object.get("userId").toString();
            }
            Log log = new Log();
            log.setOperator(userName);
            log.setOperatorId(userId);
            log.setContent(object.toString());
            log.setFunction("cancelFinishedGoodsInventoryToExamine作废");
            logService.saveLog(log);
            //获取对象集合循环进行新增修改
            List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
            if (!finishedOperateLogslist.isEmpty()){
@@ -618,7 +659,8 @@
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        try {
            Log log = new Log();
            log.setContent(object.toString());
            //获取对象集合循环进行新增修改
            List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
            if (!finishedOperateLogslist.isEmpty()){
@@ -649,6 +691,7 @@
                            //修改订单表入库状态
                            finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
                        }
                        log.setFunction("cancelFinishedGoodsInventoryStorage入库");
                    }else if(Objects.equals(finishedOperateLog.getOperateType(), "出库")){
                        //修改记录表
@@ -673,11 +716,13 @@
                            //修改发货表状态
                            finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
                        }
                        log.setFunction("cancelFinishedGoodsInventoryStorage出库");
                    }
                }
            }
            logService.saveLog(log);
        } catch (Exception e) {
            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -701,6 +746,11 @@
    public Boolean oneClickStorage(String  orderId,String  userName) {
        boolean saveState = true;
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
        Log log = new Log();
        log.setContent(orderId);
        log.setOperator(userName);
        log.setFunction("oneClickStorage入库:"+orderId);
        logService.saveLog(log);
        try {
            String oddNumber= orderNumberSetting("入库");
            Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",orderId));