廖井涛
2024-08-06 31b9b4cb19fab4f478ff8762ce5742fa1736b1cb
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.entity.mm.*;
import com.example.erp.entity.pp.FlowCard;
import com.example.erp.entity.pp.OptimizeUse;
import com.example.erp.entity.sd.Delivery;
import com.example.erp.entity.sd.DeliveryDetail;
@@ -557,6 +558,81 @@
        return map;
    }
    public Map<String, Object> getSelectSurplusMaterialsDate(Integer pageNum, Integer pageSize, List<String> selectDate, SurplusMaterials surplusMaterials) {
        Integer offset = (pageNum - 1) * pageSize;
        String endDate = LocalDate.now().toString();
        String startDate = LocalDate.now().minusDays(15).toString();
        if(selectDate !=null && selectDate.size()==2){
            if(!selectDate.get(0).isEmpty()){
                startDate = selectDate.get(0);
            }
            if(!selectDate.get(1).isEmpty()){
                endDate = selectDate.get(1);
            }
        }
        Map<String, Object> map = new HashMap<>();
        map.put("data", materialInventoryMapper.getSelectSurplusMaterialsDate(offset, pageSize,startDate, endDate, surplusMaterials));
        map.put("total", materialInventoryMapper.getSelectSurplusMaterialsDatePageTotal(offset, pageSize,startDate, endDate, surplusMaterials));
        List<String> list = new ArrayList<>();
        list.add(startDate);
        list.add(endDate);
        map.put("selectDate",list);
        return map;
    }
    public Boolean addSelectSurplusMaterialsDate(Map<String,Object> object) {
        boolean saveState = true;
        //设置回滚点
        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
            String creator = "";
            if (object.get("creator") != null) {
                creator = object.get("creator").toString();
            }
            String type = "";
            if (object.get("type") != null) {
                type = object.get("type").toString();
            }
            int state = 0;
            if (object.get("state") != null) {
                state = Integer.parseInt(object.get("state").toString());
            }
            if(state==1){
                SurplusMaterials surplusMaterials = JSONObject.parseObject(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class);
                if(surplusMaterials!=null){
                    SurplusMaterials surplusMaterials1=materialInventoryMapper.selectSurplusMaterialsCount(surplusMaterials);
                    if(surplusMaterials1!=null){
                        System.out.println(surplusMaterials1);
                        materialInventoryMapper.updateSurplusMaterialsIntQuantity(surplusMaterials1);
                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials1,creator,type);
                    }else{
                        materialInventoryMapper.insertSurplusMaterials(surplusMaterials);
                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type);
                    }
                }
            } else if (state==2) {
                List<SurplusMaterials> surplusMaterialsList = JSONArray.parseArray(JSONObject.toJSONString(object.get("surplusMaterials")), SurplusMaterials.class);
                if(!surplusMaterialsList.isEmpty()){
                    for(SurplusMaterials surplusMaterials:surplusMaterialsList){
                        materialInventoryMapper.updateSurplusMaterialsOutQuantity(surplusMaterials);
                        materialInventoryMapper.insertSurplusMaterialsLog(surplusMaterials,creator,type);
                    }
                }
            }
        return saveState;
    }
    public String orderNumberSetting(String type) {